Revert: fix the display problem with some non-standard dv streams. [1/2]
authorGan Zhang <gan.zhang@amlogic.com>
Mon, 23 Nov 2020 06:34:51 +0000 (22:34 -0800)
committerGan Zhang <gan.zhang@amlogic.com>
Mon, 23 Nov 2020 06:51:53 +0000 (22:51 -0800)
PD#SWPL-36900

Problem:
For non-standardized dv streams, dv effect is displayed because meta
data is parsed.

Solution:
For non-standardized dv streams, discard_dv_data flag is passed to
the dv module.
This reverts commit cbd6d015ab93f3e6c87b7d4e8a0ce0f15dd7ee8b.
Revert the reason:Since kernel submission has not been merged,
compiling on Q will cause problems.

Verify:
AH212

Change-Id: I4b026cd8c8b8862135326af7e77683dc127f7bbd
Signed-off-by: gan.zhang <gan.zhang@amlogic.com>
drivers/frame_provider/decoder/h264_multi/vmh264.c
drivers/frame_provider/decoder/h265/vh265.c

index 24de3c73c1ef8da15e9096602a000f293fba1014..38e8c4eaa3f5c5b2351369f197b9a1fb86353bf8 100644 (file)
@@ -920,7 +920,6 @@ struct vdec_h264_hw_s {
        int loop_last_poc;
        bool enable_fence;
        int fence_usage;
-       bool discard_dv_data;
 };
 
 static u32 again_threshold;
@@ -2980,9 +2979,6 @@ static int post_video_frame(struct vdec_s *vdec, struct FrameStore *frame)
 
                }
                set_frame_info(hw, vf, buffer_index);
-               if (hw->discard_dv_data) {
-                       vf->discard_dv_data = true;
-               }
 
                if (hw->mmu_enable && hw->double_write_mode) {
                        vf->width = hw->frame_width /
@@ -9958,13 +9954,6 @@ static int ammvdec_h264_probe(struct platform_device *pdev)
                        "parm_fence_usage",
                        &config_val) == 0)
                        hw->fence_usage = config_val;
-
-               if (get_config_int(pdata->config,
-                       "negative_dv",
-                       &config_val) == 0) {
-                       hw->discard_dv_data = config_val;
-                       dpb_print(DECODE_ID(hw), 0, "discard dv data\n");
-               }
        } else
                hw->double_write_mode = double_write_mode;
 
index 9c2e4c8dd8535abf6d83ff352a70fee14f68be90..df572ff893a0c994d905cf64c314255a70a79659 100644 (file)
@@ -1814,7 +1814,6 @@ struct hevc_state_s {
        u32 poc_error_count;
        u32 timeout_flag;
        ulong timeout;
-       bool discard_dv_data;
 } /*hevc_stru_t */;
 
 #ifdef AGAIN_HAS_THRESHOLD
@@ -9389,10 +9388,6 @@ static int prepare_display_buf(struct hevc_state_s *hevc, struct PIC_s *pic)
                vf->canvas0Addr = vf->canvas1Addr = spec2canvas(pic);
 #endif
                set_frame_info(hevc, vf, pic);
-               if (hevc->discard_dv_data) {
-                       vf->discard_dv_data = true;
-               }
-
                /* if((vf->width!=pic->width)||(vf->height!=pic->height)) */
                /* hevc_print(hevc, 0,
                        "aaa: %d/%d, %d/%d\n",
@@ -14054,12 +14049,6 @@ static int ammvdec_h265_probe(struct platform_device *pdev)
                        hevc->dv_duallayer = config_val;
                else
                        hevc->dv_duallayer = false;
-
-               if (get_config_int(pdata->config, "negative_dv",
-                       &config_val) == 0) {
-                       hevc->discard_dv_data = config_val;
-                       hevc_print(hevc, 0, "discard dv data\n");
-               }
 #endif
        } else {
                if (pdata->sys_info)