summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-09-10 12:48:14 +0000
committerphintuka <phintuka>2009-09-10 12:48:14 +0000
commit0b3e9eb6a25b5a99ab9be5bc4c6f13eebb81a1bb (patch)
tree0cfcbcbfea417b0db346e8afaee9d68088cbad85
parent43c506ff60c92ec3a40f64e20efe9d48e4b13208 (diff)
downloadxineliboutput-0b3e9eb6a25b5a99ab9be5bc4c6f13eebb81a1bb.tar.gz
xineliboutput-0b3e9eb6a25b5a99ab9be5bc4c6f13eebb81a1bb.tar.bz2
Added VC1 video
-rw-r--r--xine/BluRay/demux_ts.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/xine/BluRay/demux_ts.c b/xine/BluRay/demux_ts.c
index 79315004..44d3ee88 100644
--- a/xine/BluRay/demux_ts.c
+++ b/xine/BluRay/demux_ts.c
@@ -238,6 +238,9 @@
STREAM_AUDIO_AC3 = 0x81,
STREAM_AUDIO_PRIMARY_DTS_HDMV = 0x86,
STREAM_SPU_BITMAP_HDMV = 0x90,
+
+ STREAM_VIDEO_VC1 = 0xea, /* VC-1 */
+ STREAM_VIDEO_SMTPE_VC1 = 0xeb, /* SMTPE VC-1 */
} streamType;
#define WRAP_THRESHOLD 270000
@@ -774,6 +777,13 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m,
p += header_len + 9;
packet_len -= header_len + 3;
+ if (m->descriptor_tag == STREAM_VIDEO_VC1) {
+ m->content = p;
+ m->size = packet_len;
+ m->type = BUF_VIDEO_VC1;
+ return 1;
+ }
+
if (m->descriptor_tag == STREAM_SPU_BITMAP_HDMV) {
long payload_len = ((buf[4] << 8) | buf[5]) - header_len - 3;
@@ -1350,6 +1360,7 @@ printf("Program Number is %i, looking for %i\n",program_number,this->program_num
case ISO_13818_VIDEO:
case ISO_14496_PART2_VIDEO:
case ISO_14496_PART10_VIDEO:
+ case STREAM_VIDEO_VC1:
if (this->videoPid == INVALID_PID) {
#ifdef TS_PMT_LOG
printf ("demux_ts: PMT video pid 0x%.4x type %2.2x\n", pid, stream[0]);