From ca322d7a1b1361568e9fbbc9a8d01ebfee4ec418 Mon Sep 17 00:00:00 2001 From: Yong Qin Date: Wed, 13 Mar 2019 20:12:58 +0800 Subject: [PATCH] di: 1080p,the screen display anormal [1/1] PD#SWPL-5874 Problem: 1080p the screen display anormal Solution: compress mode, modify vdin frame type. Verify: tl1 Change-Id: Ic1ee1472105861c8debce2a1645f70ed617fd132 Signed-off-by: Yong Qin --- drivers/amlogic/media/deinterlace/deinterlace.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/amlogic/media/deinterlace/deinterlace.c b/drivers/amlogic/media/deinterlace/deinterlace.c index 19dcdb48b3b0..8edd0675f1f4 100644 --- a/drivers/amlogic/media/deinterlace/deinterlace.c +++ b/drivers/amlogic/media/deinterlace/deinterlace.c @@ -129,7 +129,7 @@ static di_dev_t *de_devp; static dev_t di_devno; static struct class *di_clsp; -static const char version_s[] = "2019-03-05a"; +static const char version_s[] = "2019-03-13b"; static int bypass_state = 1; static int bypass_all; @@ -3531,10 +3531,15 @@ static unsigned char pre_de_buf_config(void) return 0; /*for support compress from dec*/ - if (IS_COMP_MODE(vframe->type) && - (!is_from_vdin(vframe))) { - vframe->width = vframe->compWidth; - vframe->height = vframe->compHeight; + if (IS_COMP_MODE(vframe->type)) { + if (IS_VDIN_SRC(vframe->source_type) + && IS_I_SRC(vframe->type)) { + vframe->width = vframe->compWidth; + vframe->height = vframe->compHeight*2; + } else { + vframe->width = vframe->compWidth; + vframe->height = vframe->compHeight; + } } di_print("DI: get %dth vf[0x%p] from frontend %u ms.\n", @@ -3970,7 +3975,7 @@ jiffies_to_msecs(jiffies_64 - vframe->ready_jiffies64)); di_buf->di_wr_linked_buf->index); #endif - /*for support compress from dec*/ + /*for support compress from dec, not from vdin*/ if (IS_COMP_MODE(di_pre_stru.cur_inp_type) && (!(di_pre_stru.cur_inp_type & VIDTYPE_VIU_422))) { /*compress type and not from vdin*/