diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-01-19 20:13:38 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-19 20:13:38 +0100 |
commit | 9d13432a90979de8e21bff4641c1da3dbac02584 (patch) | |
tree | 35cc23303919c15fbf7797a828972e1b5e204b52 /libavformat/matroskadec.c | |
parent | 48218580e1ecc6687386e63d1f20c03482f69939 (diff) |
avformat/matroskadec: identify SMI as SVQ3
Fixes part of Ticket3256
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/matroskadec.c')
-rw-r--r-- | libavformat/matroskadec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 19e0e2ed72..f91688b4ad 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1732,7 +1732,7 @@ static int matroska_read_header(AVFormatContext *s) codec_id = ff_codec_get_id(ff_codec_movaudio_tags, fourcc); } } else if (!strcmp(track->codec_id, "V_QUICKTIME") - && (track->codec_priv.size >= 86) + && (track->codec_priv.size >= 21) && (track->codec_priv.data != NULL)) { fourcc = AV_RL32(track->codec_priv.data + 4); codec_id = ff_codec_get_id(ff_codec_movvideo_tags, fourcc); @@ -1740,6 +1740,8 @@ static int matroska_read_header(AVFormatContext *s) fourcc = AV_RL32(track->codec_priv.data); codec_id = ff_codec_get_id(ff_codec_movvideo_tags, fourcc); } + if (codec_id == AV_CODEC_ID_NONE && AV_RL32(track->codec_priv.data+4) == AV_RL32("SMI ")) + codec_id = AV_CODEC_ID_SVQ3; } else if (codec_id == AV_CODEC_ID_PCM_S16BE) { switch (track->audio.bitdepth) { case 8: codec_id = AV_CODEC_ID_PCM_U8; break; |