diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-01-19 21:35:33 +0400 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2014-04-16 21:54:13 +0400 |
commit | 66c927d2172a59b5cd056c0e87d7b232b1e44d53 (patch) | |
tree | 883f5f9843379ff41a6a3b8b7ee11f638423b017 | |
parent | ea66bd0d24f15d19a7e9f5a614ce8ddfdf56e751 (diff) |
avformat/matroskadec: support SVQ3 as generated by mkvtoolnix-6.6.0
Fixes part of Ticket3256
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5800b08572ef5f776950fc6f1b6572ba9a6b1933)
Conflicts:
libavformat/matroskadec.c
-rw-r--r-- | libavformat/matroskadec.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 9a0121a931..44c1a8fe17 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1609,8 +1609,12 @@ static int matroska_read_header(AVFormatContext *s) } else if (!strcmp(track->codec_id, "V_QUICKTIME") && (track->codec_priv.size >= 86) && (track->codec_priv.data != NULL)) { - fourcc = AV_RL32(track->codec_priv.data); + fourcc = AV_RL32(track->codec_priv.data + 4); codec_id = ff_codec_get_id(ff_codec_movvideo_tags, fourcc); + if (ff_codec_get_id(ff_codec_movvideo_tags, AV_RL32(track->codec_priv.data))) { + fourcc = AV_RL32(track->codec_priv.data); + codec_id = ff_codec_get_id(ff_codec_movvideo_tags, fourcc); + } } else if (codec_id == AV_CODEC_ID_ALAC && track->codec_priv.size && track->codec_priv.size < INT_MAX-12) { /* Only ALAC's magic cookie is stored in Matroska's track headers. Create the "atom size", "tag", and "tag version" fields the |