dv: last frame display wrong [1/1]
authoryao liu <yao.liu@amlogic.com>
Sat, 12 Oct 2019 06:02:25 +0000 (14:02 +0800)
committerTao Zeng <tao.zeng@amlogic.com>
Mon, 14 Oct 2019 01:28:09 +0000 (18:28 -0700)
PD#SWPL-14994

Problem:
when decoder released earlier than video layer
closed, new_dovi_setting.video_width is set to
0 and dovi_setting_video_flag is set to flase,
which leads to dv core1 closed.

Solution:
Since new_dovi_setting.video_width is update
every frame at parse_metadata, there is no need
to clear new_dovi_setting.video_width at reg/unreg

Verify:
SM1

Change-Id: Icf1b90340263cf0df1987d8b85d591a98276fd57
Signed-off-by: yao liu <yao.liu@amlogic.com>
drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c

index c922e23..03148da 100644 (file)
@@ -3878,8 +3878,6 @@ static int dvel_receiver_event_fun(int type, void *data, void *arg)
                /*      p_funcs->metadata_parser_release();*/
                /*      metadata_parser = NULL;*/
                /*} */
-               new_dovi_setting.video_width =
-               new_dovi_setting.video_height = 0;
                spin_unlock_irqrestore(&dovi_lock, flags);
                memset(&hdr10_data, 0, sizeof(hdr10_data));
                memset(&hdr10_param, 0, sizeof(hdr10_param));
@@ -3897,8 +3895,6 @@ static int dvel_receiver_event_fun(int type, void *data, void *arg)
                spin_lock_irqsave(&dovi_lock, flags);
                for (i = 0; i < 16; i++)
                        dv_vf[i][0] = dv_vf[i][1] = NULL;
-               new_dovi_setting.video_width =
-               new_dovi_setting.video_height = 0;
                spin_unlock_irqrestore(&dovi_lock, flags);
                memset(&hdr10_data, 0, sizeof(hdr10_data));
                memset(&hdr10_param, 0, sizeof(hdr10_param));