From 572b617418ffd42bbcf32b0ecc3bf7d8fe1ca86f Mon Sep 17 00:00:00 2001 From: MingLiang Dong Date: Wed, 10 Oct 2018 23:20:17 -0400 Subject: [PATCH] amvecm: overscan: fix video local play, screen mode set error [1/1] PD#SWPL-206 Problem: overscan set error when local play Solution: overscan don't set at vpp Verify: verify on txlx Change-Id: Ifd4ad4f5fcdb9fbc7ad05a540d0ed11b24d4ca66 Signed-off-by: MingLiang Dong --- drivers/amlogic/media/enhancement/amvecm/amve.c | 10 +++++++--- drivers/amlogic/media/video_sink/vpp.c | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/amlogic/media/enhancement/amvecm/amve.c b/drivers/amlogic/media/enhancement/amvecm/amve.c index 52c0f6a..b8f91ef 100644 --- a/drivers/amlogic/media/enhancement/amvecm/amve.c +++ b/drivers/amlogic/media/enhancement/amvecm/amve.c @@ -1464,15 +1464,19 @@ void amvecm_fresh_overscan(struct vframe_s *vf) else cur_overscan_timing = TIMING_UHD; - overscan_timing = cur_overscan_timing; overscan_screen_mode = overscan_table[overscan_timing].screen_mode; vf->pic_mode.AFD_enable = overscan_table[overscan_timing].afd_enable; - vf->pic_mode.screen_mode = - overscan_table[overscan_timing].screen_mode; + /*local play screen mode set by decoder*/ + if (overscan_table[0].source == SOURCE_MPEG) + vf->pic_mode.screen_mode = 0xff; + else + vf->pic_mode.screen_mode = + overscan_table[overscan_timing].screen_mode; + vf->pic_mode.hs = overscan_table[overscan_timing].hs; vf->pic_mode.he = overscan_table[overscan_timing].he; vf->pic_mode.vs = overscan_table[overscan_timing].vs; diff --git a/drivers/amlogic/media/video_sink/vpp.c b/drivers/amlogic/media/video_sink/vpp.c index fcb4318..b663469 100644 --- a/drivers/amlogic/media/video_sink/vpp.c +++ b/drivers/amlogic/media/video_sink/vpp.c @@ -2436,7 +2436,8 @@ vpp_set_filters(u32 process_3d_type, u32 wide_mode, if ((vf->ratio_control & DISP_RATIO_ADAPTED_PICMODE) && !disable_adapted) { - wide_mode = vf->pic_mode.screen_mode; + if (vf->pic_mode.screen_mode != 0xff) + wide_mode = vf->pic_mode.screen_mode; if (vf->pic_mode.provider == PIC_MODE_PROVIDER_WSS) { /* from wss, need add global setting */ video_source_crop_top += vf->pic_mode.vs; -- 2.7.4