From cbe3f1b1fbc0e0bd2c265f1d9b78e29ac185f17b Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 13 Apr 2020 16:25:02 +0200 Subject: [PATCH] lavc/jpeg2000dec: Allow to force a compatible pix_fmt. This copies the behaviour of the libopenjpeg decoder. Fixes ticket #5919. --- libavcodec/jpeg2000dec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 7196cba6b4..440b856a3a 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -402,6 +402,10 @@ static int get_siz(Jpeg2000DecoderContext *s) break; } } + if ( s->avctx->pix_fmt != AV_PIX_FMT_NONE + && !pix_fmt_match(s->avctx->pix_fmt, ncomponents, s->precision, log2_chroma_wh, s->pal8)) + s->avctx->pix_fmt = AV_PIX_FMT_NONE; + if (s->avctx->pix_fmt == AV_PIX_FMT_NONE) for (i = 0; i < possible_fmts_nb; ++i) { if (pix_fmt_match(possible_fmts[i], ncomponents, s->precision, log2_chroma_wh, s->pal8)) { s->avctx->pix_fmt = possible_fmts[i];