Mercurial > libavformat.hg
changeset 1146:11a8f0c50814 libavformat
attempt to detect Chinese AVS video
author | mru |
---|---|
date | Mon, 03 Jul 2006 21:40:01 +0000 |
parents | 95054d76b7e6 |
children | 5cac4246a84a |
files | mpeg.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mpeg.c Mon Jul 03 16:32:57 2006 +0000 +++ b/mpeg.c Mon Jul 03 21:40:01 2006 +0000 @@ -1605,8 +1605,15 @@ goto skip; } } else if (startcode >= 0x1e0 && startcode <= 0x1ef) { + static const unsigned char avs_seqh[4] = { 0, 0, 1, 0xb0 }; + unsigned char buf[8]; + get_buffer(&s->pb, buf, 8); + url_fseek(&s->pb, -8, SEEK_CUR); + if(!memcmp(buf, avs_seqh, 4) && (buf[6] != 0 || buf[7] != 1)) + codec_id = CODEC_ID_CAVS; + else + codec_id = CODEC_ID_MPEG2VIDEO; type = CODEC_TYPE_VIDEO; - codec_id = CODEC_ID_MPEG2VIDEO; } else if (startcode >= 0x1c0 && startcode <= 0x1df) { type = CODEC_TYPE_AUDIO; codec_id = CODEC_ID_MP2;