summaryrefslogtreecommitdiff
path: root/libavcodec/jpeg2000dec.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>2020-04-13 16:25:02 +0200
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>2020-04-15 20:00:51 +0200
commitcbe3f1b1fbc0e0bd2c265f1d9b78e29ac185f17b (patch)
tree3aa2dfcaa6e3bbd51ee10e49305d59e36313191a /libavcodec/jpeg2000dec.c
parentd5bf704f507d75d3ca996703440b51a68b87d5ba (diff)
downloadffmpeg-cbe3f1b1fbc0e0bd2c265f1d9b78e29ac185f17b.tar.gz
lavc/jpeg2000dec: Allow to force a compatible pix_fmt.
This copies the behaviour of the libopenjpeg decoder. Fixes ticket #5919.
Diffstat (limited to 'libavcodec/jpeg2000dec.c')
-rw-r--r--libavcodec/jpeg2000dec.c4
1 files changed, 4 insertions, 0 deletions
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];