avcodec/h263dec: Fix decoding messenger.h263
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 3 Oct 2014 10:32:21 +0000 (12:32 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 3 Oct 2014 11:10:08 +0000 (13:10 +0200)
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@gmx.at>
(cherry picked from commit d225b0f7aaa65eafccc87165130e1c4bab71708b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h263dec.c

index 31ec642..7680858 100644 (file)
@@ -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;