[FFmpeg-cvslog] avcodec/h263dec: Workaround H263 end padding bug
Michael Niedermayer
git at videolan.org
Tue Mar 4 03:01:14 CET 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Mar 4 02:47:12 2014 +0100| [ec6d043f8e5842389b58e0a62cf952b14a5a16fc] | committer: Michael Niedermayer
avcodec/h263dec: Workaround H263 end padding bug
Fixes: H263PaddingBugFixVID_6647.MOV
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ec6d043f8e5842389b58e0a62cf952b14a5a16fc
---
libavcodec/h263dec.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 6324e9b..8fb3d38 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -319,6 +319,17 @@ static int decode_slice(MpegEncContext *s)
}
}
+ if (s->codec_id == AV_CODEC_ID_H263 &&
+ (s->workaround_bugs & FF_BUG_AUTODETECT) &&
+ get_bits_left(&s->gb) >= 8 &&
+ get_bits_left(&s->gb) < 300 &&
+ s->pict_type == AV_PICTURE_TYPE_I &&
+ show_bits(&s->gb, 8) == 0 &&
+ !s->data_partitioning) {
+
+ s->padding_bug_score += 32;
+ }
+
if (s->workaround_bugs & FF_BUG_AUTODETECT) {
if (s->padding_bug_score > -2 && !s->data_partitioning)
s->workaround_bugs |= FF_BUG_NO_PADDING;
More information about the ffmpeg-cvslog
mailing list