diff --git a/drivers/amlogic/media/enhancement/amvecm/amve.c b/drivers/amlogic/media/enhancement/amvecm/amve.c index 52c0f6aa4b4a..b8f91ef6b1f0 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 fcb43181198b..b663469a5593 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;