Merge commit 'b81dbd6cb7522bea96d78a52f8a4c25a47b820c9'

* commit 'b81dbd6cb7522bea96d78a52f8a4c25a47b820c9':
  h264_parser: Fix POC parsing for the case where MMCO_RESET is absent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/39/head
Michael Niedermayer 11 years ago
commit 91248f081f
  1. 14
      libavcodec/h264_parser.c

@ -180,8 +180,8 @@ static inline int parse_nal_units(AVCodecParserContext *s,
case NAL_SLICE:
case NAL_IDR_SLICE:
// Do not walk the whole buffer just to decode slice header
if (src_length > 20)
src_length = 20;
if (src_length > 60)
src_length = 60;
break;
}
ptr = ff_h264_decode_nal(h, buf, &dst_length, &consumed, src_length);
@ -267,8 +267,18 @@ static inline int parse_nal_units(AVCodecParserContext *s,
h->delta_poc[1] = get_se_golomb(&h->gb);
}
/* Decode POC of this picture. */
field_poc[0] = field_poc[1] = INT_MAX;
ff_init_poc(h, field_poc, &s->output_picture_number);
/* Set up the prev_ values for decoding POC of the next picture. */
h->prev_frame_num = h->frame_num;
h->prev_frame_num_offset = h->frame_num_offset;
if (h->nal_ref_idc != 0) {
h->prev_poc_msb = h->poc_msb;
h->prev_poc_lsb = h->poc_lsb;
}
if (h->sps.pic_struct_present_flag) {
switch (h->sei_pic_struct) {
case SEI_PIC_STRUCT_TOP_FIELD:

Loading…
Cancel
Save