summaryrefslogtreecommitdiff
path: root/libavcodec/jpeg2000dec.c
diff options
context:
space:
mode:
authorGautam Ramakrishnan <gautamramk@gmail.com>2020-07-05 00:33:08 +0530
committerMichael Niedermayer <michael@niedermayer.cc>2020-07-06 00:32:16 +0200
commit69522e04001f9dad710a420a6d46aa138659244e (patch)
tree1ee9726b773060694712c0f374c13f1ae4f79aa2 /libavcodec/jpeg2000dec.c
parent4091f4f78012d1a7eb1e04b69cf65d5ef3afee3a (diff)
libavcodec/jpeg2000dec: Enhance pix fmt selection
This patch assigns default pix format values when a match does not take place. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/jpeg2000dec.c')
-rw-r--r--libavcodec/jpeg2000dec.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 3f4a9ef96c..f62553c874 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -436,6 +436,18 @@ static int get_siz(Jpeg2000DecoderContext *s)
s->cdef[3] = 3;
i = 0;
}
+ } else if (ncomponents == 3 && s->precision == 8 &&
+ s->cdx[0] == s->cdx[1] && s->cdx[0] == s->cdx[2] &&
+ s->cdy[0] == s->cdy[1] && s->cdy[0] == s->cdy[2]) {
+ s->avctx->pix_fmt = AV_PIX_FMT_RGB24;
+ i = 0;
+ } else if (ncomponents == 2 && s->precision == 8 &&
+ s->cdx[0] == s->cdx[1] && s->cdy[0] == s->cdy[1]) {
+ s->avctx->pix_fmt = AV_PIX_FMT_YA8;
+ i = 0;
+ } else if (ncomponents == 1 && s->precision == 8) {
+ s->avctx->pix_fmt = AV_PIX_FMT_GRAY8;
+ i = 0;
}
}