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