]> git.sesse.net Git - ffmpeg/commitdiff
libavcodec/jpeg2000dec.c: Handle non EOC streams
authorGautam Ramakrishnan <gautamramk@gmail.com>
Fri, 3 Apr 2020 18:27:57 +0000 (23:57 +0530)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 4 Apr 2020 16:04:21 +0000 (18:04 +0200)
This patch allows decoding of j2k streams which do
not have an EOC marker.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/jpeg2000dec.c

index 7103cd6cebf4e13e7fc60a09f229cbe65d71abe8..e71a84c4b81129a2c0bed506699cd47e92f2b87f 100644 (file)
@@ -1939,8 +1939,12 @@ static int jpeg2000_read_main_headers(Jpeg2000DecoderContext *s)
 
         len = bytestream2_get_be16(&s->g);
         if (len < 2 || bytestream2_get_bytes_left(&s->g) < len - 2) {
-            av_log(s->avctx, AV_LOG_ERROR, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g));
-            return AVERROR_INVALIDDATA;
+            if (s->avctx->strict_std_compliance >= FF_COMPLIANCE_STRICT) {
+                av_log(s->avctx, AV_LOG_ERROR, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g));
+                return AVERROR_INVALIDDATA;
+            }
+            av_log(s->avctx, AV_LOG_WARNING, "Missing EOC Marker.\n");
+            break;
         }
 
         switch (marker) {