Tag Parser
6.2.2
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
mediaformat.cpp
Go to the documentation of this file.
1
#include "
./mediaformat.h
"
2
3
namespace
Media
{
4
5
using namespace
SubFormats;
6
17
const
char
*
MediaFormat::name
()
const
18
{
19
switch
(general) {
20
case
GeneralMediaFormat::Aac
:
21
switch
(sub) {
22
case
AacMpeg2MainProfile
:
return
"Advanced Audio Coding Main Profile"
;
23
case
AacMpeg2LowComplexityProfile
:
return
"Advanced Audio Coding Low Complexity Profile"
;
24
case
AacMpeg2ScalableSamplingRateProfile
:
return
"Advanced Audio Coding Scalable Sampling Rate Profile"
;
25
case
AacMpeg4MainProfile
:
return
"Advanced Audio Coding Main Profile"
;
26
case
AacMpeg4LowComplexityProfile
:
return
"Advanced Audio Coding Low Complexity Profile"
;
27
case
AacMpeg4ScalableSamplingRateProfile
:
return
"Advanced Audio Coding Scaleable Sampling Rate Profile"
;
28
case
AacMpeg4LongTermPrediction
:
return
"Advanced Audio Coding Long Term Predicition"
;
29
case
AacMpeg4ERLowComplecityProfile
:
return
"Advanced Audio Coding Error Resilient Low Complexity Profile"
;
30
case
AacMpeg4ERScalableSampingRateProfile
:
return
"Advanced Audio Coding Error Resilient Scalable Sampling Rate Profile"
;
31
case
AacMpeg4ERLongTermPrediction
:
return
"Advanced Audio Coding Error Resilient Long Term Predicition"
;
32
case
AacMpeg4ERLowDelay
:
return
"Advanced Audio Coding Error Resilient Low Delay"
;
33
case
AacMpeg4EREnhancedLowDelay
:
return
"Advanced Audio Coding Error Resilient Enhanced Low Delay"
;
34
default
:
return
"Advanced Audio Coding"
;
35
}
36
case
GeneralMediaFormat::Ac3
:
return
"Dolby Digital"
;
37
case
GeneralMediaFormat::Ac4
:
return
"AC-4"
;
38
case
GeneralMediaFormat::AdpcmAcm
:
return
"ADPCM ACM"
;
39
case
GeneralMediaFormat::AfxStream
:
return
"AFX Stream"
;
40
case
GeneralMediaFormat::Alac
:
return
"Apple Lossless Audio Codec"
;
41
case
GeneralMediaFormat::Als
:
return
"ALS"
;
42
case
GeneralMediaFormat::Amr
:
return
"Adaptive Multi-Rate audio codec"
;
43
case
GeneralMediaFormat::Avc
:
44
switch
(sub) {
45
case
AvcCavlc444IntraProfile
:
return
"Advanced Video Coding CAVLC 4:4:4 Intra Profile"
;
46
case
AvcBaselineProfile
:
return
"Advanced Video Coding Basline Profile"
;
47
case
AvcMainProfile
:
return
"Advanced Video Coding Main Profile"
;
48
case
AvcScalableBaselineProfile
:
return
"Advanced Video Coding Scalable Basline Profile"
;
49
case
AvcScalableHighProfile
:
return
"Advanced Video Coding Scalable High Profile"
;
50
case
AvcExtendedProfile
:
return
"Advanced Video Coding Extended Profile"
;
51
case
AvcHighProfile
:
return
"Advanced Video Coding High Profile"
;
52
case
AvcHigh10Profile
:
return
"Advanced Video Coding High 10 Profile"
;
53
case
AvcHighMultiviewProfile
:
return
"Advanced Video Coding Multiview Profile"
;
54
case
AvcHigh422Profile
:
return
"Advanced Video Coding High 4:2:2 Profile"
;
55
case
AvcStereoHighProfile
:
return
"Advanced Video Coding Stereo High Profile"
;
56
case
AvcHighMultiviewDepthProfile
:
return
"Advanced Video Coding Multiview Depth High Profile"
;
57
case
AvcHigh444Profile
:
return
"Advanced Video Coding High 4:4:4 Profile"
;
58
case
AvcHigh444PredictiveProfile
:
return
"Advanced Video Coding High 4:4:4 Predictive Profile"
;
59
default
:
return
"Advanced Video Coding"
;
60
}
61
case
GeneralMediaFormat::Bitmap
:
return
"Windows Bitmap"
;
62
case
GeneralMediaFormat::Dirac
:
return
"Dirac"
;
63
case
GeneralMediaFormat::Dts
:
return
"DTS"
;
64
switch
(sub) {
65
case
DtsLossless
:
return
"DTS Lossless"
;
66
case
DtsExpress
:
return
"DTS Express"
;
67
default
:
return
"DTS"
;
68
}
69
case
GeneralMediaFormat::DtsHd
:
return
"DTS-HD"
;
70
switch
(sub) {
71
case
DtsHdHighResolution
:
return
"DTS-HD High Resolution"
;
72
case
DtsHdMasterAudio
:
return
"DTS-HD Master Audio"
;
73
case
DtsExpress
:
return
"DTS-HD Express"
;
74
default
:
return
"DTS-HD"
;
75
}
76
case
GeneralMediaFormat::EAc3
:
return
"Dolby Digital Plus"
;
77
case
GeneralMediaFormat::Evrc
:
return
"EVRC"
;
78
case
GeneralMediaFormat::Flac
:
return
"Free Lossless Audio Codec"
;
79
case
GeneralMediaFormat::FontDataStream
:
return
"Font Data Stream"
;
80
case
GeneralMediaFormat::Gif
:
return
"GIF"
;
81
case
GeneralMediaFormat::Gpp2Cmf
:
return
"3GPP2 Compact Multimedia Format (CMF)"
;
82
case
GeneralMediaFormat::Hevc
:
return
"High Efficiency Video Coding"
;
83
case
GeneralMediaFormat::ImaadpcmAcm
:
return
"IMAADPCM ACM"
;
84
case
GeneralMediaFormat::ImageSubtitle
:
85
switch
(sub) {
86
case
SubFormats::ImgSubBmp
:
return
"Bitmap subtitle"
;
87
default
:
return
"Image subtitle"
;
88
}
89
case
GeneralMediaFormat::InteractionStream
:
return
"Interaction Stream"
;
90
case
GeneralMediaFormat::Jpeg
:
return
"JPEG"
;
91
case
GeneralMediaFormat::OggKate
:
return
"Karaoke And Text Encapsulation"
;
92
case
GeneralMediaFormat::Opus
:
return
"Opus"
;
93
case
GeneralMediaFormat::MicrosoftAudioCodecManager
:
return
"Microsoft Audio Codec Manager"
;
94
case
GeneralMediaFormat::MicrosoftMpeg4
:
95
switch
(sub) {
96
case
1:
return
"Microsoft MPEG-4 version 1"
;
97
case
2:
return
"Microsoft MPEG-4 version 2"
;
98
case
3:
return
"Microsoft MPEG-4 version 3"
;
99
default
:
return
"Microsoft MPEG-4"
;
100
}
101
case
GeneralMediaFormat::MicrosoftVideoCodecManager
:
return
"Microsoft Video Codec Manager"
;
102
case
GeneralMediaFormat::DolbyMlp
:
return
"Dolby TrueHD"
;
103
case
GeneralMediaFormat::Mpeg1Audio
:
104
switch
(sub) {
105
case
Mpeg1Layer1
:
return
"MPEG-1 Layer 1"
;
106
case
Mpeg1Layer2
:
return
"MPEG-1 Layer 2"
;
107
case
Mpeg1Layer3
:
return
"MPEG-1 Layer 3"
;
108
default
:
return
"MPEG-1 Audio"
;
109
}
110
case
GeneralMediaFormat::Mpeg1Video
:
return
"MPEG-1 Video"
;
111
case
GeneralMediaFormat::Mpeg2Audio
:
112
switch
(sub) {
113
case
Mpeg1Layer1
:
return
"MPEG-2 Layer 1"
;
114
case
Mpeg1Layer2
:
return
"MPEG-2 Layer 2"
;
115
case
Mpeg1Layer3
:
return
"MPEG-2 Layer 3"
;
116
default
:
return
"MPEG-2 Audio"
;
117
}
118
case
GeneralMediaFormat::Mpeg2Video
:
119
switch
(sub) {
120
case
Mpeg2SimpleProfile
:
return
"MPEG-2 Video Simple Profile"
;
121
case
Mpeg2MainProfile
:
return
"MPEG-2 Video Main Profile"
;
122
case
Mpeg2SnrProfile
:
return
"MPEG-2 Video SNR Profile"
;
123
case
Mpeg2SpatialProfile
:
return
"MPEG-2 Video Spatial Profile"
;
124
case
Mpeg2HighProfile
:
return
"MPEG-2 Video High Profile"
;
125
case
Mpeg2422Profile
:
return
"MPEG-2 Video 422 Profile"
;
126
default
:
return
"MPEG-2 Video"
;
127
}
128
case
GeneralMediaFormat::Mpeg4Video
:
129
switch
(sub) {
130
case
Mpeg4SimpleProfile1
:
return
"MPEG-4 Simple Profile L1"
;
131
case
Mpeg4SimpleProfile2
:
return
"MPEG-4 Simple Profile L2"
;
132
case
Mpeg4SimpleProfile3
:
return
"MPEG-4 Simple Profile L2"
;
133
case
Mpeg4SimpleProfile0
:
return
"MPEG-4 Simple Profile"
;
134
case
Mpeg4SimpleScalableProfile0
:
return
"MPEG-4 Simple Scalable Profile"
;
135
case
Mpeg4SimpleScalableProfile1
:
return
"MPEG-4 Simple Scalable Profile L1"
;
136
case
Mpeg4SimpleScalableProfile2
:
return
"MPEG-4 Simple Scalable Profile L2"
;
137
case
Mpeg4CoreProfile1
:
return
"MPEG-4 Core Profile L1"
;
138
case
Mpeg4CoreProfiel2
:
return
"MPEG-4 Core Profile L2"
;
139
case
Mpeg4MainProfile2
:
return
"MPEG-4 Main Profile L2"
;
140
case
Mpeg4MainProfile3
:
return
"MPEG-4 Main Profile L3"
;
141
case
Mpeg4MainProfile4
:
return
"MPEG-4 Main Profile L4"
;
142
case
Mpeg4NBitPrifle2
:
return
"MPEG-4 N-Bit Profile L2"
;
143
case
Mpeg4ScalableTextureProfile1
:
return
"MPEG-4 Scalable Texture Profile L1"
;
144
case
Mpeg4SimpleFaceAnimationProfile1
:
return
"MPEG-4 Simple Face Animation Profile L1"
;
145
case
Mpeg4SimpleFaceAnimationProfile2
:
return
"MPEG-4 Simple Face Animation Profile L2"
;
146
case
Mpeg4SimpleFbaProfile1
:
return
"MPEG-4 Simple FBA Profile L1"
;
147
case
Mpeg4SimpleFbaProfile2
:
return
"MPEG-4 Simple FBA Profile L2"
;
148
case
Mpeg4BasicAnimatedTextureProfiel1
:
return
"MPEG-4 Basic Animated Texture Profile L1"
;
149
case
Mpeg4BasicAnimatedTextureProfiel2
:
return
"MPEG-4 Basic Animated Texture Profile L2"
;
150
case
Mpeg4AvcProfile
:
return
"MPEG-4 Advanced Audio Coding Profile"
;
151
case
Mpeg4HybridProfile1
:
return
"MPEG-4 Hybrid Profile L1"
;
152
case
Mpeg4HybridProfile2
:
return
"MPEG-4 Hybrid Profile L2"
;
153
case
Mpeg4AdvancedRealTimeSimpleProfile1
:
return
"MPEG-4 Basic Animated Texture Profile L1"
;
154
case
Mpeg4AdvancedRealTimeSimpleProfile2
:
return
"MPEG-4 Basic Animated Texture Profile L2"
;
155
case
Mpeg4AdvancedRealTimeSimpleProfile3
:
return
"MPEG-4 Basic Animated Texture Profile L3"
;
156
case
Mpeg4AdvancedRealTimeSimpleProfile4
:
return
"MPEG-4 Basic Animated Texture Profile L4"
;
157
case
Mpeg4CoreScalableProfile1
:
return
"MPEG-4 Core Scalable Profile L1"
;
158
case
Mpeg4CoreScalableProfile2
:
return
"MPEG-4 Core Scalable Profile L2"
;
159
case
Mpeg4CoreScalableProfile3
:
return
"MPEG-4 Core Scalable Profile L3"
;
160
case
Mpeg4AdvancedCodingEfficiencyProfile1
:
return
"MPEG-4 Advanced Coding Efficiency Profile L1"
;
161
case
Mpeg4AdvancedCodingEfficiencyProfile2
:
return
"MPEG-4 Advanced Coding Efficiency Profile L2"
;
162
case
Mpeg4AdvancedCodingEfficiencyProfile3
:
return
"MPEG-4 Advanced Coding Efficiency Profile L3"
;
163
case
Mpeg4AdvancedCodingEfficiencyProfile4
:
return
"MPEG-4 Advanced Coding Efficiency Profile L4"
;
164
case
Mpeg4AdvancedCoreProfile1
:
return
"MPEG-4 Advanced Core Profile L1"
;
165
case
Mpeg4AdvancedCoreProfile2
:
return
"MPEG-4 Advanced Core Profile L2"
;
166
case
Mpeg4AdvancedScalableTexture1
:
return
"MPEG-4 Advanced Scalable Texture L1"
;
167
case
Mpeg4AdvancedScalableTexture2
:
return
"MPEG-4 Advanced Scalable Texture L2"
;
168
case
Mpeg4SimpleStudioProfile1
:
return
"MPEG-4 Simple Studio Profile L1"
;
169
case
Mpeg4SimpleStudioProfile2
:
return
"MPEG-4 Simple Studio Profile L2"
;
170
case
Mpeg4SimpleStudioProfile3
:
return
"MPEG-4 Simple Studio Profile L3"
;
171
case
Mpeg4SimpleStudioProfile4
:
return
"MPEG-4 Simple Studio Profile L4"
;
172
case
Mpeg4CoreStudioProfile1
:
return
"MPEG-4 Core Studio Profile L1"
;
173
case
Mpeg4CoreStudioProfile2
:
return
"MPEG-4 Core Studio Profile L2"
;
174
case
Mpeg4CoreStudioProfile3
:
return
"MPEG-4 Core Studio Profile L3"
;
175
case
Mpeg4CoreStudioProfile4
:
return
"MPEG-4 Core Studio Profile L4"
;
176
case
Mpeg4AdvancedSimpleProfile0
:
return
"MPEG-4 Advanced Simple Profile"
;
177
case
Mpeg4AdvancedSimpleProfile1
:
return
"MPEG-4 Advanced Simple Profile L1"
;
178
case
Mpeg4AdvancedSimpleProfile2
:
return
"MPEG-4 Advanced Simple Profile L2"
;
179
case
Mpeg4AdvancedSimpleProfile3
:
return
"MPEG-4 Advanced Simple Profile L3"
;
180
case
Mpeg4AdvancedSimpleProfile4
:
return
"MPEG-4 Advanced Simple Profile L4"
;
181
case
Mpeg4AdvancedSimpleProfile5
:
return
"MPEG-4 Advanced Simple Profile L5"
;
182
case
Mpeg4AdvancedSimpleProfile3b
:
return
"MPEG-4 Advanced Simple Profile L3b"
;
183
case
Mpeg4FineGranularityScalableProfile0
:
return
"MPEG-4 Fine Granularity Scalable Profile"
;
184
case
Mpeg4FineGranularityScalableProfile1
:
return
"MPEG-4 Fine Granularity Scalable Profile L1"
;
185
case
Mpeg4FineGranularityScalableProfile2
:
return
"MPEG-4 Fine Granularity Scalable Profile L2"
;
186
case
Mpeg4FineGranularityScalableProfile3
:
return
"MPEG-4 Fine Granularity Scalable Profile L3"
;
187
case
Mpeg4FineGranularityScalableProfile4
:
return
"MPEG-4 Fine Granularity Scalable Profile L4"
;
188
case
Mpeg4FineGranularityScalableProfile5
:
return
"MPEG-4 Fine Granularity Scalable Profile L5"
;
189
default
:
return
"MPEG-4 Visual"
;
190
}
191
case
GeneralMediaFormat::Mpeg4TimedText
:
return
"MPEG-4 Timed Text"
;
192
case
GeneralMediaFormat::Mpc
:
return
"Musepack SV8"
;
193
case
GeneralMediaFormat::Pcm
:
194
switch
(sub) {
195
case
PcmIntBe
:
return
"Pulse Code Modulation (integer, big endian)"
;
196
case
PcmIntLe
:
return
"Pulse Code Modulation (integer, little endian)"
;
197
case
PcmFloatIeee
:
return
"Pulse Code Modulation (float, IEEE)"
;
198
default
:
return
"Pulse Code Modulation"
;
199
}
200
case
GeneralMediaFormat::Png
:
return
"Portable Network Graphics"
;
201
case
GeneralMediaFormat::ProRes
:
return
"ProRes"
;
202
case
GeneralMediaFormat::Qcelp
:
return
"QCELP"
;
203
case
GeneralMediaFormat::QuicktimeAudio
:
return
"Quicktime Audio"
;
204
case
GeneralMediaFormat::QuicktimeVideo
:
return
"Quicktime Video"
;
205
case
GeneralMediaFormat::RealAudio
:
return
"Real Audio"
;
206
case
GeneralMediaFormat::RealVideo
:
return
"Real Video"
;
207
case
GeneralMediaFormat::Sa0c
:
return
"SAOC"
;
208
case
GeneralMediaFormat::Smv
:
return
"SMV"
;
209
case
GeneralMediaFormat::StreamingTextStream
:
return
"Streaming Text Stream"
;
210
case
GeneralMediaFormat::SynthesizedTextureStream
:
return
"Synthesized Texture Stream"
;
211
case
GeneralMediaFormat::Systems
:
212
switch
(sub) {
213
case
2:
return
"Systems v2"
;
214
default
:
return
"Systems"
;
215
}
216
case
GeneralMediaFormat::TextSubtitle
:
217
switch
(sub) {
218
case
SubFormats::PlainUtf8Subtitle
:
return
"plain UTF-8 subtitle"
;
219
case
SubFormats::SubStationAlpha
:
return
"SubStation Alpha"
;
220
case
SubFormats::AdvancedSubStationAlpha
:
return
"Advanced SubStation Alpha"
;
221
case
SubFormats::UniversalSubtitleFormat
:
return
"Universal Subtitle Format"
;
222
case
SubFormats::WebVideoTextTracksFormat
:
return
"Web Video Text Tracks Format"
;
223
default
:
return
"Text subtitle"
;
224
}
225
case
GeneralMediaFormat::Theora
:
return
"Theora"
;
226
case
GeneralMediaFormat::Tiff
:
return
"Tagged Image File Format"
;
227
case
GeneralMediaFormat::TimedText
:
return
"Timed Text"
;
228
case
GeneralMediaFormat::Tta
:
return
"The True Audio"
;
229
case
GeneralMediaFormat::UncompressedVideoFrames
:
return
"uncompressed video frames"
;
230
case
GeneralMediaFormat::Vc1
:
return
"Windows Media Video"
;
231
case
GeneralMediaFormat::VobBtn
:
return
"VobBtn Buttons"
;
232
case
GeneralMediaFormat::VobSub
:
return
"VobSub"
;
233
case
GeneralMediaFormat::Vorbis
:
return
"Vorbis"
;
234
case
GeneralMediaFormat::Vp8
:
return
"VP8"
;
235
case
GeneralMediaFormat::Vp9
:
return
"VP9"
;
236
case
GeneralMediaFormat::WavPack
:
return
"WavPack"
;
237
case
GeneralMediaFormat::WindowsMediaAudio
:
return
"Windows Media Audio"
;
238
case
GeneralMediaFormat::WindowsMediaVideo
:
239
switch
(sub) {
240
case
1:
return
"Windows Media Video v1/v7"
;
241
case
2:
return
"Windows Media Video v2/v8"
;
242
default
:
return
"Windows Media Video"
;
243
}
244
case
GeneralMediaFormat::DvbSub
:
return
"DVB subtitles"
;
245
default
:
return
"unknown"
;
246
}
247
}
248
254
const
char
*
MediaFormat::abbreviation
()
const
255
{
256
switch
(general) {
257
case
GeneralMediaFormat::Aac
:
258
switch
(sub) {
259
case
AacMpeg2MainProfile
:
return
"MPEG-2 AAC Main"
;
260
case
AacMpeg2LowComplexityProfile
:
return
"MPEG-2 AAC-LC"
;
261
case
AacMpeg2ScalableSamplingRateProfile
:
return
"MPEG-2 AAC-SSR"
;
262
case
AacMpeg4MainProfile
:
return
"MPEG-4 AAC Main"
;
263
case
AacMpeg4LowComplexityProfile
:
return
"MPEG-4 AAC-LC"
;
264
case
AacMpeg4ScalableSamplingRateProfile
:
return
"MPEG-4 AAC-SSR"
;
265
case
AacMpeg4LongTermPrediction
:
return
"MPEG-4 AAC-LTP"
;
266
case
AacMpeg4ERLowComplecityProfile
:
return
"MPEG-4 ER AAC-LC"
;
267
case
AacMpeg4ERScalableSampingRateProfile
:
return
"MPEG-4 ER AAC-LC"
;
268
case
AacMpeg4ERLongTermPrediction
:
return
"MPEG-4 ER AAC-LTP"
;
269
case
AacMpeg4ERLowDelay
:
return
"MPEG-4 ER AAC-LD"
;
270
case
AacMpeg4EREnhancedLowDelay
:
return
"MPEG-4 ER AAC-ELD"
;
271
default
:
return
"AAC"
;
272
}
273
case
GeneralMediaFormat::Ac3
:
return
"AC-3"
;
274
case
GeneralMediaFormat::Ac4
:
return
"AC-4"
;
275
case
GeneralMediaFormat::AdpcmAcm
:
return
"ADPCM ACM"
;
276
case
GeneralMediaFormat::AfxStream
:
return
"AFX"
;
277
case
GeneralMediaFormat::Alac
:
return
"ALAC"
;
278
case
GeneralMediaFormat::Als
:
return
"ALS"
;
279
case
GeneralMediaFormat::Amr
:
return
"AMR"
;
280
case
GeneralMediaFormat::Avc
:
return
"H.264"
;
281
case
GeneralMediaFormat::Bitmap
:
return
"BMP"
;
282
case
GeneralMediaFormat::Dirac
:
return
"Dirac"
;
283
case
GeneralMediaFormat::Dts
:
return
"DTS"
;
284
switch
(sub) {
285
case
DtsLossless
:
return
"DTS Lossless"
;
286
case
DtsExpress
:
return
"DTS LBR"
;
287
default
:
return
"DTS"
;
288
}
289
case
GeneralMediaFormat::DtsHd
:
return
"DTS-HD"
;
290
switch
(sub) {
291
case
DtsHdHighResolution
:
return
"DTS-HD High Resolution"
;
292
case
DtsHdMasterAudio
:
return
"DTS-HD Master Audio"
;
293
case
DtsExpress
:
return
"DTS-HD Express"
;
294
default
:
return
"DTS-HD"
;
295
}
296
case
GeneralMediaFormat::EAc3
:
return
"E-AC-3"
;
297
case
GeneralMediaFormat::Evrc
:
return
"EVRC"
;
298
case
GeneralMediaFormat::Flac
:
return
"FLAC"
;
299
case
GeneralMediaFormat::FontDataStream
:
return
"FDS"
;
300
case
GeneralMediaFormat::Gif
:
return
"GIF"
;
301
case
GeneralMediaFormat::Gpp2Cmf
:
return
"3GPP2 CMF"
;
302
case
GeneralMediaFormat::Hevc
:
return
"H.265"
;
303
case
GeneralMediaFormat::ImaadpcmAcm
:
return
"IMAADPCM ACM"
;
304
case
GeneralMediaFormat::ImageSubtitle
:
305
switch
(sub) {
306
case
SubFormats::ImgSubBmp
:
return
"BMP subtitle"
;
307
default
:
return
"Image subtitle"
;
308
}
309
case
GeneralMediaFormat::InteractionStream
:
return
"Interaction Stream"
;
310
case
GeneralMediaFormat::Jpeg
:
return
"JPEG"
;
311
case
GeneralMediaFormat::OggKate
:
return
"OggKate"
;
312
case
GeneralMediaFormat::Opus
:
return
"Opus"
;
313
case
GeneralMediaFormat::MicrosoftAudioCodecManager
:
return
"MS ACM"
;
314
case
GeneralMediaFormat::MicrosoftMpeg4
:
315
switch
(sub) {
316
case
1:
return
"MS MPEG-4 v1"
;
317
case
2:
return
"MS MPEG-4 v2"
;
318
case
3:
return
"MS MPEG-4 v3"
;
319
default
:
return
"MS MPEG-4"
;
320
}
321
case
GeneralMediaFormat::MicrosoftVideoCodecManager
:
return
"MS VCM"
;
322
case
GeneralMediaFormat::DolbyMlp
:
return
"Dolby TrueHD"
;
323
case
GeneralMediaFormat::Mpeg1Audio
:
324
switch
(sub) {
325
case
Mpeg1Layer1
:
return
"MP1"
;
326
case
Mpeg1Layer2
:
return
"MP2"
;
327
case
Mpeg1Layer3
:
return
"MP3"
;
328
default
:
return
"MPEG-1 Audio"
;
329
}
330
case
GeneralMediaFormat::Mpeg1Video
:
return
"MP1"
;
331
case
GeneralMediaFormat::Mpeg2Audio
:
332
switch
(sub) {
333
case
Mpeg1Layer1
:
return
"MP1"
;
334
case
Mpeg1Layer2
:
return
"MP2"
;
335
case
Mpeg1Layer3
:
return
"MP3"
;
336
default
:
return
"MPEG-2 Audio"
;
337
}
338
case
GeneralMediaFormat::Mpeg2Video
:
339
switch
(sub) {
340
case
Mpeg2SimpleProfile
:
return
"MPEG-2 SP"
;
341
case
Mpeg2MainProfile
:
return
"MPEG-2 Main"
;
342
case
Mpeg2SnrProfile
:
return
"MPEG-2 SNR"
;
343
case
Mpeg2SpatialProfile
:
return
"MPEG-2 Spatial"
;
344
case
Mpeg2HighProfile
:
return
"MPEG-2 High"
;
345
case
Mpeg2422Profile
:
return
"MPEG-2 422"
;
346
default
:
return
"MPEG-2 Video"
;
347
}
348
case
GeneralMediaFormat::Mpeg4Video
:
349
switch
(sub) {
350
case
Mpeg4SimpleProfile1
:
351
case
Mpeg4SimpleProfile2
:
352
case
Mpeg4SimpleProfile3
:
353
case
Mpeg4SimpleProfile0
:
354
return
"MPEG-4 SP"
;
355
case
Mpeg4AdvancedSimpleProfile0
:
356
case
Mpeg4AdvancedSimpleProfile1
:
357
case
Mpeg4AdvancedSimpleProfile2
:
358
case
Mpeg4AdvancedSimpleProfile3
:
359
case
Mpeg4AdvancedSimpleProfile4
:
360
case
Mpeg4AdvancedSimpleProfile5
:
361
case
Mpeg4AdvancedSimpleProfile3b
:
362
return
"H.263"
;
363
case
Mpeg4AvcProfile
:
364
return
"H.264"
;
365
default
:
return
"MPEG-4 Visual"
;
366
}
367
case
GeneralMediaFormat::Mpc
:
return
"MPC"
;
368
case
GeneralMediaFormat::Pcm
:
369
switch
(sub) {
370
case
PcmIntBe
:
return
"PCM (int, BE)"
;
371
case
PcmIntLe
:
return
"PCM (int, LE)"
;
372
case
PcmFloatIeee
:
return
"PCM IEEE"
;
373
default
:
return
"PCM"
;
374
}
375
case
GeneralMediaFormat::Png
:
return
"PNG"
;
376
case
GeneralMediaFormat::ProRes
:
return
"ProRes"
;
377
case
GeneralMediaFormat::Qcelp
:
return
"QCELP"
;
378
case
GeneralMediaFormat::QuicktimeAudio
:
return
"Quicktime Audio"
;
379
case
GeneralMediaFormat::QuicktimeVideo
:
return
"Quicktime Video"
;
380
case
GeneralMediaFormat::RealAudio
:
return
"Real Audio"
;
381
case
GeneralMediaFormat::RealVideo
:
return
"Real Video"
;
382
case
GeneralMediaFormat::Sa0c
:
return
"SAOC"
;
383
case
GeneralMediaFormat::Smv
:
return
"SMV"
;
384
case
GeneralMediaFormat::StreamingTextStream
:
return
"Streaming Text Stream"
;
385
case
GeneralMediaFormat::SynthesizedTextureStream
:
return
"Synthesized Texture Stream"
;
386
case
GeneralMediaFormat::Systems
:
387
switch
(sub) {
388
case
2:
return
"Systems v2"
;
389
default
:
return
"Systems"
;
390
}
391
case
GeneralMediaFormat::TextSubtitle
:
392
switch
(sub) {
393
case
SubFormats::PlainUtf8Subtitle
:
return
""
;
394
case
SubFormats::SubStationAlpha
:
return
"SSA"
;
395
case
SubFormats::AdvancedSubStationAlpha
:
return
"ASS"
;
396
case
SubFormats::UniversalSubtitleFormat
:
return
"USF"
;
397
case
SubFormats::WebVideoTextTracksFormat
:
return
"WebVTT"
;
398
default
:
return
""
;
399
}
400
case
GeneralMediaFormat::Theora
:
return
"Theora"
;
401
case
GeneralMediaFormat::Tiff
:
return
"TIFF"
;
402
case
GeneralMediaFormat::TimedText
:
return
"Timed Text"
;
403
case
GeneralMediaFormat::Tta
:
return
"TTA"
;
404
case
GeneralMediaFormat::UncompressedVideoFrames
:
return
"uncompressed video frames"
;
405
case
GeneralMediaFormat::Vc1
:
return
"VC-1"
;
406
case
GeneralMediaFormat::VobBtn
:
return
"VobBtn"
;
407
case
GeneralMediaFormat::VobSub
:
return
"VobSub"
;
408
case
GeneralMediaFormat::Vorbis
:
return
"Vorbis"
;
409
case
GeneralMediaFormat::Vp8
:
return
"VP8"
;
410
case
GeneralMediaFormat::Vp9
:
return
"VP9"
;
411
case
GeneralMediaFormat::WavPack
:
return
"WavPack"
;
412
case
GeneralMediaFormat::WindowsMediaAudio
:
return
"WMA"
;
413
case
GeneralMediaFormat::WindowsMediaVideo
:
return
"WMV"
;
414
case
GeneralMediaFormat::DvbSub
:
return
"DVBSUB"
;
415
default
:
return
""
;
416
}
417
}
418
424
const
char
*
MediaFormat::extensionName
()
const
425
{
426
switch
(general) {
427
using namespace
ExtensionFormats;
428
case
GeneralMediaFormat::Aac
:
429
switch
(extension) {
430
case
SpectralBandReplication
:
431
return
"Spectral Band Replication / HE-AAC"
;
432
case
ParametricStereo
:
433
return
"Parametric Stereo / HE-AAC v2"
;
// PS always implies SBR?
434
case
(
SpectralBandReplication
|
ParametricStereo
):
435
return
"Spectral Band Replication and Parametric Stereo / HE-AAC v2"
;
436
default
:
437
;
438
}
439
break
;
440
default
:
441
;
442
}
443
return
""
;
444
}
445
449
const
char
*
mediaTypeName
(
MediaType
mediaType)
450
{
451
switch
(mediaType) {
452
case
MediaType::Audio
:
453
return
"Audio"
;
454
case
MediaType::Video
:
455
return
"Video"
;
456
case
MediaType::Text
:
457
return
"Subititle"
;
458
case
MediaType::Hint
:
459
return
"Hint"
;
460
case
MediaType::Buttons
:
461
return
"Buttons"
;
462
case
MediaType::Control
:
463
return
"Control"
;
464
case
MediaType::Unknown
:
465
return
"Other"
;
466
default
:
467
return
""
;
468
}
469
}
470
471
}
Media::GeneralMediaFormat::MicrosoftAudioCodecManager
Media::GeneralMediaFormat::Hevc
Media::MediaType
MediaType
The MediaType enum specifies the type of media data (audio, video, text, ...).
Definition:
mediaformat.h:13
Media::SubFormats::PcmIntBe
Definition:
mediaformat.h:228
Media::MediaType::Buttons
Media::SubFormats::Mpeg4FineGranularityScalableProfile3
Definition:
mediaformat.h:198
Media::MediaFormat::name
const char * name() const
Returns the name of the media format as C-style string.
Definition:
mediaformat.cpp:17
Media::GeneralMediaFormat::WindowsMediaVideo
Media::SubFormats::AacMpeg2LowComplexityProfile
Definition:
mediaformat.h:119
Media::GeneralMediaFormat::ImaadpcmAcm
Media::SubFormats::Mpeg4NBitPrifle2
Definition:
mediaformat.h:154
Media::GeneralMediaFormat::QuicktimeVideo
Media::GeneralMediaFormat::UncompressedVideoFrames
Media::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile2
Definition:
mediaformat.h:173
Media::SubFormats::Mpeg4CoreScalableProfile3
Definition:
mediaformat.h:171
Media::SubFormats::AvcBaselineProfile
Definition:
mediaformat.h:205
Media::SubFormats::AvcScalableHighProfile
Definition:
mediaformat.h:208
Media::GeneralMediaFormat::Aac
Media::FourccIds::Ac3
Definition:
mp4ids.h:142
Media::SubFormats::Mpeg4CoreProfile1
Definition:
mediaformat.h:149
Media::Flac
Definition:
signature.cpp:47
Media::GeneralMediaFormat::Qcelp
Media::GeneralMediaFormat::StreamingTextStream
Media::GeneralMediaFormat::DvbSub
Media::GeneralMediaFormat::Mpeg1Video
Media::GeneralMediaFormat::RealAudio
Media::SubFormats::Mpeg4AvcProfile
Definition:
mediaformat.h:162
Media::GeneralMediaFormat::FontDataStream
Media::GeneralMediaFormat::Vorbis
Media::SubFormats::AvcHighProfile
Definition:
mediaformat.h:210
Media::SubFormats::Mpeg4CoreStudioProfile1
Definition:
mediaformat.h:184
Media::Mpeg4ElementaryStreamObjectIds::Dirac
Definition:
mp4ids.h:459
Media::SubFormats::DtsHdMasterAudio
Definition:
mediaformat.h:224
Media::GeneralMediaFormat::MicrosoftVideoCodecManager
Media::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile4
Definition:
mediaformat.h:175
Media::SubFormats::WebVideoTextTracksFormat
Definition:
mediaformat.h:238
Media::GeneralMediaFormat::Gpp2Cmf
Media::SubFormats::AvcHighMultiviewProfile
Definition:
mediaformat.h:212
Media::SubFormats::PcmFloatIeee
Definition:
mediaformat.h:230
Media::SubFormats::AacMpeg2MainProfile
Definition:
mediaformat.h:118
Media::SubFormats::Mpeg2SpatialProfile
Definition:
mediaformat.h:136
Media::SubFormats::Mpeg4HybridProfile1
Definition:
mediaformat.h:163
Media::GeneralMediaFormat::VobSub
Media::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile3
Definition:
mediaformat.h:174
Media::SubFormats::Mpeg4AdvancedSimpleProfile0
Definition:
mediaformat.h:188
Media::SubFormats::PlainUtf8Subtitle
Definition:
mediaformat.h:234
Media::SubFormats::AacMpeg4MainProfile
Definition:
mediaformat.h:121
Media::SubFormats::Mpeg4AdvancedSimpleProfile1
Definition:
mediaformat.h:189
Media::SubFormats::AacMpeg4ERLowDelay
Definition:
mediaformat.h:128
Media::SubFormats::Mpeg4SimpleScalableProfile1
Definition:
mediaformat.h:147
Media::SubFormats::Mpeg1Layer2
Definition:
mediaformat.h:113
Media::MediaFormat::extensionName
const char * extensionName() const
Returns the abbreviation of the media format as C-style string.
Definition:
mediaformat.cpp:424
Media::SubFormats::AvcCavlc444IntraProfile
Definition:
mediaformat.h:204
Media::GeneralMediaFormat::AdpcmAcm
Media::GeneralMediaFormat::TimedText
Media::SubFormats::Mpeg4CoreStudioProfile4
Definition:
mediaformat.h:187
Media::SubFormats::Mpeg4SimpleFbaProfile1
Definition:
mediaformat.h:158
Media::SubFormats::AvcHigh444Profile
Definition:
mediaformat.h:216
Media::SubFormats::AvcHighMultiviewDepthProfile
Definition:
mediaformat.h:215
Media::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile1
Definition:
mediaformat.h:172
Media::MediaType::Video
Media::GeneralMediaFormat::Ac4
Media::GeneralMediaFormat::Mpeg2Audio
Media::SubFormats::Mpeg4AdvancedCoreProfile1
Definition:
mediaformat.h:176
Media::SubFormats::Mpeg4SimpleScalableProfile2
Definition:
mediaformat.h:148
Media::SubFormats::UniversalSubtitleFormat
Definition:
mediaformat.h:237
Media::SubFormats::Mpeg4SimpleProfile1
Definition:
mediaformat.h:142
Media::GeneralMediaFormat::Bitmap
Media::SubFormats::Mpeg1Layer3
Definition:
mediaformat.h:114
Media::SubFormats::AvcStereoHighProfile
Definition:
mediaformat.h:214
Media::GeneralMediaFormat::Theora
Media::SubFormats::ImgSubBmp
Definition:
mediaformat.h:242
Media::SubFormats::Mpeg4SimpleProfile3
Definition:
mediaformat.h:144
Media::GeneralMediaFormat::MicrosoftMpeg4
Media::GeneralMediaFormat::Mpeg2Video
Media::SubFormats::Mpeg4FineGranularityScalableProfile5
Definition:
mediaformat.h:200
Media::GeneralMediaFormat::Mpeg1Audio
Media::SubFormats::AvcHigh444PredictiveProfile
Definition:
mediaformat.h:217
Media::MediaType::Hint
Media::GeneralMediaFormat::Opus
Media::GeneralMediaFormat::DolbyMlp
Media::SubFormats::Mpeg4AdvancedSimpleProfile5
Definition:
mediaformat.h:193
Media::SubFormats::Mpeg4AdvancedScalableTexture2
Definition:
mediaformat.h:179
Media::GeneralMediaFormat::Pcm
Media::GeneralMediaFormat::SynthesizedTextureStream
Media::GeneralMediaFormat::Vp8
Media::SubFormats::Mpeg4SimpleFbaProfile2
Definition:
mediaformat.h:159
Media::SubFormats::AacMpeg4LongTermPrediction
Definition:
mediaformat.h:124
Media::SubFormats::Mpeg4CoreStudioProfile2
Definition:
mediaformat.h:185
Media::SubFormats::Mpeg4FineGranularityScalableProfile4
Definition:
mediaformat.h:199
Media::GeneralMediaFormat::Vc1
Media::SubFormats::AacMpeg4EREnhancedLowDelay
Definition:
mediaformat.h:129
Media::SubFormats::Mpeg4CoreScalableProfile1
Definition:
mediaformat.h:169
Media::GeneralMediaFormat::Dts
Media::ExtensionFormats::SpectralBandReplication
Definition:
mediaformat.h:252
Media::SubFormats::Mpeg4CoreScalableProfile2
Definition:
mediaformat.h:170
Media::GeneralMediaFormat::Tta
Media::GeneralMediaFormat::Gif
Media::GeneralMediaFormat::Mpeg4TimedText
Media::SubFormats::Mpeg4AdvancedScalableTexture1
Definition:
mediaformat.h:178
Media::SubFormats::AacMpeg4LowComplexityProfile
Definition:
mediaformat.h:122
Media::FourccIds::Png
Definition:
mp4ids.h:341
Media::SubFormats::Mpeg4SimpleStudioProfile2
Definition:
mediaformat.h:181
Media::SubFormats::DtsHdHighResolution
Definition:
mediaformat.h:223
Media::GeneralMediaFormat::QuicktimeAudio
Media::ExtensionFormats::ParametricStereo
Definition:
mediaformat.h:253
Media::SubFormats::AdvancedSubStationAlpha
Definition:
mediaformat.h:236
Media::SubFormats::Mpeg4SimpleStudioProfile1
Definition:
mediaformat.h:180
Media::SubFormats::DtsLossless
Definition:
mediaformat.h:222
Media::SubFormats::AacMpeg4ERLongTermPrediction
Definition:
mediaformat.h:127
Media::SubFormats::Mpeg4AdvancedSimpleProfile3
Definition:
mediaformat.h:191
Media::SubFormats::Mpeg4SimpleStudioProfile3
Definition:
mediaformat.h:182
Media::SubFormats::AacMpeg4ERScalableSampingRateProfile
Definition:
mediaformat.h:126
Media::GeneralMediaFormat::Tiff
Media::GeneralMediaFormat::Alac
Media::GeneralMediaFormat::Smv
Media::SubFormats::AacMpeg4ScalableSamplingRateProfile
Definition:
mediaformat.h:123
Media::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile1
Definition:
mediaformat.h:165
Media::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile3
Definition:
mediaformat.h:167
Media::GeneralMediaFormat::ImageSubtitle
Media::SubFormats::Mpeg2422Profile
Definition:
mediaformat.h:138
Media::SubFormats::Mpeg2MainProfile
Definition:
mediaformat.h:134
Media::SubFormats::Mpeg4FineGranularityScalableProfile0
Definition:
mediaformat.h:195
Media::MediaFormat::abbreviation
const char * abbreviation() const
Returns the abbreviation of the media format as C-style string.
Definition:
mediaformat.cpp:254
Media::SubFormats::Mpeg4BasicAnimatedTextureProfiel1
Definition:
mediaformat.h:160
Media::GeneralMediaFormat::Systems
Media::GeneralMediaFormat::Sa0c
Media::GeneralMediaFormat::WavPack
Media::SubFormats::Mpeg4AdvancedSimpleProfile4
Definition:
mediaformat.h:192
Media::SubFormats::AvcHigh10Profile
Definition:
mediaformat.h:211
Media::FourccIds::Jpeg
Definition:
mp4ids.h:300
Media::MediaType::Audio
Media::SubFormats::Mpeg4MainProfile2
Definition:
mediaformat.h:151
Media::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile2
Definition:
mediaformat.h:166
Media::SubFormats::Mpeg4FineGranularityScalableProfile2
Definition:
mediaformat.h:197
Media::SubFormats::AvcExtendedProfile
Definition:
mediaformat.h:209
Media::SubFormats::Mpeg1Layer1
Definition:
mediaformat.h:112
Media::SubFormats::Mpeg4CoreProfiel2
Definition:
mediaformat.h:150
Media::GeneralMediaFormat::Mpeg4Video
Media::SubFormats::Mpeg4MainProfile4
Definition:
mediaformat.h:153
Media::SubFormats::AacMpeg4ERLowComplecityProfile
Definition:
mediaformat.h:125
Media::SubFormats::DtsExpress
Definition:
mediaformat.h:221
Media::SubFormats::AacMpeg2ScalableSamplingRateProfile
Definition:
mediaformat.h:120
Media::GeneralMediaFormat::TextSubtitle
Media::SubFormats::Mpeg4AdvancedCoreProfile2
Definition:
mediaformat.h:177
Media::GeneralMediaFormat::RealVideo
Media::GeneralMediaFormat::Als
Media::SubFormats::Mpeg4SimpleStudioProfile4
Definition:
mediaformat.h:183
Media::SubFormats::Mpeg4SimpleScalableProfile0
Definition:
mediaformat.h:146
Media::GeneralMediaFormat::OggKate
Media::GeneralMediaFormat::DtsHd
Media::SubFormats::Mpeg4BasicAnimatedTextureProfiel2
Definition:
mediaformat.h:161
Media::GeneralMediaFormat::Vp9
Media::SubFormats::Mpeg4FineGranularityScalableProfile1
Definition:
mediaformat.h:196
Media::GeneralMediaFormat::EAc3
Media::SubFormats::Mpeg4CoreStudioProfile3
Definition:
mediaformat.h:186
Media::SubFormats::Mpeg4SimpleProfile2
Definition:
mediaformat.h:143
Media::SubFormats::SubStationAlpha
Definition:
mediaformat.h:235
Media
Contains all classes and functions of the TagInfo library.
Definition:
exceptions.h:9
Media::mediaTypeName
const char *TAG_PARSER_EXPORT mediaTypeName(MediaType mediaType)
Returns the string representation for the specified mediaType.
Definition:
mediaformat.cpp:449
Media::SubFormats::Mpeg2SimpleProfile
Definition:
mediaformat.h:133
Media::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile4
Definition:
mediaformat.h:168
Media::GeneralMediaFormat::VobBtn
Media::SubFormats::AvcHigh422Profile
Definition:
mediaformat.h:213
Media::SubFormats::Mpeg4AdvancedSimpleProfile2
Definition:
mediaformat.h:190
Media::GeneralMediaFormat::Avc
Media::SubFormats::AvcScalableBaselineProfile
Definition:
mediaformat.h:207
Media::GeneralMediaFormat::ProRes
Media::GeneralMediaFormat::Evrc
mediaformat.h
Media::SubFormats::Mpeg2HighProfile
Definition:
mediaformat.h:137
Media::SubFormats::Mpeg4SimpleFaceAnimationProfile2
Definition:
mediaformat.h:157
Media::GeneralMediaFormat::Amr
Media::SubFormats::Mpeg4AdvancedSimpleProfile3b
Definition:
mediaformat.h:194
Media::SubFormats::Mpeg4HybridProfile2
Definition:
mediaformat.h:164
Media::ContainerFormat::Unknown
Media::SubFormats::Mpeg4SimpleFaceAnimationProfile1
Definition:
mediaformat.h:156
Media::GeneralMediaFormat::Mpc
Media::GeneralMediaFormat::InteractionStream
Media::SubFormats::Mpeg4ScalableTextureProfile1
Definition:
mediaformat.h:155
Media::SubFormats::PcmIntLe
Definition:
mediaformat.h:229
Media::SubFormats::Mpeg2SnrProfile
Definition:
mediaformat.h:135
Media::SubFormats::AvcMainProfile
Definition:
mediaformat.h:206
Media::MediaType::Control
Media::TagDataType::Text
Media::GeneralMediaFormat::WindowsMediaAudio
Media::SubFormats::Mpeg4MainProfile3
Definition:
mediaformat.h:152
Media::SubFormats::Mpeg4SimpleProfile0
Definition:
mediaformat.h:145
Media::GeneralMediaFormat::AfxStream
Generated on Wed May 24 2017 23:42:21 for Tag Parser by
1.8.13