summaryrefslogtreecommitdiff
authorPeng yixin <yixin.peng@amlogic.com>2020-04-22 11:36:25 (GMT)
committer Hui Zhang <hui.zhang@amlogic.com>2020-04-27 02:04:18 (GMT)
commit8fd57504b989a1f932c8c80289c81aeb64773b2e (patch)
treedd8ff49d7e6feab19240c28b55469e7ce7533b2d
parent846751b50e0cb2b5e1ad95b6e0b5985bafed745b (diff)
downloadmedia_modules-8fd57504b989a1f932c8c80289c81aeb64773b2e.zip
media_modules-8fd57504b989a1f932c8c80289c81aeb64773b2e.tar.gz
media_modules-8fd57504b989a1f932c8c80289c81aeb64773b2e.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 24771ac..ac9dc64 100644
--- a/drivers/frame_provider/decoder/h264_multi/vmh264.c
+++ b/drivers/frame_provider/decoder/h264_multi/vmh264.c
@@ -2888,7 +2888,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 :
@@ -5492,6 +5493,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;