summaryrefslogtreecommitdiff
authorPeng yixin <yixin.peng@amlogic.com>2020-04-22 11:36:25 (GMT)
committer Shen Liu <shen.liu@amlogic.com>2020-04-29 11:42:10 (GMT)
commitb251a63337aebfc230afca252ff7c1a3b6aa60dc (patch)
treec5e12ecc8364f4fcbc8249fceabca2692171d571
parent9f2f2203e6319eff87ebcf562092af94905f4188 (diff)
downloadmedia_modules-b251a63337aebfc230afca252ff7c1a3b6aa60dc.zip
media_modules-b251a63337aebfc230afca252ff7c1a3b6aa60dc.tar.gz
media_modules-b251a63337aebfc230afca252ff7c1a3b6aa60dc.tar.bz2
media_module: h264 random appears playback jitter [1/1]
PD#SWPL-24469 Problem: h264 random appears playback jitter Solution: 1. Decode the value of pic_struct not assigned correctly in the first frame. 2. Solve the problem of top bottom inversion issue. Verify: U212 Change-Id: I576046f9f9813d392f83b4cf78b98e9cef224d68 Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
Diffstat
-rw-r--r--drivers/frame_provider/decoder/h264_multi/vmh264.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/frame_provider/decoder/h264_multi/vmh264.c b/drivers/frame_provider/decoder/h264_multi/vmh264.c
index 1ee2e21..74b543a 100644
--- a/drivers/frame_provider/decoder/h264_multi/vmh264.c
+++ b/drivers/frame_provider/decoder/h264_multi/vmh264.c
@@ -2551,7 +2551,8 @@ int prepare_display_buf(struct vdec_s *vdec, struct FrameStore *frame)
if (frame->frame != NULL &&
(frame->frame->pic_struct == PIC_TOP_BOT ||
- frame->frame->pic_struct == PIC_BOT_TOP)) {
+ frame->frame->pic_struct == PIC_BOT_TOP) &&
+ frame->frame->coded_frame) {
if (frame->frame != NULL && frame->frame->pic_struct == PIC_TOP_BOT) {
vf->type |= (i == 0 ?
VIDTYPE_INTERLACE_TOP :
@@ -4578,6 +4579,7 @@ static int parse_one_sei_record(struct vdec_h264_hw_s *hw,
__func__, payload_type);
return read_size;
}
+ p_H264_Dpb->vui_status = p_H264_Dpb->dpb_param.l.data[VUI_STATUS];
switch (payload_type) {
case SEI_BUFFERING_PERIOD:
break;