From cf10ee184f721d3b9539f5e6d79de19704d8c52d Mon Sep 17 00:00:00 2001 From: Nico Sabbi Date: Fri, 9 Feb 2007 20:34:24 +0000 Subject: [PATCH] demux VC1 in mpegts Originally committed as revision 7902 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mpegts.c | 7 ++++++- libavformat/mpegts.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 82227feef5..c4d790d6f8 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -503,6 +503,7 @@ static void pmt_cb(void *opaque, const uint8_t *section, int section_len) case STREAM_TYPE_VIDEO_MPEG2: case STREAM_TYPE_VIDEO_MPEG4: case STREAM_TYPE_VIDEO_H264: + case STREAM_TYPE_VIDEO_VC1: case STREAM_TYPE_AUDIO_AAC: case STREAM_TYPE_AUDIO_AC3: case STREAM_TYPE_AUDIO_DTS: @@ -813,7 +814,7 @@ static void mpegts_push_data(void *opaque, code = pes->header[3] | 0x100; if (!((code >= 0x1c0 && code <= 0x1df) || (code >= 0x1e0 && code <= 0x1ef) || - (code == 0x1bd))) + (code == 0x1bd) || (code == 0x1fd))) goto skip; if (!pes->st) { /* allocate stream */ @@ -921,6 +922,10 @@ static AVStream* new_pes_av_stream(PESContext *pes, uint32_t code) codec_type = CODEC_TYPE_VIDEO; codec_id = CODEC_ID_H264; break; + case STREAM_TYPE_VIDEO_VC1: + codec_type = CODEC_TYPE_VIDEO; + codec_id = CODEC_ID_VC1; + break; case STREAM_TYPE_AUDIO_AAC: codec_type = CODEC_TYPE_AUDIO; codec_id = CODEC_ID_AAC; diff --git a/libavformat/mpegts.h b/libavformat/mpegts.h index 5bb9d181b3..771becbd4b 100644 --- a/libavformat/mpegts.h +++ b/libavformat/mpegts.h @@ -46,6 +46,7 @@ #define STREAM_TYPE_AUDIO_AAC 0x0f #define STREAM_TYPE_VIDEO_MPEG4 0x10 #define STREAM_TYPE_VIDEO_H264 0x1b +#define STREAM_TYPE_VIDEO_VC1 0xea #define STREAM_TYPE_AUDIO_AC3 0x81 #define STREAM_TYPE_AUDIO_DTS 0x8a