Detect and skip mj2-style jp2c header.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 2 May 2013 21:56:19 +0000 (23:56 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 5 May 2013 08:01:22 +0000 (10:01 +0200)
This this fixes one of the issues with
http://blogs.bu.edu/mhirsch/files/2012/08/Rotate180CCW-checkerboard.mj2_.zip
and at least allows to demux the file properly instead
of failing during probing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
libavcodec/jpeg2000dec.c

index 20e5c9c..f9309be 100644 (file)
@@ -1269,6 +1269,8 @@ static int jpeg2000_decode_frame(AVCodecContext *avctx, void *data,
                    "couldn't find jpeg2k codestream atom\n");
             return -1;
         }
+    } else if (AV_RB16(s->buf) != JPEG2000_SOC && AV_RB32(s->buf + 4) == JP2_CODESTREAM) {
+        s->buf += 8;
     }
 
     if (bytestream_get_be16(&s->buf) != JPEG2000_SOC) {