]> git.sesse.net Git - ffmpeg/commitdiff
libavcodec/jpeg2000dec: Enhance pix fmt selection
authorGautam Ramakrishnan <gautamramk@gmail.com>
Sat, 4 Jul 2020 19:03:08 +0000 (00:33 +0530)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 5 Jul 2020 22:32:16 +0000 (00:32 +0200)
This patch assigns default pix format values when
a match does not take place.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/jpeg2000dec.c

index 3f4a9ef96c640a9de2ceb79888e1033bfc923681..f62553c874917d8ae1d3fd99e3c2361e7db40994 100644 (file)
@@ -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;
         }
     }