summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2010-01-24 21:37:35 +0000
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2010-01-24 21:37:35 +0000
commit895a9be60cd34b347a40dc6b0323c9c731084476 (patch)
tree87330fad7e5932a5eac448acf284a54ee97493d0
parentaa2ead8215242c958640a96bf8f9ad2d3535ad92 (diff)
Force codec_tag I420 for Quicktime Planar Y'CbCr 8-bit 4:2:0 raw codec,
because YV12 triggers an UV swap in rawdec.c, fixes issue 1687. Originally committed as revision 21436 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/mov.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index b8246204c9..4765f18f00 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -939,6 +939,9 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
PUT_UTF8(codec_name[i+1], tmp, st->codec->codec_name[pos++] = tmp;)
}
st->codec->codec_name[pos] = 0;
+ /* codec_tag YV12 triggers an UV swap in rawdec.c */
+ if (!memcmp(st->codec->codec_name, "Planar Y'CbCr 8-bit 4:2:0", 25))
+ st->codec->codec_tag=MKTAG('I', '4', '2', '0');
}
st->codec->bits_per_coded_sample = get_be16(pb); /* depth */