OSDN Git Service

avcodec/h263dec: Workaround H263 end padding bug
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 4 Mar 2014 01:47:12 +0000 (02:47 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 4 Mar 2014 01:47:12 +0000 (02:47 +0100)
Fixes: H263PaddingBugFixVID_6647.MOV

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

index 6324e9b..8fb3d38 100644 (file)
@@ -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;