pictordec: decode 1bpp / 4bpp images when extra header marker is missing
authorPiotr Bandurski <ami_stuff@o2.pl>
Mon, 29 Oct 2012 17:43:42 +0000 (18:43 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Oct 2012 20:32:03 +0000 (21:32 +0100)
based on 56f6628bca66ef3b6a1028fcf0f52dbe01115d89

samples:

http://www.datafilehost.com/download-94b5bc1b.html

Reviewed-and-Tested-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/pictordec.c

index ad8eae0..5c872c9 100644 (file)
@@ -133,7 +133,7 @@ static int decode_frame(AVCodecContext *avctx,
         return AVERROR_INVALIDDATA;
     }
 
         return AVERROR_INVALIDDATA;
     }
 
-    if (bytestream2_peek_byte(&s->g) == 0xFF || bpp == 8) {
+    if (bytestream2_peek_byte(&s->g) == 0xFF || bpp == 1 || bpp == 4 || bpp == 8) {
         bytestream2_skip(&s->g, 2);
         etype = bytestream2_get_le16(&s->g);
         esize = bytestream2_get_le16(&s->g);
         bytestream2_skip(&s->g, 2);
         etype = bytestream2_get_le16(&s->g);
         esize = bytestream2_get_le16(&s->g);