video: hold frame for non-tunnel mode [1/1]
authorshuanglong.wang <shuanglong.wang@amlogic.com>
Fri, 22 Mar 2019 02:36:38 +0000 (10:36 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Mon, 1 Apr 2019 12:16:04 +0000 (05:16 -0700)
commitcc688651c39a11082c133820476cdff4029508d3
tree3d1015611518b25f9a610385764dad3742644cfc
parent21cf6aea228dab0667e61ec78d64bf9b7fcfc114
video: hold frame for non-tunnel mode [1/1]

PD#SWPL-6179

Problem:
PLAY-AL1-30FPS-HEAAC exist multi short frame every 16.6s

Solution:
Hold one frame in case occur pattern broken. Problem occur as this,
for non-tunnel mode, amlvideo vidioc_dqbuf  in omx so fast, then lead
decoder buffer quickly pushed to amlvideo queue with only current frame,
without next frame. Hold one frame we need next frame and next frame pts
after next frame, here we use next frame pts and a crease with duraion
as next next frame pts.

Verify:
verify by u212

Change-Id: Ie98c30791e785abb886aa19a7e930d191f5c2b3e
Signed-off-by: shuanglong.wang <shuanglong.wang@amlogic.com>
drivers/amlogic/media/video_sink/video.c