[FFmpeg-devel] [PATCH v3 3/3] libavcodec/jpeb2000dec.c: Handle non EOC streams

Gautam Ramakrishnan gautamramk at gmail.com
Sat Mar 28 06:24:17 EET 2020


On Sat, Mar 28, 2020 at 9:49 AM <gautamramk at gmail.com> wrote:
>
> From: Gautam Ramakrishnan <gautamramk at gmail.com>
>
> This patch allows decoding of j2k streams which do
> not have an EOC marker. OpenJPEG implements a similar
> check.
> ---
>  libavcodec/jpeg2000dec.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
> index 44b3e7e41b..99fcb2cf68 100644
> --- a/libavcodec/jpeg2000dec.c
> +++ b/libavcodec/jpeg2000dec.c
> @@ -2076,8 +2076,9 @@ 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;
> +            av_log(s->avctx, AV_LOG_WARNING, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g));
> +            av_log(s->avctx, AV_LOG_WARNING, "Stream does not end with EOC.\n");
> +            return 0;
>          }
>
>          switch (marker) {
> --
> 2.17.1
>
Hi,

@Carl, on adding this patch series, looks like the frames of
http://samples.ffmpeg.org/jpeg2000/jpeg2000_mxf_first_10mb.mxf
also seems to be decoded correctly. Have sent this patch for your
comments.

-- 
-------------
Gautam |


More information about the ffmpeg-devel mailing list