Metasoft MJPEG codec has Cb and Cr swapped, fixes issue 1611.
authorCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Tue, 26 Jan 2010 10:30:24 +0000 (10:30 +0000)
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Tue, 26 Jan 2010 10:30:24 +0000 (10:30 +0000)
Originally committed as revision 21451 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mjpegdec.c

index dc8df55..c0afb98 100644 (file)
@@ -920,6 +920,10 @@ int ff_mjpeg_decode_sos(MJpegDecodeContext *s)
             av_log(s->avctx, AV_LOG_ERROR, "decode_sos: index(%d) out of components\n", index);
             return -1;
         }
+        /* Metasoft MJPEG codec has Cb and Cr swapped */
+        if (s->avctx->codec_tag == MKTAG('M', 'T', 'S', 'J')
+            && nb_components == 3 && s->nb_components == 3 && i)
+            index = 3 - i;
 
         s->comp_index[i] = index;