Tag Parser: mediaformat.cpp Source File

Tag Parser 12.5.3 C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags

Loading...
Searching...
No Matches
mediaformat.cpp
Go to the documentation of this file.
1#include "./mediaformat.h"
2
3namespace TagParser {
4
5using namespace SubFormats;
6
11
16std::string_view MediaFormat::name() const
17{
18 switch (general) {
19 case GeneralMediaFormat::Aac:
20 switch (sub) {
21 case AacMpeg2MainProfile:
22 return "Advanced Audio Coding Main Profile";
23 case AacMpeg2LowComplexityProfile:
24 return "Advanced Audio Coding Low Complexity Profile";
25 case AacMpeg2ScalableSamplingRateProfile:
26 return "Advanced Audio Coding Scalable Sampling Rate Profile";
27 case AacMpeg4MainProfile:
28 return "Advanced Audio Coding Main Profile";
29 case AacMpeg4LowComplexityProfile:
30 return "Advanced Audio Coding Low Complexity Profile";
31 case AacMpeg4ScalableSamplingRateProfile:
32 return "Advanced Audio Coding Scalable Sampling Rate Profile";
33 case AacMpeg4LongTermPrediction:
34 return "Advanced Audio Coding Long Term Predicition";
35 case AacMpeg4ERLowComplecityProfile:
36 return "Advanced Audio Coding Error Resilient Low Complexity Profile";
37 case AacMpeg4ERScalableSampingRateProfile:
38 return "Advanced Audio Coding Error Resilient Scalable Sampling Rate Profile";
39 case AacMpeg4ERLongTermPrediction:
40 return "Advanced Audio Coding Error Resilient Long Term Predicition";
41 case AacMpeg4ERLowDelay:
42 return "Advanced Audio Coding Error Resilient Low Delay";
43 case AacMpeg4EREnhancedLowDelay:
44 return "Advanced Audio Coding Error Resilient Enhanced Low Delay";
45 default:
46 return "Advanced Audio Coding";
47 }
48 case GeneralMediaFormat::Ac3:
49 return "Dolby Digital";
50 case GeneralMediaFormat::Ac4:
51 return "AC-4";
52 case GeneralMediaFormat::AdpcmAcm:
53 return "ADPCM ACM";
54 case GeneralMediaFormat::AfxStream:
55 return "AFX Stream";
56 case GeneralMediaFormat::Alac:
57 return "Apple Lossless Audio Codec";
58 case GeneralMediaFormat::Als:
59 return "ALS";
60 case GeneralMediaFormat::Amr:
61 return "Adaptive Multi-Rate audio codec";
62 case GeneralMediaFormat::Avc:
63 switch (sub) {
64 case AvcCavlc444IntraProfile:
65 return "Advanced Video Coding CAVLC 4:4:4 Intra Profile";
66 case AvcBaselineProfile:
67 return "Advanced Video Coding Basline Profile";
68 case AvcMainProfile:
69 return "Advanced Video Coding Main Profile";
70 case AvcScalableBaselineProfile:
71 return "Advanced Video Coding Scalable Basline Profile";
72 case AvcScalableHighProfile:
73 return "Advanced Video Coding Scalable High Profile";
74 case AvcExtendedProfile:
75 return "Advanced Video Coding Extended Profile";
76 case AvcHighProfile:
77 return "Advanced Video Coding High Profile";
78 case AvcHigh10Profile:
79 return "Advanced Video Coding High 10 Profile";
80 case AvcHighMultiviewProfile:
81 return "Advanced Video Coding Multiview Profile";
82 case AvcHigh422Profile:
83 return "Advanced Video Coding High 4:2:2 Profile";
84 case AvcStereoHighProfile:
85 return "Advanced Video Coding Stereo High Profile";
86 case AvcHighMultiviewDepthProfile:
87 return "Advanced Video Coding Multiview Depth High Profile";
88 case AvcHigh444Profile:
89 return "Advanced Video Coding High 4:4:4 Profile";
90 case AvcHigh444PredictiveProfile:
91 return "Advanced Video Coding High 4:4:4 Predictive Profile";
92 default:
93 return "Advanced Video Coding";
94 }
95 case GeneralMediaFormat::Av1:
96 return "AOMedia Video 1";
97 case GeneralMediaFormat::Bitmap:
98 return "Windows Bitmap";
99 case GeneralMediaFormat::Daala:
100 return "Daala";
101 case GeneralMediaFormat::Dirac:
102 return "Dirac";
103 case GeneralMediaFormat::Dts:
104 switch (sub) {
105 case DtsLossless:
106 return "DTS Lossless";
107 case DtsExpress:
108 return "DTS Express";
109 default:
110 return "DTS";
111 }
112 case GeneralMediaFormat::DtsHd:
113 switch (sub) {
114 case DtsHdHighResolution:
115 return "DTS-HD High Resolution";
116 case DtsHdMasterAudio:
117 return "DTS-HD Master Audio";
118 case DtsExpress:
119 return "DTS-HD Express";
120 default:
121 return "DTS-HD";
122 }
123 case GeneralMediaFormat::EAc3:
124 return "Dolby Digital Plus";
125 case GeneralMediaFormat::Evrc:
126 return "EVRC";
127 case GeneralMediaFormat::Flac:
128 return "Free Lossless Audio Codec";
129 case GeneralMediaFormat::FontDataStream:
130 return "Font Data Stream";
131 case GeneralMediaFormat::Gif:
132 return "GIF";
133 case GeneralMediaFormat::Gpp2Cmf:
134 return "3GPP2 Compact Multimedia Format (CMF)";
135 case GeneralMediaFormat::Hevc:
136 return "High Efficiency Video Coding";
137 case GeneralMediaFormat::Vcc:
138 return "Versatile Video Coding";
139 case GeneralMediaFormat::ImaadpcmAcm:
140 return "IMAADPCM ACM";
141 case GeneralMediaFormat::ImageSubtitle:
142 switch (sub) {
143 case SubFormats::ImgSubBmp:
144 return "Bitmap subtitle";
145 default:
146 return "Image subtitle";
147 }
148 case GeneralMediaFormat::InteractionStream:
149 return "Interaction Stream";
150 case GeneralMediaFormat::Jpeg:
151 return "JPEG";
152 case GeneralMediaFormat::OggKate:
153 return "Karaoke And Text Encapsulation";
154 case GeneralMediaFormat::Opus:
155 return "Opus";
156 case GeneralMediaFormat::MicrosoftAudioCodecManager:
157 return "Microsoft Audio Codec Manager";
158 case GeneralMediaFormat::MicrosoftMpeg4:
159 switch (sub) {
160 case 1:
161 return "Microsoft MPEG-4 version 1";
162 case 2:
163 return "Microsoft MPEG-4 version 2";
164 case 3:
165 return "Microsoft MPEG-4 version 3";
166 default:
167 return "Microsoft MPEG-4";
168 }
169 case GeneralMediaFormat::MicrosoftVideoCodecManager:
170 return "Microsoft Video Codec Manager";
171 case GeneralMediaFormat::DolbyMlp:
172 return "Dolby TrueHD";
173 case GeneralMediaFormat::Mpeg1Audio:
174 switch (sub) {
175 case Mpeg1Layer1:
176 return "MPEG-1 Layer 1";
177 case Mpeg1Layer2:
178 return "MPEG-1 Layer 2";
179 case Mpeg1Layer3:
180 return "MPEG-1 Layer 3";
181 default:
182 return "MPEG-1 Audio";
183 }
184 case GeneralMediaFormat::Mpeg1Video:
185 return "MPEG-1 Video";
186 case GeneralMediaFormat::Mpeg2Audio:
187 switch (sub) {
188 case Mpeg1Layer1:
189 return "MPEG-2 Layer 1";
190 case Mpeg1Layer2:
191 return "MPEG-2 Layer 2";
192 case Mpeg1Layer3:
193 return "MPEG-2 Layer 3";
194 default:
195 return "MPEG-2 Audio";
196 }
197 case GeneralMediaFormat::Mpeg2Video:
198 switch (sub) {
199 case Mpeg2SimpleProfile:
200 return "MPEG-2 Video Simple Profile";
201 case Mpeg2MainProfile:
202 return "MPEG-2 Video Main Profile";
203 case Mpeg2SnrProfile:
204 return "MPEG-2 Video SNR Profile";
205 case Mpeg2SpatialProfile:
206 return "MPEG-2 Video Spatial Profile";
207 case Mpeg2HighProfile:
208 return "MPEG-2 Video High Profile";
209 case Mpeg2422Profile:
210 return "MPEG-2 Video 422 Profile";
211 default:
212 return "MPEG-2 Video";
213 }
214 case GeneralMediaFormat::Mpeg4Video:
215 switch (sub) {
216 case Mpeg4SimpleProfile1:
217 return "MPEG-4 Simple Profile L1";
218 case Mpeg4SimpleProfile2:
219 return "MPEG-4 Simple Profile L2";
220 case Mpeg4SimpleProfile3:
221 return "MPEG-4 Simple Profile L2";
222 case Mpeg4SimpleProfile0:
223 return "MPEG-4 Simple Profile";
224 case Mpeg4SimpleScalableProfile0:
225 return "MPEG-4 Simple Scalable Profile";
226 case Mpeg4SimpleScalableProfile1:
227 return "MPEG-4 Simple Scalable Profile L1";
228 case Mpeg4SimpleScalableProfile2:
229 return "MPEG-4 Simple Scalable Profile L2";
230 case Mpeg4CoreProfile1:
231 return "MPEG-4 Core Profile L1";
232 case Mpeg4CoreProfiel2:
233 return "MPEG-4 Core Profile L2";
234 case Mpeg4MainProfile2:
235 return "MPEG-4 Main Profile L2";
236 case Mpeg4MainProfile3:
237 return "MPEG-4 Main Profile L3";
238 case Mpeg4MainProfile4:
239 return "MPEG-4 Main Profile L4";
240 case Mpeg4NBitPrifle2:
241 return "MPEG-4 N-Bit Profile L2";
242 case Mpeg4ScalableTextureProfile1:
243 return "MPEG-4 Scalable Texture Profile L1";
244 case Mpeg4SimpleFaceAnimationProfile1:
245 return "MPEG-4 Simple Face Animation Profile L1";
246 case Mpeg4SimpleFaceAnimationProfile2:
247 return "MPEG-4 Simple Face Animation Profile L2";
248 case Mpeg4SimpleFbaProfile1:
249 return "MPEG-4 Simple FBA Profile L1";
250 case Mpeg4SimpleFbaProfile2:
251 return "MPEG-4 Simple FBA Profile L2";
252 case Mpeg4BasicAnimatedTextureProfiel1:
253 return "MPEG-4 Basic Animated Texture Profile L1";
254 case Mpeg4BasicAnimatedTextureProfiel2:
255 return "MPEG-4 Basic Animated Texture Profile L2";
256 case Mpeg4AvcProfile:
257 return "MPEG-4 Advanced Audio Coding Profile";
258 case Mpeg4HybridProfile1:
259 return "MPEG-4 Hybrid Profile L1";
260 case Mpeg4HybridProfile2:
261 return "MPEG-4 Hybrid Profile L2";
262 case Mpeg4AdvancedRealTimeSimpleProfile1:
263 return "MPEG-4 Basic Animated Texture Profile L1";
264 case Mpeg4AdvancedRealTimeSimpleProfile2:
265 return "MPEG-4 Basic Animated Texture Profile L2";
266 case Mpeg4AdvancedRealTimeSimpleProfile3:
267 return "MPEG-4 Basic Animated Texture Profile L3";
268 case Mpeg4AdvancedRealTimeSimpleProfile4:
269 return "MPEG-4 Basic Animated Texture Profile L4";
270 case Mpeg4CoreScalableProfile1:
271 return "MPEG-4 Core Scalable Profile L1";
272 case Mpeg4CoreScalableProfile2:
273 return "MPEG-4 Core Scalable Profile L2";
274 case Mpeg4CoreScalableProfile3:
275 return "MPEG-4 Core Scalable Profile L3";
276 case Mpeg4AdvancedCodingEfficiencyProfile1:
277 return "MPEG-4 Advanced Coding Efficiency Profile L1";
278 case Mpeg4AdvancedCodingEfficiencyProfile2:
279 return "MPEG-4 Advanced Coding Efficiency Profile L2";
280 case Mpeg4AdvancedCodingEfficiencyProfile3:
281 return "MPEG-4 Advanced Coding Efficiency Profile L3";
282 case Mpeg4AdvancedCodingEfficiencyProfile4:
283 return "MPEG-4 Advanced Coding Efficiency Profile L4";
284 case Mpeg4AdvancedCoreProfile1:
285 return "MPEG-4 Advanced Core Profile L1";
286 case Mpeg4AdvancedCoreProfile2:
287 return "MPEG-4 Advanced Core Profile L2";
288 case Mpeg4AdvancedScalableTexture1:
289 return "MPEG-4 Advanced Scalable Texture L1";
290 case Mpeg4AdvancedScalableTexture2:
291 return "MPEG-4 Advanced Scalable Texture L2";
292 case Mpeg4SimpleStudioProfile1:
293 return "MPEG-4 Simple Studio Profile L1";
294 case Mpeg4SimpleStudioProfile2:
295 return "MPEG-4 Simple Studio Profile L2";
296 case Mpeg4SimpleStudioProfile3:
297 return "MPEG-4 Simple Studio Profile L3";
298 case Mpeg4SimpleStudioProfile4:
299 return "MPEG-4 Simple Studio Profile L4";
300 case Mpeg4CoreStudioProfile1:
301 return "MPEG-4 Core Studio Profile L1";
302 case Mpeg4CoreStudioProfile2:
303 return "MPEG-4 Core Studio Profile L2";
304 case Mpeg4CoreStudioProfile3:
305 return "MPEG-4 Core Studio Profile L3";
306 case Mpeg4CoreStudioProfile4:
307 return "MPEG-4 Core Studio Profile L4";
308 case Mpeg4AdvancedSimpleProfile0:
309 return "MPEG-4 Advanced Simple Profile";
310 case Mpeg4AdvancedSimpleProfile1:
311 return "MPEG-4 Advanced Simple Profile L1";
312 case Mpeg4AdvancedSimpleProfile2:
313 return "MPEG-4 Advanced Simple Profile L2";
314 case Mpeg4AdvancedSimpleProfile3:
315 return "MPEG-4 Advanced Simple Profile L3";
316 case Mpeg4AdvancedSimpleProfile4:
317 return "MPEG-4 Advanced Simple Profile L4";
318 case Mpeg4AdvancedSimpleProfile5:
319 return "MPEG-4 Advanced Simple Profile L5";
320 case Mpeg4AdvancedSimpleProfile3b:
321 return "MPEG-4 Advanced Simple Profile L3b";
322 case Mpeg4FineGranularityScalableProfile0:
323 return "MPEG-4 Fine Granularity Scalable Profile";
324 case Mpeg4FineGranularityScalableProfile1:
325 return "MPEG-4 Fine Granularity Scalable Profile L1";
326 case Mpeg4FineGranularityScalableProfile2:
327 return "MPEG-4 Fine Granularity Scalable Profile L2";
328 case Mpeg4FineGranularityScalableProfile3:
329 return "MPEG-4 Fine Granularity Scalable Profile L3";
330 case Mpeg4FineGranularityScalableProfile4:
331 return "MPEG-4 Fine Granularity Scalable Profile L4";
332 case Mpeg4FineGranularityScalableProfile5:
333 return "MPEG-4 Fine Granularity Scalable Profile L5";
334 default:
335 return "MPEG-4 Visual";
336 }
337 case GeneralMediaFormat::Mpeg4TimedText:
338 return "MPEG-4 Timed Text";
339 case GeneralMediaFormat::Mpc:
340 return "Musepack SV8";
341 case GeneralMediaFormat::Pcm:
342 switch (sub) {
343 case PcmIntBe:
344 return "Pulse Code Modulation (integer, big endian)";
345 case PcmIntLe:
346 return "Pulse Code Modulation (integer, little endian)";
347 case PcmFloatIeee:
348 return "Pulse Code Modulation (float, IEEE)";
349 default:
350 return "Pulse Code Modulation";
351 }
352 case GeneralMediaFormat::Png:
353 return "Portable Network Graphics";
354 case GeneralMediaFormat::ProRes:
355 return "ProRes";
356 case GeneralMediaFormat::Qcelp:
357 return "QCELP";
358 case GeneralMediaFormat::QuicktimeAudio:
359 return "Quicktime Audio";
360 case GeneralMediaFormat::QuicktimeVideo:
361 return "Quicktime Video";
362 case GeneralMediaFormat::RealAudio:
363 return "Real Audio";
364 case GeneralMediaFormat::RealVideo:
365 return "Real Video";
366 case GeneralMediaFormat::Sa0c:
367 return "SAOC";
368 case GeneralMediaFormat::Smv:
369 return "SMV";
370 case GeneralMediaFormat::StreamingTextStream:
371 return "Streaming Text Stream";
372 case GeneralMediaFormat::SynthesizedTextureStream:
373 return "Synthesized Texture Stream";
374 case GeneralMediaFormat::Systems:
375 switch (sub) {
376 case 2:
377 return "Systems v2";
378 default:
379 return "Systems";
380 }
381 case GeneralMediaFormat::TextSubtitle:
382 switch (sub) {
383 case SubFormats::PlainUtf8Subtitle:
384 return "plain UTF-8 subtitle";
385 case SubFormats::SubStationAlpha:
386 return "SubStation Alpha";
387 case SubFormats::AdvancedSubStationAlpha:
388 return "Advanced SubStation Alpha";
389 case SubFormats::UniversalSubtitleFormat:
390 return "Universal Subtitle Format";
391 case SubFormats::WebVideoTextTracksFormat:
392 return "Web Video Text Tracks Format";
393 default:
394 return "Text subtitle";
395 }
396 case GeneralMediaFormat::Theora:
397 return "Theora";
398 case GeneralMediaFormat::Tiff:
399 return "Tagged Image File Format";
400 case GeneralMediaFormat::TimedText:
401 return "Timed Text";
402 case GeneralMediaFormat::Tta:
403 return "The True Audio";
404 case GeneralMediaFormat::UncompressedVideoFrames:
405 return "uncompressed video frames";
406 case GeneralMediaFormat::Vc1:
407 return "Windows Media Video";
408 case GeneralMediaFormat::VobBtn:
409 return "VobBtn Buttons";
410 case GeneralMediaFormat::VobSub:
411 return "VobSub";
412 case GeneralMediaFormat::Vorbis:
413 return "Vorbis";
414 case GeneralMediaFormat::Vp8:
415 return "VP8";
416 case GeneralMediaFormat::Vp9:
417 return "VP9";
418 case GeneralMediaFormat::WavPack:
419 return "WavPack";
420 case GeneralMediaFormat::WindowsMediaAudio:
421 return "Windows Media Audio";
422 case GeneralMediaFormat::WindowsMediaVideo:
423 switch (sub) {
424 case 1:
425 return "Windows Media Video v1/v7";
426 case 2:
427 return "Windows Media Video v2/v8";
428 default:
429 return "Windows Media Video";
430 }
431 case GeneralMediaFormat::DvbSub:
432 return "DVB subtitles";
433 case GeneralMediaFormat::Speex:
434 return "Speex";
435 case GeneralMediaFormat::MonkeysAudio:
436 return "Monkey's Audio";
437 default:
438 return "unknown";
439 }
440}
441
446std::string_view MediaFormat::abbreviation() const
447{
448 switch (general) {
449 case GeneralMediaFormat::Aac:
450 switch (sub) {
451 case AacMpeg2MainProfile:
452 return "MPEG-2 AAC Main";
453 case AacMpeg2LowComplexityProfile:
454 return "MPEG-2 AAC-LC";
455 case AacMpeg2ScalableSamplingRateProfile:
456 return "MPEG-2 AAC-SSR";
457 case AacMpeg4MainProfile:
458 return "MPEG-4 AAC Main";
459 case AacMpeg4LowComplexityProfile:
460 return "MPEG-4 AAC-LC";
461 case AacMpeg4ScalableSamplingRateProfile:
462 return "MPEG-4 AAC-SSR";
463 case AacMpeg4LongTermPrediction:
464 return "MPEG-4 AAC-LTP";
465 case AacMpeg4ERLowComplecityProfile:
466 return "MPEG-4 ER AAC-LC";
467 case AacMpeg4ERScalableSampingRateProfile:
468 return "MPEG-4 ER AAC-LC";
469 case AacMpeg4ERLongTermPrediction:
470 return "MPEG-4 ER AAC-LTP";
471 case AacMpeg4ERLowDelay:
472 return "MPEG-4 ER AAC-LD";
473 case AacMpeg4EREnhancedLowDelay:
474 return "MPEG-4 ER AAC-ELD";
475 default:
476 return "AAC";
477 }
478 case GeneralMediaFormat::Ac3:
479 return "AC-3";
480 case GeneralMediaFormat::Ac4:
481 return "AC-4";
482 case GeneralMediaFormat::AdpcmAcm:
483 return "ADPCM ACM";
484 case GeneralMediaFormat::AfxStream:
485 return "AFX";
486 case GeneralMediaFormat::Alac:
487 return "ALAC";
488 case GeneralMediaFormat::Als:
489 return "ALS";
490 case GeneralMediaFormat::Amr:
491 return "AMR";
492 case GeneralMediaFormat::Avc:
493 switch (sub) {
494 case AvcCavlc444IntraProfile:
495 return "H.264 CAVLC 4:4:4 Intra";
496 case AvcBaselineProfile:
497 return "H.264 Basline";
498 case AvcMainProfile:
499 return "H.264 Main";
500 case AvcScalableBaselineProfile:
501 return "H.264 Scalable Basline";
502 case AvcScalableHighProfile:
503 return "H.264 Scalable High";
504 case AvcExtendedProfile:
505 return "H.264 Extended";
506 case AvcHighProfile:
507 return "H.264 High";
508 case AvcHigh10Profile:
509 return "H.264 High 10";
510 case AvcHighMultiviewProfile:
511 return "H.264 Multiview";
512 case AvcHigh422Profile:
513 return "H.264 High 4:2:2";
514 case AvcStereoHighProfile:
515 return "H.264 Stereo High";
516 case AvcHighMultiviewDepthProfile:
517 return "H.264 Multiview Depth High";
518 case AvcHigh444Profile:
519 return "H.264 High 4:4:4";
520 case AvcHigh444PredictiveProfile:
521 return "H.264 High 4:4:4 Predictive";
522 default:
523 return "H.264";
524 }
525 case GeneralMediaFormat::Av1:
526 return "AV1";
527 case GeneralMediaFormat::Bitmap:
528 return "BMP";
529 case GeneralMediaFormat::Daala:
530 return "Daala";
531 case GeneralMediaFormat::Dirac:
532 return "Dirac";
533 case GeneralMediaFormat::Dts:
534 switch (sub) {
535 case DtsLossless:
536 return "DTS Lossless";
537 case DtsExpress:
538 return "DTS LBR";
539 default:
540 return "DTS";
541 }
542 case GeneralMediaFormat::DtsHd:
543 switch (sub) {
544 case DtsHdHighResolution:
545 return "DTS-HD High Resolution";
546 case DtsHdMasterAudio:
547 return "DTS-HD Master Audio";
548 case DtsExpress:
549 return "DTS-HD Express";
550 default:
551 return "DTS-HD";
552 }
553 case GeneralMediaFormat::EAc3:
554 return "E-AC-3";
555 case GeneralMediaFormat::Evrc:
556 return "EVRC";
557 case GeneralMediaFormat::Flac:
558 return "FLAC";
559 case GeneralMediaFormat::FontDataStream:
560 return "FDS";
561 case GeneralMediaFormat::Gif:
562 return "GIF";
563 case GeneralMediaFormat::Gpp2Cmf:
564 return "3GPP2 CMF";
565 case GeneralMediaFormat::Hevc:
566 return "H.265";
567 case GeneralMediaFormat::Vcc:
568 return "H.266";
569 case GeneralMediaFormat::ImaadpcmAcm:
570 return "IMAADPCM ACM";
571 case GeneralMediaFormat::ImageSubtitle:
572 switch (sub) {
573 case SubFormats::ImgSubBmp:
574 return "BMP subtitle";
575 default:
576 return "Image subtitle";
577 }
578 case GeneralMediaFormat::InteractionStream:
579 return "Interaction Stream";
580 case GeneralMediaFormat::Jpeg:
581 return "JPEG";
582 case GeneralMediaFormat::OggKate:
583 return "OggKate";
584 case GeneralMediaFormat::Opus:
585 return "Opus";
586 case GeneralMediaFormat::MicrosoftAudioCodecManager:
587 return "MS ACM";
588 case GeneralMediaFormat::MicrosoftMpeg4:
589 switch (sub) {
590 case 1:
591 return "MS MPEG-4 v1";
592 case 2:
593 return "MS MPEG-4 v2";
594 case 3:
595 return "MS MPEG-4 v3";
596 default:
597 return "MS MPEG-4";
598 }
599 case GeneralMediaFormat::MicrosoftVideoCodecManager:
600 return "MS VCM";
601 case GeneralMediaFormat::DolbyMlp:
602 return "Dolby TrueHD";
603 case GeneralMediaFormat::Mpeg1Audio:
604 switch (sub) {
605 case Mpeg1Layer1:
606 return "MP1";
607 case Mpeg1Layer2:
608 return "MP2";
609 case Mpeg1Layer3:
610 return "MP3";
611 default:
612 return "MPEG-1 Audio";
613 }
614 case GeneralMediaFormat::Mpeg1Video:
615 return "MP1";
616 case GeneralMediaFormat::Mpeg2Audio:
617 switch (sub) {
618 case Mpeg1Layer1:
619 return "MP1";
620 case Mpeg1Layer2:
621 return "MP2";
622 case Mpeg1Layer3:
623 return "MP3";
624 default:
625 return "MPEG-2 Audio";
626 }
627 case GeneralMediaFormat::Mpeg2Video:
628 switch (sub) {
629 case Mpeg2SimpleProfile:
630 return "MPEG-2 SP";
631 case Mpeg2MainProfile:
632 return "MPEG-2 Main";
633 case Mpeg2SnrProfile:
634 return "MPEG-2 SNR";
635 case Mpeg2SpatialProfile:
636 return "MPEG-2 Spatial";
637 case Mpeg2HighProfile:
638 return "MPEG-2 High";
639 case Mpeg2422Profile:
640 return "MPEG-2 422";
641 default:
642 return "MPEG-2 Video";
643 }
644 case GeneralMediaFormat::Mpeg4Video:
645 switch (sub) {
646 case Mpeg4SimpleProfile1:
647 case Mpeg4SimpleProfile2:
648 case Mpeg4SimpleProfile3:
649 case Mpeg4SimpleProfile0:
650 return "MPEG-4 SP";
651 case Mpeg4AdvancedSimpleProfile0:
652 case Mpeg4AdvancedSimpleProfile1:
653 case Mpeg4AdvancedSimpleProfile2:
654 case Mpeg4AdvancedSimpleProfile3:
655 case Mpeg4AdvancedSimpleProfile4:
656 case Mpeg4AdvancedSimpleProfile5:
657 case Mpeg4AdvancedSimpleProfile3b:
658 return "MPEG-4 ASP";
659 case Mpeg4AvcProfile:
660 return "H.264";
661 default:
662 return "MPEG-4 Visual";
663 }
664 case GeneralMediaFormat::Mpc:
665 return "MPC";
666 case GeneralMediaFormat::Pcm:
667 switch (sub) {
668 case PcmIntBe:
669 return "PCM (int, BE)";
670 case PcmIntLe:
671 return "PCM (int, LE)";
672 case PcmFloatIeee:
673 return "PCM IEEE";
674 default:
675 return "PCM";
676 }
677 case GeneralMediaFormat::Png:
678 return "PNG";
679 case GeneralMediaFormat::ProRes:
680 return "ProRes";
681 case GeneralMediaFormat::Qcelp:
682 return "QCELP";
683 case GeneralMediaFormat::QuicktimeAudio:
684 return "Quicktime Audio";
685 case GeneralMediaFormat::QuicktimeVideo:
686 return "Quicktime Video";
687 case GeneralMediaFormat::RealAudio:
688 return "Real Audio";
689 case GeneralMediaFormat::RealVideo:
690 return "Real Video";
691 case GeneralMediaFormat::Sa0c:
692 return "SAOC";
693 case GeneralMediaFormat::Smv:
694 return "SMV";
695 case GeneralMediaFormat::StreamingTextStream:
696 return "Streaming Text Stream";
697 case GeneralMediaFormat::SynthesizedTextureStream:
698 return "Synthesized Texture Stream";
699 case GeneralMediaFormat::Systems:
700 switch (sub) {
701 case 2:
702 return "Systems v2";
703 default:
704 return "Systems";
705 }
706 case GeneralMediaFormat::TextSubtitle:
707 switch (sub) {
708 case SubFormats::PlainUtf8Subtitle:
709 return "";
710 case SubFormats::SubStationAlpha:
711 return "SSA";
712 case SubFormats::AdvancedSubStationAlpha:
713 return "ASS";
714 case SubFormats::UniversalSubtitleFormat:
715 return "USF";
716 case SubFormats::WebVideoTextTracksFormat:
717 return "WebVTT";
718 default:
719 return "";
720 }
721 case GeneralMediaFormat::Theora:
722 return "Theora";
723 case GeneralMediaFormat::Tiff:
724 return "TIFF";
725 case GeneralMediaFormat::TimedText:
726 return "Timed Text";
727 case GeneralMediaFormat::Tta:
728 return "TTA";
729 case GeneralMediaFormat::UncompressedVideoFrames:
730 return "uncompressed video frames";
731 case GeneralMediaFormat::Vc1:
732 return "VC-1";
733 case GeneralMediaFormat::VobBtn:
734 return "VobBtn";
735 case GeneralMediaFormat::VobSub:
736 return "VobSub";
737 case GeneralMediaFormat::Vorbis:
738 return "Vorbis";
739 case GeneralMediaFormat::Vp8:
740 return "VP8";
741 case GeneralMediaFormat::Vp9:
742 return "VP9";
743 case GeneralMediaFormat::WavPack:
744 return "WavPack";
745 case GeneralMediaFormat::WindowsMediaAudio:
746 return "WMA";
747 case GeneralMediaFormat::WindowsMediaVideo:
748 return "WMV";
749 case GeneralMediaFormat::DvbSub:
750 return "DVBSUB";
751 case GeneralMediaFormat::Speex:
752 return "Speex";
753 default:
754 return "";
755 }
756}
757
762std::string_view MediaFormat::shortAbbreviation() const
763{
764 switch (general) {
765 case GeneralMediaFormat::Aac:
766 switch (sub) {
767 case AacMpeg2MainProfile:
768 case AacMpeg4MainProfile:
769 return "AAC-Main";
770 case AacMpeg2LowComplexityProfile:
771 case AacMpeg4LowComplexityProfile:
772 case AacMpeg4ERLowComplecityProfile:
773 switch (extension) {
774 using namespace ExtensionFormats;
775 case SpectralBandReplication:
776 case ParametricStereo:
777 case (SpectralBandReplication | ParametricStereo):
778 return "HE-AAC";
779 default:
780 return "AAC-LC";
781 }
782 case AacMpeg4ERScalableSampingRateProfile:
783 return "AAC-LC";
784 case AacMpeg2ScalableSamplingRateProfile:
785 case AacMpeg4ScalableSamplingRateProfile:
786 return "AAC-SSR";
787 case AacMpeg4LongTermPrediction:
788 case AacMpeg4ERLongTermPrediction:
789 return "AAC-LTP";
790 case AacMpeg4ERLowDelay:
791 return "AAC-LD";
792 case AacMpeg4EREnhancedLowDelay:
793 return "AAC-ELD";
794 default:
795 return "AAC";
796 }
797 case GeneralMediaFormat::Ac3:
798 return "AC3";
799 case GeneralMediaFormat::Ac4:
800 return "AC4";
801 case GeneralMediaFormat::AdpcmAcm:
802 return "ADPCM-ACM";
803 case GeneralMediaFormat::AfxStream:
804 return "AFX";
805 case GeneralMediaFormat::Alac:
806 return "ALAC";
807 case GeneralMediaFormat::Als:
808 return "ALS";
809 case GeneralMediaFormat::Amr:
810 return "AMR";
811 case GeneralMediaFormat::Avc:
812 switch (sub) {
813 case AvcCavlc444IntraProfile:
814 return "H.264-CAVLC";
815 case AvcBaselineProfile:
816 return "H.264-Basline";
817 case AvcMainProfile:
818 return "H.264-Main";
819 case AvcScalableBaselineProfile:
820 return "H.264-Scalable-Basline";
821 case AvcScalableHighProfile:
822 return "H.264-Scalable-High";
823 case AvcExtendedProfile:
824 return "H.264-Extended";
825 case AvcHighProfile:
826 return "H.264-High";
827 case AvcHigh10Profile:
828 return "H.264-High-10";
829 case AvcHighMultiviewProfile:
830 return "H.264-Multiview";
831 case AvcHigh422Profile:
832 return "H.264-High-4:2:2";
833 case AvcStereoHighProfile:
834 return "H.264-Stereo-High";
835 case AvcHighMultiviewDepthProfile:
836 return "H.264-Multiview-Depth-High";
837 case AvcHigh444Profile:
838 return "H.264-High-4:4:4";
839 case AvcHigh444PredictiveProfile:
840 return "H.264-High-4:4:4-Predictive";
841 default:
842 return "H.264";
843 }
844 case GeneralMediaFormat::Av1:
845 return "AV1";
846 case GeneralMediaFormat::Bitmap:
847 return "BMP";
848 case GeneralMediaFormat::Daala:
849 return "Daala";
850 case GeneralMediaFormat::Dirac:
851 return "Dirac";
852 case GeneralMediaFormat::Dts:
853 switch (sub) {
854 case DtsLossless:
855 return "DTS-Lossless";
856 case DtsExpress:
857 return "DTS-LBR";
858 default:
859 return "DTS";
860 }
861 case GeneralMediaFormat::DtsHd:
862 return "DTS-HD";
863 case GeneralMediaFormat::EAc3:
864 return "E-AC-3";
865 case GeneralMediaFormat::Evrc:
866 return "EVRC";
867 case GeneralMediaFormat::Flac:
868 return "FLAC";
869 case GeneralMediaFormat::FontDataStream:
870 return "FDS";
871 case GeneralMediaFormat::Gif:
872 return "GIF";
873 case GeneralMediaFormat::Gpp2Cmf:
874 return "3GPP2-CMF";
875 case GeneralMediaFormat::Hevc:
876 return "H.265";
877 case GeneralMediaFormat::Vcc:
878 return "H.266";
879 case GeneralMediaFormat::ImaadpcmAcm:
880 return "IMAADPCM-ACM";
881 case GeneralMediaFormat::ImageSubtitle:
882 return "BMP";
883 case GeneralMediaFormat::Jpeg:
884 return "JPEG";
885 case GeneralMediaFormat::OggKate:
886 return "OggKate";
887 case GeneralMediaFormat::Opus:
888 return "Opus";
889 case GeneralMediaFormat::MicrosoftAudioCodecManager:
890 return "MS-ACM";
891 case GeneralMediaFormat::MicrosoftMpeg4:
892 return "MS-MPEG-4";
893 case GeneralMediaFormat::MicrosoftVideoCodecManager:
894 return "MS-VCM";
895 case GeneralMediaFormat::DolbyMlp:
896 return "TrueHD";
897 case GeneralMediaFormat::Mpeg1Audio:
898 switch (sub) {
899 case Mpeg1Layer1:
900 return "MP1";
901 case Mpeg1Layer2:
902 return "MP2";
903 default:
904 // since MP3 is backward compatible, it is ok to use it also as fallback
905 return "MP3";
906 }
907 case GeneralMediaFormat::Mpeg1Video:
908 return "MP1";
909 case GeneralMediaFormat::Mpeg2Audio:
910 switch (sub) {
911 case Mpeg1Layer1:
912 return "MP1";
913 case Mpeg1Layer2:
914 return "MP2";
915 default:
916 // since MP3 is backward compatible, it is ok to use it also as fallback
917 return "MP3";
918 }
919 case GeneralMediaFormat::Mpeg2Video:
920 switch (sub) {
921 case Mpeg2SimpleProfile:
922 return "MPEG-2-SP";
923 case Mpeg2MainProfile:
924 return "MPEG-2-Main";
925 case Mpeg2SnrProfile:
926 return "MPEG-2-SNR";
927 case Mpeg2SpatialProfile:
928 return "MPEG-2-Spatial";
929 case Mpeg2HighProfile:
930 return "MPEG-2-High";
931 case Mpeg2422Profile:
932 return "MPEG-2-422";
933 default:
934 return "MPEG-2";
935 }
936 case GeneralMediaFormat::Mpeg4Video:
937 switch (sub) {
938 case Mpeg4SimpleProfile1:
939 case Mpeg4SimpleProfile2:
940 case Mpeg4SimpleProfile3:
941 case Mpeg4SimpleProfile0:
942 return "MPEG-4-SP";
943 case Mpeg4AdvancedSimpleProfile0:
944 case Mpeg4AdvancedSimpleProfile1:
945 case Mpeg4AdvancedSimpleProfile2:
946 case Mpeg4AdvancedSimpleProfile3:
947 case Mpeg4AdvancedSimpleProfile4:
948 case Mpeg4AdvancedSimpleProfile5:
949 case Mpeg4AdvancedSimpleProfile3b:
950 return "MPEG-4-ASP";
951 case Mpeg4AvcProfile:
952 return "H.264";
953 default:
954 return "MPEG-4-Visual";
955 }
956 case GeneralMediaFormat::Mpc:
957 return "MPC";
958 case GeneralMediaFormat::Pcm:
959 return "PCM";
960 case GeneralMediaFormat::Png:
961 return "PNG";
962 case GeneralMediaFormat::ProRes:
963 return "ProRes";
964 case GeneralMediaFormat::Qcelp:
965 return "QCELP";
966 case GeneralMediaFormat::QuicktimeAudio:
967 return "Qt-Audio";
968 case GeneralMediaFormat::QuicktimeVideo:
969 return "Qt-Video";
970 case GeneralMediaFormat::RealAudio:
971 return "Real-Audio";
972 case GeneralMediaFormat::RealVideo:
973 return "Real-Video";
974 case GeneralMediaFormat::Sa0c:
975 return "SAOC";
976 case GeneralMediaFormat::Smv:
977 return "SMV";
978 case GeneralMediaFormat::Systems:
979 return "Systems";
980 case GeneralMediaFormat::TextSubtitle:
981 switch (sub) {
982 case SubFormats::PlainUtf8Subtitle:
983 return "UTF-8";
984 case SubFormats::SubStationAlpha:
985 return "SSA";
986 case SubFormats::AdvancedSubStationAlpha:
987 return "ASS";
988 case SubFormats::UniversalSubtitleFormat:
989 return "USF";
990 case SubFormats::WebVideoTextTracksFormat:
991 return "WebVTT";
992 default:
993 return "";
994 }
995 case GeneralMediaFormat::Theora:
996 return "Theora";
997 case GeneralMediaFormat::Tiff:
998 return "TIFF";
999 case GeneralMediaFormat::TimedText:
1000 return "Timed-Text";
1001 case GeneralMediaFormat::Tta:
1002 return "TTA";
1003 case GeneralMediaFormat::UncompressedVideoFrames:
1004 return "RAW";
1005 case GeneralMediaFormat::Vc1:
1006 return "VC-1";
1007 case GeneralMediaFormat::VobBtn:
1008 return "VobBtn";
1009 case GeneralMediaFormat::VobSub:
1010 return "VobSub";
1011 case GeneralMediaFormat::Vorbis:
1012 return "Vorbis";
1013 case GeneralMediaFormat::Vp8:
1014 return "VP8";
1015 case GeneralMediaFormat::Vp9:
1016 return "VP9";
1017 case GeneralMediaFormat::WavPack:
1018 return "WavPack";
1019 case GeneralMediaFormat::WindowsMediaAudio:
1020 return "WMA";
1021 case GeneralMediaFormat::WindowsMediaVideo:
1022 return "WMV";
1023 case GeneralMediaFormat::DvbSub:
1024 return "DVBSUB";
1025 case GeneralMediaFormat::Speex:
1026 return "Speex";
1027 case GeneralMediaFormat::MonkeysAudio:
1028 return "APE";
1029 default:
1030 return "";
1031 }
1032}
1033
1038std::string_view MediaFormat::extensionName() const
1039{
1040 switch (general) {
1041 using namespace ExtensionFormats;
1042 case GeneralMediaFormat::Aac:
1043 switch (extension) {
1044 case SpectralBandReplication:
1045 return "Spectral Band Replication / HE-AAC";
1046 case ParametricStereo:
1047 return "Parametric Stereo / HE-AAC v2"; // PS always implies SBR?
1048 case (SpectralBandReplication | ParametricStereo):
1049 return "Spectral Band Replication and Parametric Stereo / HE-AAC v2";
1050 default:;
1051 }
1052 break;
1053 default:;
1054 }
1055 return "";
1056}
1057
1061std::string_view mediaTypeName(MediaType mediaType)
1062{
1063 switch (mediaType) {
1064 case MediaType::Unknown:
1065 return "Other";
1066 case MediaType::Audio:
1067 return "Audio";
1068 case MediaType::Video:
1069 return "Video";
1070 case MediaType::Text:
1071 return "Subititle";
1072 case MediaType::Buttons:
1073 return "Buttons";
1074 case MediaType::Control:
1075 return "Control";
1076 case MediaType::Hint:
1077 return "Hint";
1078 case MediaType::Meta:
1079 return "Meta-data";
1080 }
1081 return "";
1082}
1083
1084} // namespace TagParser
TagParser::MediaFormat::sub
unsigned char sub
Definition mediaformat.h:261
TagParser::MediaFormat::abbreviation
std::string_view abbreviation() const
Returns the abbreviation of the media format.
Definition mediaformat.cpp:446
TagParser::MediaFormat::shortAbbreviation
std::string_view shortAbbreviation() const
Returns a short abbreviation of the media format.
Definition mediaformat.cpp:762
TagParser::MediaFormat::name
std::string_view name() const
Returns the name of the media format.
Definition mediaformat.cpp:16
TagParser::MediaFormat::extensionName
std::string_view extensionName() const
Returns the abbreviation of the media format.
Definition mediaformat.cpp:1038
TagParser::MediaFormat::extension
unsigned char extension
Definition mediaformat.h:262
TagParser::MediaFormat::general
GeneralMediaFormat general
Definition mediaformat.h:260
mediaformat.h
TagParser::ExtensionFormats
Encapsulates extension formats.
Definition mediaformat.h:243
TagParser::SubFormats
Encapsulates sub formats.
Definition mediaformat.h:110
TagParser::SubFormats::AacMpeg4MainProfile
@ AacMpeg4MainProfile
Definition mediaformat.h:120
TagParser::SubFormats::AacMpeg4LowComplexityProfile
@ AacMpeg4LowComplexityProfile
Definition mediaformat.h:121
TagParser::SubFormats::AacMpeg2LowComplexityProfile
@ AacMpeg2LowComplexityProfile
Definition mediaformat.h:118
TagParser::SubFormats::AacMpeg4ERLowComplecityProfile
@ AacMpeg4ERLowComplecityProfile
Definition mediaformat.h:124
TagParser::SubFormats::AacMpeg2ScalableSamplingRateProfile
@ AacMpeg2ScalableSamplingRateProfile
Definition mediaformat.h:119
TagParser::SubFormats::AacMpeg4ERLongTermPrediction
@ AacMpeg4ERLongTermPrediction
Definition mediaformat.h:126
TagParser::SubFormats::AacMpeg2MainProfile
@ AacMpeg2MainProfile
Definition mediaformat.h:117
TagParser::SubFormats::AacMpeg4ScalableSamplingRateProfile
@ AacMpeg4ScalableSamplingRateProfile
Definition mediaformat.h:122
TagParser::SubFormats::AacMpeg4EREnhancedLowDelay
@ AacMpeg4EREnhancedLowDelay
Definition mediaformat.h:128
TagParser::SubFormats::AacMpeg4ERLowDelay
@ AacMpeg4ERLowDelay
Definition mediaformat.h:127
TagParser::SubFormats::AacMpeg4LongTermPrediction
@ AacMpeg4LongTermPrediction
Definition mediaformat.h:123
TagParser::SubFormats::AacMpeg4ERScalableSampingRateProfile
@ AacMpeg4ERScalableSampingRateProfile
Definition mediaformat.h:125
TagParser::SubFormats::DtsLossless
@ DtsLossless
Definition mediaformat.h:221
TagParser::SubFormats::DtsExpress
@ DtsExpress
Definition mediaformat.h:220
TagParser::SubFormats::DtsHdMasterAudio
@ DtsHdMasterAudio
Definition mediaformat.h:223
TagParser::SubFormats::DtsHdHighResolution
@ DtsHdHighResolution
Definition mediaformat.h:222
TagParser::SubFormats::Mpeg1Layer2
@ Mpeg1Layer2
Definition mediaformat.h:114
TagParser::SubFormats::Mpeg1Layer1
@ Mpeg1Layer1
Definition mediaformat.h:114
TagParser::SubFormats::Mpeg1Layer3
@ Mpeg1Layer3
Definition mediaformat.h:114
TagParser::SubFormats::PcmIntBe
@ PcmIntBe
Definition mediaformat.h:226
TagParser::SubFormats::PcmIntLe
@ PcmIntLe
Definition mediaformat.h:226
TagParser::SubFormats::PcmFloatIeee
@ PcmFloatIeee
Definition mediaformat.h:226
TagParser::SubFormats::Mpeg2HighProfile
@ Mpeg2HighProfile
Definition mediaformat.h:136
TagParser::SubFormats::Mpeg2SnrProfile
@ Mpeg2SnrProfile
Definition mediaformat.h:134
TagParser::SubFormats::Mpeg2SimpleProfile
@ Mpeg2SimpleProfile
Definition mediaformat.h:132
TagParser::SubFormats::Mpeg2422Profile
@ Mpeg2422Profile
Definition mediaformat.h:137
TagParser::SubFormats::Mpeg2MainProfile
@ Mpeg2MainProfile
Definition mediaformat.h:133
TagParser::SubFormats::Mpeg2SpatialProfile
@ Mpeg2SpatialProfile
Definition mediaformat.h:135
TagParser::SubFormats::Mpeg4MainProfile3
@ Mpeg4MainProfile3
Definition mediaformat.h:151
TagParser::SubFormats::Mpeg4SimpleScalableProfile1
@ Mpeg4SimpleScalableProfile1
Definition mediaformat.h:146
TagParser::SubFormats::Mpeg4CoreStudioProfile2
@ Mpeg4CoreStudioProfile2
Definition mediaformat.h:184
TagParser::SubFormats::Mpeg4BasicAnimatedTextureProfiel2
@ Mpeg4BasicAnimatedTextureProfiel2
Definition mediaformat.h:160
TagParser::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile2
@ Mpeg4AdvancedCodingEfficiencyProfile2
Definition mediaformat.h:172
TagParser::SubFormats::Mpeg4CoreProfiel2
@ Mpeg4CoreProfiel2
Definition mediaformat.h:149
TagParser::SubFormats::Mpeg4FineGranularityScalableProfile2
@ Mpeg4FineGranularityScalableProfile2
Definition mediaformat.h:196
TagParser::SubFormats::Mpeg4SimpleFbaProfile2
@ Mpeg4SimpleFbaProfile2
Definition mediaformat.h:158
TagParser::SubFormats::Mpeg4SimpleProfile2
@ Mpeg4SimpleProfile2
Definition mediaformat.h:142
TagParser::SubFormats::Mpeg4CoreStudioProfile3
@ Mpeg4CoreStudioProfile3
Definition mediaformat.h:185
TagParser::SubFormats::Mpeg4FineGranularityScalableProfile4
@ Mpeg4FineGranularityScalableProfile4
Definition mediaformat.h:198
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile2
@ Mpeg4AdvancedSimpleProfile2
Definition mediaformat.h:189
TagParser::SubFormats::Mpeg4AvcProfile
@ Mpeg4AvcProfile
Definition mediaformat.h:161
TagParser::SubFormats::Mpeg4SimpleStudioProfile4
@ Mpeg4SimpleStudioProfile4
Definition mediaformat.h:182
TagParser::SubFormats::Mpeg4AdvancedCoreProfile1
@ Mpeg4AdvancedCoreProfile1
Definition mediaformat.h:175
TagParser::SubFormats::Mpeg4SimpleFaceAnimationProfile1
@ Mpeg4SimpleFaceAnimationProfile1
Definition mediaformat.h:155
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile3
@ Mpeg4AdvancedSimpleProfile3
Definition mediaformat.h:190
TagParser::SubFormats::Mpeg4CoreScalableProfile2
@ Mpeg4CoreScalableProfile2
Definition mediaformat.h:169
TagParser::SubFormats::Mpeg4FineGranularityScalableProfile1
@ Mpeg4FineGranularityScalableProfile1
Definition mediaformat.h:195
TagParser::SubFormats::Mpeg4BasicAnimatedTextureProfiel1
@ Mpeg4BasicAnimatedTextureProfiel1
Definition mediaformat.h:159
TagParser::SubFormats::Mpeg4FineGranularityScalableProfile3
@ Mpeg4FineGranularityScalableProfile3
Definition mediaformat.h:197
TagParser::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile3
@ Mpeg4AdvancedCodingEfficiencyProfile3
Definition mediaformat.h:173
TagParser::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile4
@ Mpeg4AdvancedRealTimeSimpleProfile4
Definition mediaformat.h:167
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile0
@ Mpeg4AdvancedSimpleProfile0
Definition mediaformat.h:187
TagParser::SubFormats::Mpeg4AdvancedCoreProfile2
@ Mpeg4AdvancedCoreProfile2
Definition mediaformat.h:176
TagParser::SubFormats::Mpeg4SimpleStudioProfile1
@ Mpeg4SimpleStudioProfile1
Definition mediaformat.h:179
TagParser::SubFormats::Mpeg4AdvancedScalableTexture2
@ Mpeg4AdvancedScalableTexture2
Definition mediaformat.h:178
TagParser::SubFormats::Mpeg4SimpleFaceAnimationProfile2
@ Mpeg4SimpleFaceAnimationProfile2
Definition mediaformat.h:156
TagParser::SubFormats::Mpeg4SimpleProfile3
@ Mpeg4SimpleProfile3
Definition mediaformat.h:143
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile5
@ Mpeg4AdvancedSimpleProfile5
Definition mediaformat.h:192
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile4
@ Mpeg4AdvancedSimpleProfile4
Definition mediaformat.h:191
TagParser::SubFormats::Mpeg4SimpleScalableProfile2
@ Mpeg4SimpleScalableProfile2
Definition mediaformat.h:147
TagParser::SubFormats::Mpeg4FineGranularityScalableProfile0
@ Mpeg4FineGranularityScalableProfile0
Definition mediaformat.h:194
TagParser::SubFormats::Mpeg4SimpleProfile0
@ Mpeg4SimpleProfile0
Definition mediaformat.h:144
TagParser::SubFormats::Mpeg4SimpleStudioProfile3
@ Mpeg4SimpleStudioProfile3
Definition mediaformat.h:181
TagParser::SubFormats::Mpeg4CoreProfile1
@ Mpeg4CoreProfile1
Definition mediaformat.h:148
TagParser::SubFormats::Mpeg4HybridProfile1
@ Mpeg4HybridProfile1
Definition mediaformat.h:162
TagParser::SubFormats::Mpeg4HybridProfile2
@ Mpeg4HybridProfile2
Definition mediaformat.h:163
TagParser::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile1
@ Mpeg4AdvancedCodingEfficiencyProfile1
Definition mediaformat.h:171
TagParser::SubFormats::Mpeg4SimpleFbaProfile1
@ Mpeg4SimpleFbaProfile1
Definition mediaformat.h:157
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile3b
@ Mpeg4AdvancedSimpleProfile3b
Definition mediaformat.h:193
TagParser::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile1
@ Mpeg4AdvancedRealTimeSimpleProfile1
Definition mediaformat.h:164
TagParser::SubFormats::Mpeg4ScalableTextureProfile1
@ Mpeg4ScalableTextureProfile1
Definition mediaformat.h:154
TagParser::SubFormats::Mpeg4SimpleStudioProfile2
@ Mpeg4SimpleStudioProfile2
Definition mediaformat.h:180
TagParser::SubFormats::Mpeg4CoreScalableProfile1
@ Mpeg4CoreScalableProfile1
Definition mediaformat.h:168
TagParser::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile3
@ Mpeg4AdvancedRealTimeSimpleProfile3
Definition mediaformat.h:166
TagParser::SubFormats::Mpeg4MainProfile2
@ Mpeg4MainProfile2
Definition mediaformat.h:150
TagParser::SubFormats::Mpeg4CoreStudioProfile1
@ Mpeg4CoreStudioProfile1
Definition mediaformat.h:183
TagParser::SubFormats::Mpeg4AdvancedSimpleProfile1
@ Mpeg4AdvancedSimpleProfile1
Definition mediaformat.h:188
TagParser::SubFormats::Mpeg4SimpleProfile1
@ Mpeg4SimpleProfile1
Definition mediaformat.h:141
TagParser::SubFormats::Mpeg4MainProfile4
@ Mpeg4MainProfile4
Definition mediaformat.h:152
TagParser::SubFormats::Mpeg4FineGranularityScalableProfile5
@ Mpeg4FineGranularityScalableProfile5
Definition mediaformat.h:199
TagParser::SubFormats::Mpeg4CoreStudioProfile4
@ Mpeg4CoreStudioProfile4
Definition mediaformat.h:186
TagParser::SubFormats::Mpeg4SimpleScalableProfile0
@ Mpeg4SimpleScalableProfile0
Definition mediaformat.h:145
TagParser::SubFormats::Mpeg4AdvancedScalableTexture1
@ Mpeg4AdvancedScalableTexture1
Definition mediaformat.h:177
TagParser::SubFormats::Mpeg4AdvancedRealTimeSimpleProfile2
@ Mpeg4AdvancedRealTimeSimpleProfile2
Definition mediaformat.h:165
TagParser::SubFormats::Mpeg4CoreScalableProfile3
@ Mpeg4CoreScalableProfile3
Definition mediaformat.h:170
TagParser::SubFormats::Mpeg4NBitPrifle2
@ Mpeg4NBitPrifle2
Definition mediaformat.h:153
TagParser::SubFormats::Mpeg4AdvancedCodingEfficiencyProfile4
@ Mpeg4AdvancedCodingEfficiencyProfile4
Definition mediaformat.h:174
TagParser::SubFormats::SubStationAlpha
@ SubStationAlpha
Definition mediaformat.h:230
TagParser::SubFormats::PlainUtf8Subtitle
@ PlainUtf8Subtitle
Definition mediaformat.h:229
TagParser::SubFormats::WebVideoTextTracksFormat
@ WebVideoTextTracksFormat
Definition mediaformat.h:233
TagParser::SubFormats::AdvancedSubStationAlpha
@ AdvancedSubStationAlpha
Definition mediaformat.h:231
TagParser::SubFormats::UniversalSubtitleFormat
@ UniversalSubtitleFormat
Definition mediaformat.h:232
TagParser::SubFormats::AvcHigh10Profile
@ AvcHigh10Profile
Definition mediaformat.h:210
TagParser::SubFormats::AvcScalableBaselineProfile
@ AvcScalableBaselineProfile
Definition mediaformat.h:206
TagParser::SubFormats::AvcHigh444PredictiveProfile
@ AvcHigh444PredictiveProfile
Definition mediaformat.h:216
TagParser::SubFormats::AvcBaselineProfile
@ AvcBaselineProfile
Definition mediaformat.h:204
TagParser::SubFormats::AvcHighMultiviewDepthProfile
@ AvcHighMultiviewDepthProfile
Definition mediaformat.h:214
TagParser::SubFormats::AvcExtendedProfile
@ AvcExtendedProfile
Definition mediaformat.h:208
TagParser::SubFormats::AvcCavlc444IntraProfile
@ AvcCavlc444IntraProfile
Definition mediaformat.h:203
TagParser::SubFormats::AvcStereoHighProfile
@ AvcStereoHighProfile
Definition mediaformat.h:213
TagParser::SubFormats::AvcHigh422Profile
@ AvcHigh422Profile
Definition mediaformat.h:212
TagParser::SubFormats::AvcHighMultiviewProfile
@ AvcHighMultiviewProfile
Definition mediaformat.h:211
TagParser::SubFormats::AvcScalableHighProfile
@ AvcScalableHighProfile
Definition mediaformat.h:207
TagParser::SubFormats::AvcHigh444Profile
@ AvcHigh444Profile
Definition mediaformat.h:215
TagParser::SubFormats::AvcMainProfile
@ AvcMainProfile
Definition mediaformat.h:205
TagParser::SubFormats::AvcHighProfile
@ AvcHighProfile
Definition mediaformat.h:209
TagParser::SubFormats::ImgSubBmp
@ ImgSubBmp
Definition mediaformat.h:236
TagParser
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10
TagParser::MediaType
MediaType
The MediaType enum specifies the type of media data (audio, video, text, ...).
Definition mediaformat.h:14
TagParser::MediaType::Video
@ Video
Definition mediaformat.h:17
TagParser::MediaType::Buttons
@ Buttons
Definition mediaformat.h:19
TagParser::MediaType::Unknown
@ Unknown
Definition mediaformat.h:15
TagParser::MediaType::Text
@ Text
Definition mediaformat.h:18
TagParser::MediaType::Control
@ Control
Definition mediaformat.h:20
TagParser::MediaType::Audio
@ Audio
Definition mediaformat.h:16
TagParser::MediaType::Meta
@ Meta
Definition mediaformat.h:22
TagParser::MediaType::Hint
@ Hint
Definition mediaformat.h:21
TagParser::GeneralMediaFormat::Vp8
@ Vp8
Definition mediaformat.h:97
TagParser::GeneralMediaFormat::Alac
@ Alac
Definition mediaformat.h:37
TagParser::GeneralMediaFormat::Vorbis
@ Vorbis
Definition mediaformat.h:96
TagParser::GeneralMediaFormat::RealVideo
@ RealVideo
Definition mediaformat.h:80
TagParser::GeneralMediaFormat::Tta
@ Tta
Definition mediaformat.h:91
TagParser::GeneralMediaFormat::Vp9
@ Vp9
Definition mediaformat.h:98
TagParser::GeneralMediaFormat::MicrosoftVideoCodecManager
@ MicrosoftVideoCodecManager
Definition mediaformat.h:62
TagParser::GeneralMediaFormat::Amr
@ Amr
Definition mediaformat.h:39
TagParser::GeneralMediaFormat::Hevc
@ Hevc
Definition mediaformat.h:55
TagParser::GeneralMediaFormat::Mpeg4TimedText
@ Mpeg4TimedText
Definition mediaformat.h:69
TagParser::GeneralMediaFormat::Av1
@ Av1
Definition mediaformat.h:41
TagParser::GeneralMediaFormat::VobBtn
@ VobBtn
Definition mediaformat.h:94
TagParser::GeneralMediaFormat::DtsHd
@ DtsHd
Definition mediaformat.h:47
TagParser::GeneralMediaFormat::Speex
@ Speex
Definition mediaformat.h:83
TagParser::GeneralMediaFormat::QuicktimeVideo
@ QuicktimeVideo
Definition mediaformat.h:78
TagParser::GeneralMediaFormat::RealAudio
@ RealAudio
Definition mediaformat.h:79
TagParser::GeneralMediaFormat::MonkeysAudio
@ MonkeysAudio
Definition mediaformat.h:63
TagParser::GeneralMediaFormat::Ac3
@ Ac3
Definition mediaformat.h:33
TagParser::GeneralMediaFormat::Jpeg
@ Jpeg
Definition mediaformat.h:59
TagParser::GeneralMediaFormat::Flac
@ Flac
Definition mediaformat.h:51
TagParser::GeneralMediaFormat::Pcm
@ Pcm
Definition mediaformat.h:73
TagParser::GeneralMediaFormat::Theora
@ Theora
Definition mediaformat.h:88
TagParser::GeneralMediaFormat::InteractionStream
@ InteractionStream
Definition mediaformat.h:58
TagParser::GeneralMediaFormat::Mpc
@ Mpc
Definition mediaformat.h:64
TagParser::GeneralMediaFormat::MicrosoftAudioCodecManager
@ MicrosoftAudioCodecManager
Definition mediaformat.h:60
TagParser::GeneralMediaFormat::Tiff
@ Tiff
Definition mediaformat.h:89
TagParser::GeneralMediaFormat::Avc
@ Avc
Definition mediaformat.h:40
TagParser::GeneralMediaFormat::Aac
@ Aac
Definition mediaformat.h:32
TagParser::GeneralMediaFormat::DolbyMlp
@ DolbyMlp
Definition mediaformat.h:45
TagParser::GeneralMediaFormat::MicrosoftMpeg4
@ MicrosoftMpeg4
Definition mediaformat.h:61
TagParser::GeneralMediaFormat::DvbSub
@ DvbSub
Definition mediaformat.h:48
TagParser::GeneralMediaFormat::OggKate
@ OggKate
Definition mediaformat.h:71
TagParser::GeneralMediaFormat::Bitmap
@ Bitmap
Definition mediaformat.h:42
TagParser::GeneralMediaFormat::StreamingTextStream
@ StreamingTextStream
Definition mediaformat.h:84
TagParser::GeneralMediaFormat::FontDataStream
@ FontDataStream
Definition mediaformat.h:52
TagParser::GeneralMediaFormat::AdpcmAcm
@ AdpcmAcm
Definition mediaformat.h:35
TagParser::GeneralMediaFormat::WindowsMediaVideo
@ WindowsMediaVideo
Definition mediaformat.h:101
TagParser::GeneralMediaFormat::Gpp2Cmf
@ Gpp2Cmf
Definition mediaformat.h:54
TagParser::GeneralMediaFormat::WavPack
@ WavPack
Definition mediaformat.h:99
TagParser::GeneralMediaFormat::Dirac
@ Dirac
Definition mediaformat.h:44
TagParser::GeneralMediaFormat::Qcelp
@ Qcelp
Definition mediaformat.h:76
TagParser::GeneralMediaFormat::Gif
@ Gif
Definition mediaformat.h:53
TagParser::GeneralMediaFormat::UncompressedVideoFrames
@ UncompressedVideoFrames
Definition mediaformat.h:92
TagParser::GeneralMediaFormat::Als
@ Als
Definition mediaformat.h:38
TagParser::GeneralMediaFormat::WindowsMediaAudio
@ WindowsMediaAudio
Definition mediaformat.h:100
TagParser::GeneralMediaFormat::ProRes
@ ProRes
Definition mediaformat.h:75
TagParser::GeneralMediaFormat::VobSub
@ VobSub
Definition mediaformat.h:95
TagParser::GeneralMediaFormat::TextSubtitle
@ TextSubtitle
Definition mediaformat.h:87
TagParser::GeneralMediaFormat::Vcc
@ Vcc
Definition mediaformat.h:102
TagParser::GeneralMediaFormat::ImageSubtitle
@ ImageSubtitle
Definition mediaformat.h:57
TagParser::GeneralMediaFormat::Systems
@ Systems
Definition mediaformat.h:86
TagParser::GeneralMediaFormat::Ac4
@ Ac4
Definition mediaformat.h:34
TagParser::GeneralMediaFormat::Mpeg2Video
@ Mpeg2Video
Definition mediaformat.h:68
TagParser::GeneralMediaFormat::SynthesizedTextureStream
@ SynthesizedTextureStream
Definition mediaformat.h:85
TagParser::GeneralMediaFormat::Smv
@ Smv
Definition mediaformat.h:82
TagParser::GeneralMediaFormat::Evrc
@ Evrc
Definition mediaformat.h:50
TagParser::GeneralMediaFormat::ImaadpcmAcm
@ ImaadpcmAcm
Definition mediaformat.h:56
TagParser::GeneralMediaFormat::Mpeg1Video
@ Mpeg1Video
Definition mediaformat.h:66
TagParser::GeneralMediaFormat::TimedText
@ TimedText
Definition mediaformat.h:90
TagParser::GeneralMediaFormat::QuicktimeAudio
@ QuicktimeAudio
Definition mediaformat.h:77
TagParser::GeneralMediaFormat::Mpeg1Audio
@ Mpeg1Audio
Definition mediaformat.h:65
TagParser::GeneralMediaFormat::Mpeg4Video
@ Mpeg4Video
Definition mediaformat.h:70
TagParser::GeneralMediaFormat::Vc1
@ Vc1
Definition mediaformat.h:93
TagParser::GeneralMediaFormat::AfxStream
@ AfxStream
Definition mediaformat.h:36
TagParser::GeneralMediaFormat::Opus
@ Opus
Definition mediaformat.h:72
TagParser::GeneralMediaFormat::EAc3
@ EAc3
Definition mediaformat.h:49
TagParser::GeneralMediaFormat::Dts
@ Dts
Definition mediaformat.h:46
TagParser::GeneralMediaFormat::Daala
@ Daala
Definition mediaformat.h:43
TagParser::GeneralMediaFormat::Png
@ Png
Definition mediaformat.h:74
TagParser::GeneralMediaFormat::Sa0c
@ Sa0c
Definition mediaformat.h:81
TagParser::GeneralMediaFormat::Mpeg2Audio
@ Mpeg2Audio
Definition mediaformat.h:67
TagParser::mediaTypeName
TAG_PARSER_EXPORT std::string_view mediaTypeName(MediaType mediaType)
Returns the string representation for the specified mediaType.
Definition mediaformat.cpp:1061