Support YVU9 AVI 4cc.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 26 May 2009 03:51:00 +0000 (03:51 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 26 May 2009 03:51:00 +0000 (03:51 +0000)
Fixes issue1068.

Originally committed as revision 18952 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/raw.c
libavcodec/rawdec.c
libavformat/riff.c

index c79c012..c0cc56d 100644 (file)
@@ -32,6 +32,7 @@ const PixelFormatTag ff_raw_pixelFormatTags[] = {
     { PIX_FMT_YUV420P, MKTAG('I', 'Y', 'U', 'V') },
     { PIX_FMT_YUV420P, MKTAG('Y', 'V', '1', '2') },
     { PIX_FMT_YUV410P, MKTAG('Y', 'U', 'V', '9') },
+    { PIX_FMT_YUV410P, MKTAG('Y', 'V', 'U', '9') },
     { PIX_FMT_YUV411P, MKTAG('Y', '4', '1', 'B') },
     { PIX_FMT_YUV422P, MKTAG('Y', '4', '2', 'B') },
     { PIX_FMT_GRAY8,   MKTAG('Y', '8', '0', '0') },
index ebd9ded..89e9ea9 100644 (file)
@@ -139,7 +139,8 @@ static int raw_decode(AVCodecContext *avctx,
     if(context->flip)
         flip(avctx, picture);
 
-    if (avctx->codec_tag == MKTAG('Y', 'V', '1', '2'))
+    if (   avctx->codec_tag == MKTAG('Y', 'V', '1', '2')
+        || avctx->codec_tag == MKTAG('Y', 'V', 'U', '9'))
     {
         // swap fields
         unsigned char *tmp = picture->data[1];
index 1a05f84..858c924 100644 (file)
@@ -141,6 +141,7 @@ const AVCodecTag codec_bmp_tags[] = {
     { CODEC_ID_RAWVIDEO,     MKTAG('I', 'Y', 'U', 'V') },
     { CODEC_ID_RAWVIDEO,     MKTAG('Y', '8', '0', '0') },
     { CODEC_ID_RAWVIDEO,     MKTAG('H', 'D', 'Y', 'C') },
+    { CODEC_ID_RAWVIDEO,     MKTAG('Y', 'V', 'U', '9') },
     { CODEC_ID_V210,         MKTAG('v', '2', '1', '0') },
     { CODEC_ID_INDEO3,       MKTAG('I', 'V', '3', '1') },
     { CODEC_ID_INDEO3,       MKTAG('I', 'V', '3', '2') },