deinterlace: add patch for global motion information [1/2]
authorWenfeng Guo <wenfeng.guo@amlogic.com>
Mon, 21 Oct 2019 09:21:33 +0000 (17:21 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Tue, 29 Oct 2019 02:05:36 +0000 (19:05 -0700)
PD#SWPL-7814

Problem:
VPP need di given global motion information

Solution:
add global motion information

Verify:
tl1

Change-Id: I6e522902a1d27b71db8c283b28ede6f684912fe0
Signed-off-by: Wenfeng Guo <wenfeng.guo@amlogic.com>
drivers/amlogic/media/deinterlace/deinterlace.c
include/linux/amlogic/media/vfm/vframe.h

index cccdde234c869dd7d73988693931a35a7194ac41..df8d6978815d6fb5eee78e9067b679a745aa8850 100644 (file)
@@ -3580,8 +3580,10 @@ static void pre_de_done_buf_config(void)
                        di_pre_stru.di_post_wr_buf = di_pre_stru.di_wr_buf;
                post_wr_buf = di_pre_stru.di_post_wr_buf;
 
-               if (post_wr_buf)
+               if (post_wr_buf) {
                        post_wr_buf->vframe->di_pulldown = 0;
+                       post_wr_buf->vframe->di_gmv = 0;
+               }
 
                if (post_wr_buf && !di_pre_stru.cur_prog_flag) {
                        read_pulldown_info(&glb_frame_mot_num,
@@ -3596,6 +3598,7 @@ static void pre_de_done_buf_config(void)
 
                        }
                        post_wr_buf->vframe->di_pulldown |= 0x08;
+                       post_wr_buf->vframe->di_gmv = glb_frame_mot_num;
                        if (di_pre_stru.combing_fix_en)
                                cur_lev = adaptive_combing_fixing(
                                di_pre_stru.mtn_status,
index 0272f73be7074beb5a101d82a8cca045afefb2a5..755983100137a6fa183b3a19a713b3a0015b6745 100644 (file)
@@ -435,6 +435,7 @@ struct vframe_s {
         * bit 0: flm32
         *****************/
        u32 di_pulldown;
+       u32 di_gmv;
 } /*vframe_t */;
 
 #if 0