video: Some interlace stream will stuck when pts rebound [1/1]
authorLifeng Cao <lifeng.cao@amlogic.com>
Wed, 29 May 2019 08:03:04 +0000 (16:03 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Mon, 3 Jun 2019 11:00:11 +0000 (04:00 -0700)
PD#TV-6236

Problem:
Some interlace stream di has buffer count more than 16
If video pts rebound in this stream. The condition that
(abs(omx_pts_set_index - next_vf->omx_index) <= 16) is
not true. So this frame can not toggle always.

Solution:
Delete this condition that
(abs(omx_pts_set_index - next_vf->omx_index) <= 16)

Verify:
verify TL1

Change-Id: I7e8c12ec72d086b0516f7c7490b492e16e36e8fe
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>
drivers/amlogic/media/video_sink/video.c

index c79b062..e446691 100644 (file)
@@ -5504,7 +5504,6 @@ static inline bool vpts_expire(struct vframe_s *cur_vf,
        } else if (omx_run
                        && omx_secret_mode
                        && (omx_pts + omx_pts_interval_upper < next_vf->pts)
-                       && (abs(omx_pts_set_index - next_vf->omx_index) <= 16)
                        && (omx_pts_set_index >= next_vf->omx_index)) {
                pr_info("omx, omx_pts=%d omx_pts_set_index=%d pts=%d omx_index=%d\n",
                                        omx_pts,