lavc/mjpegdec: Interpret three-component Adobe transform 0 also as RGB.
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>
Tue, 18 Dec 2018 17:00:31 +0000 (18:00 +0100)
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>
Tue, 18 Dec 2018 17:00:31 +0000 (18:00 +0100)
While there, make a comparison with "RGB" more readable.

Fixes ticket #7625.

libavcodec/mjpegdec.c
libavcodec/version.h

index 2f16358..4cab660 100644 (file)
@@ -488,7 +488,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
         if (s->rgb)
             s->avctx->pix_fmt = s->bits <= 9 ? AV_PIX_FMT_BGR24 : AV_PIX_FMT_BGR48;
         else {
-            if (s->component_id[0] == 'Q' && s->component_id[1] == 'F' && s->component_id[2] == 'A') {
+            if (   s->adobe_transform == 0
+                || s->component_id[0] == 'R' - 1 && s->component_id[1] == 'G' - 1 && s->component_id[2] == 'B' - 1) {
                 s->avctx->pix_fmt = s->bits <= 8 ? AV_PIX_FMT_GBRP : AV_PIX_FMT_GBRP16;
             } else {
                 if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P;
index 802fc4a..3c61e0c 100644 (file)
@@ -29,7 +29,7 @@
 
 #define LIBAVCODEC_VERSION_MAJOR  58
 #define LIBAVCODEC_VERSION_MINOR  42
-#define LIBAVCODEC_VERSION_MICRO 103
+#define LIBAVCODEC_VERSION_MICRO 104
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \