This patch allows decoding of j2k streams which do not have an EOC marker.
Unified · Split
| @@ -1939,8 +1939,12 @@ static int jpeg2000_read_main_headers(Jpeg2000DecoderContext *s) · 1938 unmodified lines | ||
| 1939 | 1939 | |
| 1940 | 1940 | len = bytestream2_get_be16(&s->g); |
| 1941 | 1941 | if (len < 2 || bytestream2_get_bytes_left(&s->g) < len - 2) { |
| 1942 | − av_log(s->avctx, AV_LOG_ERROR, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g)); | |
| 1943 | − return AVERROR_INVALIDDATA; | |
| 1942 | + if (s->avctx->strict_std_compliance >= FF_COMPLIANCE_STRICT) { | |
| 1943 | + av_log(s->avctx, AV_LOG_ERROR, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g)); | |
| 1944 | + return AVERROR_INVALIDDATA; | |
| 1945 | + } | |
| 1946 | + av_log(s->avctx, AV_LOG_WARNING, "Missing EOC Marker.\n"); | |
| 1947 | + break; | |
| 1944 | 1948 | } |
| 1945 | 1949 | |
| 1946 | 1950 | switch (marker) { |