Support unrar64.dll
[xy_vsfilter.git] / src / dsutil / Mpeg2Def.h
blob1c114bc7cd2405ee0ffe1894da73358eaf7f5d1c
1 /*
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/>.
21 #pragma once
23 enum PES_STREAM_TYPE {
24 INVALID = 0,
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
72 enum MPEG2_PID {
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
84 PID_DIT = 0x01e,
85 PID_SIT = 0x01f,
86 PID_NULL = 0x1fff // Null packet
89 enum DVB_SI {
90 SI_undef = -1,
91 SI_PAT = 0x00,
92 SI_CAT = 0x01,
93 SI_PMT = 0x02,
94 SI_DSMCC_a = 0x3a,
95 SI_DSMCC_b = 0x3b,
96 SI_DSMCC_c = 0x3c,
97 SI_DSMCC_d = 0x3d,
98 SI_DSMCC_e = 0x3e,
99 SI_DSMCC_f = 0x3f,
100 SI_NIT = 0x40,
101 SI_SDT = 0x42,
102 SI_EIT_act = 0x4e,
103 SI_EIT_oth = 0x4f,
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,
114 DT_HIERARCHY = 0x04,
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 ?
128 DT_IBP = 0x12,
129 DT_NETWORK_NAME = 0x40,
130 DT_SERVICE_LIST = 0x41,
131 DT_VBI_DATA = 0x45,
132 DT_SERVICE = 0x48,
133 DT_LINKAGE = 0x4a,
134 DT_SHORT_EVENT = 0x4d,
135 DT_EXTENDED_EVENT = 0x4e,
136 DT_COMPONENT = 0x50,
137 DT_STREAM_IDENTIFIER = 0x52,
138 DT_CONTENT = 0x54,
139 DT_PARENTAL_RATING = 0x55,
140 DT_TELETEXT = 0x56,
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
154 enum MPEG_TYPES {
155 mpeg_us,
156 mpeg_ps,
157 mpeg_ts,
158 mpeg_es,
159 mpeg_pva
162 extern const wchar_t* StreamTypeToName(PES_STREAM_TYPE _Type);