diff options
-rw-r--r-- | libavcodec/h263.c | 8 | ||||
-rw-r--r-- | libavcodec/h263dec.c | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c index c7dc98e..bbb40a4 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -6065,7 +6065,7 @@ int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb) if(s->codec_tag == ff_get_fourcc("WV1F") && show_bits(gb, 24) == 0x575630){ skip_bits(gb, 24); if(get_bits(gb, 8) == 0xF0) - return decode_vop_header(s, gb); + goto end; } startcode = 0xff; @@ -6128,12 +6128,16 @@ int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb) mpeg4_decode_gop_header(s, gb); } else if(startcode == VOP_STARTCODE){ - return decode_vop_header(s, gb); + break; } align_get_bits(gb); startcode = 0xff; } +end: + if(s->flags& CODEC_FLAG_LOW_DELAY) + s->low_delay=1; + return decode_vop_header(s, gb); } /* don't understand why they choose a different header ! */ diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 141d153..ae318b5 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -402,9 +402,6 @@ retry: ret = ff_mpeg4_decode_picture_header(s, &gb); } ret = ff_mpeg4_decode_picture_header(s, &s->gb); - - if(s->flags& CODEC_FLAG_LOW_DELAY) - s->low_delay=1; } else if (s->codec_id == CODEC_ID_H263I) { ret = intel_h263_decode_picture_header(s); } else if (s->h263_flv) { |