dv: last frame display wrong [1/1]
authoryao liu <yao.liu@amlogic.com>
Sat, 12 Oct 2019 06:02:25 +0000 (14:02 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Wed, 16 Oct 2019 02:57:37 +0000 (19:57 -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 93ebe6dc2a7039557bdbba6192e2ed5773f8d559..c0db232ae846fcd7485074cdc285f93f4449aba4 100644 (file)
@@ -3877,8 +3877,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));
@@ -3896,8 +3894,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));