From 030872bf3c88d761ca0b6f1a828e7651beb138c1 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 028fd8a..fffd4fd 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; @@ -3526,10 +3526,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", @@ -3965,7 +3970,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*/ -- 2.7.4