3 #include "../mediaformat.h"
10 namespace Mp4AtomIds {
17 namespace Mp4TagAtomIds {
23 namespace Mp4TagExtendedMeanIds {
24 const char *
iTunes =
"com.apple.iTunes";
30 namespace Mp4TagExtendedNameIds {
38 namespace Mp4MediaTypeIds {
54 return GeneralMediaFormat::Mpeg2Video;
61 return GeneralMediaFormat::Hevc;
75 return GeneralMediaFormat::Av1;
106 return GeneralMediaFormat::TimedText;
108 return GeneralMediaFormat::UncompressedVideoFrames;
131 return GeneralMediaFormat::DolbyMlp;
137 return GeneralMediaFormat::RealVideo;
167 return MediaFormat(GeneralMediaFormat::MicrosoftMpeg4, 1);
172 return MediaFormat(GeneralMediaFormat::MicrosoftMpeg4, 2);
175 return MediaFormat(GeneralMediaFormat::MicrosoftMpeg4, 3);
194 return GeneralMediaFormat::Unknown;
204 namespace Mp4FormatExtensionIds {
210 namespace Mpeg4ElementaryStreamObjectIds {
217 switch (streamObjectTypeId) {
219 return GeneralMediaFormat::Systems;
221 return MediaFormat(GeneralMediaFormat::Systems, 2);
299 return GeneralMediaFormat::Vorbis;
301 return GeneralMediaFormat::VobSub;
303 return GeneralMediaFormat::Qcelp;
314 namespace Mpeg4DescriptorIds {
320 namespace Mpeg4ElementaryStreamTypeIds {
327 switch (streamTypeId) {
329 return "object descriptor";
331 return "clock reference";
333 return "scene descriptor";
343 return "object content info";
347 return "interaction";
353 return "streaming text";
365 namespace Mpeg4AudioObjectIds {
370 switch (mpeg4AudioObjectId) {
423 std::uint32_t
mpeg4SamplingFrequencyTable[] = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 };
428 namespace Mpeg4ChannelConfigs {
437 return "defined in AOT Specific Config";
439 return "1 channel: front-center";
441 return "2 channels: front-left, front-right";
443 return "3 channels: front-center, front-left, front-right";
445 return "4 channels: front-center, front-left, front-right, back-center";
447 return "5 channels: front-center, front-left, front-right, back-left, back-right";
449 return "6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel";
451 return "8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-channel";
487 namespace Mpeg4VideoCodes {
493 namespace Mpeg2VideoCodes {