2 * (C) 2006-2012 see Authors.txt
4 * This file is part of MPC-HC.
6 * MPC-HC is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * MPC-HC is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 enum PES_STREAM_TYPE
{
25 VIDEO_STREAM_MPEG1
= 0x01,
26 VIDEO_STREAM_MPEG2
= 0x02, // ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream
27 AUDIO_STREAM_MPEG1
= 0x03, // all layers including mp3 (ISO/IEC 11172-3 Audio)
28 AUDIO_STREAM_MPEG2
= 0x04, // ISO/IEC 13818-3 Audio
29 PRIVATE
= 0x05, // ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections
30 PES_PRIVATE
= 0x06, // ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data
31 PES_07
= 0x07, // ISO/IEC 13522 MHEG
32 PES_08
= 0x08, // ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Annex A DSM-CC
33 PES_09
= 0x09, // ITU-T Rec. H.222.1
34 PES_0a
= 0x0a, // ISO/IEC 13818-6 type A
35 PES_0b
= 0x0b, // ISO/IEC 13818-6 type B
36 PES_0c
= 0x0c, // ISO/IEC 13818-6 type C
37 PES_0d
= 0x0d, // ISO/IEC 13818-6 type D
38 PES_0e
= 0x0e, // ITU-T Rec. H.222.0 | ISO/IEC 13818-1 auxiliary
39 AUDIO_STREAM_AAC
= 0x0f, // ISO/IEC 13818-7 Audio with ADTS transport syntax
40 PES_10
= 0x10, // ISO/IEC 14496-2 Visual
41 AUDIO_STREAM_AAC_LATM
= 0x11, // ISO/IEC 14496-3 Audio with the LATM transport syntax as defined in ISO/IEC 14496-3 / AMD 1
42 PES_12
= 0x12, // ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in PES packets
43 PES_13
= 0x13, // ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in ISO/IEC14496_sections.
44 PES_14
= 0x14, // ISO/IEC 13818-6 Synchronized Download Protocol
45 METADATA_PES_PACKETS
= 0x15, // Metadata carried in PES packets
46 METADATA_SECTIONS
= 0X16, // Metadata carried in metadata_sections
47 DATA_CAROUSEL
= 0x17, // Metadata carried in ISO/IEC 13818-6 Data Carousel
48 OBJECT_CAROUSEL
= 0x18, // Metadata carried in ISO/IEC 13818-6 Object Carousel
49 SYNCHRONIZED_DOWNLOAD
= 0x19, // Metadata carried in ISO/IEC 13818-6 Synchronized Download Protocol
50 IPMP
= 0x1A, // IPMP stream (defined in ISO/IEC 13818-11, MPEG-2 IPMP)
51 VIDEO_STREAM_H264
= 0x1B, // AVC video stream conforming to one or more profiles defined in Annex A of ITU-T Rec. H.264
52 PES_1C
= 0x1C, // ISO/IEC 14496-3 Audio, without using any additional transport syntax, such as DST, ALS and SLS
53 TEXT
= 0x1D, // ISO/IEC 14496-17 Text
54 AUXILIARY_VIDEO_STREAM
= 0x1E, // Auxiliary video stream as defined in ISO/IEC 23002-3
55 SVC_H264
= 0x1F, // SVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex G of ITU-T Rec. H.264 | ISO/IEC 14496-10
56 MVC_H264
= 0x20, // MVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex H of ITU-T Rec. H.264 | ISO/IEC 14496-10
57 AUDIO_STREAM_LPCM
= 0x80,
58 AUDIO_STREAM_AC3
= 0x81,
59 AUDIO_STREAM_DTS
= 0x82,
60 AUDIO_STREAM_AC3_TRUE_HD
= 0x83,
61 AUDIO_STREAM_AC3_PLUS
= 0x84,
62 AUDIO_STREAM_DTS_HD
= 0x85,
63 AUDIO_STREAM_DTS_HD_MASTER_AUDIO
= 0x86,
64 PRESENTATION_GRAPHICS_STREAM
= 0x90,
65 INTERACTIVE_GRAPHICS_STREAM
= 0x91,
66 SUBTITLE_STREAM
= 0x92,
67 SECONDARY_AUDIO_AC3_PLUS
= 0xa1,
68 SECONDARY_AUDIO_DTS_HD
= 0xa2,
69 VIDEO_STREAM_VC1
= 0xea
73 PID_PAT
= 0x000, // Program Association Table
74 PID_CAT
= 0x001, // Conditional Access Table
75 PID_TSDT
= 0x002, // Transport Stream Description Table
76 PID_NIT
= 0x010, // Network Identification Table
77 PID_BAT
= 0x011, // Bouquet Association Table ou ...
78 PID_SDT
= 0x011, // Service Description Table
79 PID_EIT
= 0x012, // Event Information Table
80 PID_RST
= 0x013, // Running Status Tection
81 PID_TDT
= 0x014, // Time and Date Table ou ...
82 PID_TOT
= 0x014, // Time Offset Table
83 PID_SFN
= 0x015, // SFN/MIP synchronisation
86 PID_NULL
= 0x1fff // Null packet
104 SI_EIT_as0
, SI_EIT_as1
, SI_EIT_as2
, SI_EIT_as3
, SI_EIT_as4
, SI_EIT_as5
, SI_EIT_as6
, SI_EIT_as7
,
105 SI_EIT_as8
, SI_EIT_as9
, SI_EIT_asa
, SI_EIT_asb
, SI_EIT_asc
, SI_EIT_asd
, SI_EIT_ase
, SI_EIT_asf
,
106 SI_EIT_os0
, SI_EIT_os1
, SI_EIT_os2
, SI_EIT_os3
, SI_EIT_os4
, SI_EIT_os5
, SI_EIT_os6
, SI_EIT_os7
,
107 SI_EIT_os8
, SI_EIT_os9
, SI_EIT_osa
, SI_EIT_osb
, SI_EIT_osc
, SI_EIT_osd
, SI_EIT_ose
, SI_EIT_osf
110 enum MPEG2_DESCRIPTOR
{
111 // http://www.coolstf.com/tsreader/descriptors.html
112 DT_VIDEO_STREAM
= 0x02,
113 DT_AUDIO_STREAM
= 0x03,
115 DT_REGISTRATION
= 0x05,
116 DT_DATA_STREAM_ALIGNMENT
= 0x06,
117 DT_TARGET_BACKGROUND_GRID
= 0x07,
118 DT_VIDEO_WINDOW
= 0x08,
119 DT_CONDITIONAL_ACCESS
= 0x09,
120 DT_ISO_639_LANGUAGE
= 0x0a,
121 DT_SYSTEM_CLOCK
= 0x0b,
122 DT_MULTIPLEX_BUFFER_UTIL
= 0x0c,
123 DT_COPYRIGHT_DESCRIPTOR
= 0x0d,
124 DT_MAXIMUM_BITRATE
= 0x0e,
125 DT_PRIVATE_DATA_INDICATOR
= 0x0f,
126 DT_SMOOTHING_BUFFER
= 0x10,
127 DT_STD
= 0x11, // System Target Decoder ?
129 DT_NETWORK_NAME
= 0x40,
130 DT_SERVICE_LIST
= 0x41,
134 DT_SHORT_EVENT
= 0x4d,
135 DT_EXTENDED_EVENT
= 0x4e,
137 DT_STREAM_IDENTIFIER
= 0x52,
139 DT_PARENTAL_RATING
= 0x55,
141 DT_SUBTITLING
= 0x59,
142 DT_TERRESTRIAL_DELIV_SYS
= 0x5a,
143 DT_PRIVATE_DATA
= 0x5f,
145 DT_DATA_BROADCAST_ID
= 0x66,
146 DT_AC3_AUDIO
= 0x6a, // DVB
147 DT_EXTENDED_AC3_AUDIO
= 0x7a,
149 DT_AC3_AUDIO__2
= 0x81, // DCII ou ATSC
150 DT_LOGICAL_CHANNEL
= 0x83,
151 DT_HD_SIMCAST_LOG_CHANNEL
= 0x88
162 extern const wchar_t* StreamTypeToName(PES_STREAM_TYPE _Type
);