[FFmpeg-cvslog] avcodec/h263dec: Fix decoding messenger.h263

Michael Niedermayer git at videolan.org
Wed Oct 22 02:25:18 CEST 2014


ffmpeg | branch: release/2.3 | Michael Niedermayer <michaelni at gmx.at> | Fri Oct  3 12:32:21 2014 +0200| [b5ef1eee4527d563f081d4dedd0290ab41f9e6bf] | committer: Michael Niedermayer

avcodec/h263dec: Fix decoding messenger.h263

Fixes http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263
Fixes regression since b239f3f6

Found-by: Josh Allmann
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit d225b0f7aaa65eafccc87165130e1c4bab71708b)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b5ef1eee4527d563f081d4dedd0290ab41f9e6bf
---

 libavcodec/h263dec.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 31ec642..7680858 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -336,6 +336,14 @@ static int decode_slice(MpegEncContext *s)
         s->padding_bug_score += 32;
     }
 
+    if (s->codec_id == AV_CODEC_ID_H263          &&
+        (s->workaround_bugs & FF_BUG_AUTODETECT) &&
+        get_bits_left(&s->gb) >= 64              &&
+        AV_RB64(s->gb.buffer_end - 8) == 0xCDCDCDCDFC7F0000) {
+
+        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