21namespace Mp4TagAtomIds {
27namespace Mp4TagExtendedMeanIds {
28std::string_view
iTunes =
"com.apple.iTunes";
34namespace Mp4TagExtendedNameIds {
35std::string_view
cdec =
"cdec";
36std::string_view
label =
"LABEL";
42namespace Mp4MediaTypeIds {
210namespace Mp4FormatExtensionIds {
216namespace Mpeg4ElementaryStreamObjectIds {
223 switch (streamObjectTypeId) {
320namespace Mpeg4DescriptorIds {
326namespace Mpeg4ElementaryStreamTypeIds {
333 switch (streamTypeId) {
335 return "object descriptor";
337 return "clock reference";
339 return "scene descriptor";
349 return "object content info";
353 return "interaction";
359 return "streaming text";
371namespace Mpeg4AudioObjectIds {
376 switch (mpeg4AudioObjectId) {
429std::uint32_t
mpeg4SamplingFrequencyTable[] = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 };
434namespace Mpeg4ChannelConfigs {
443 return "defined in AOT Specific Config";
445 return "1 channel: front-center";
447 return "2 channels: front-left, front-right";
449 return "3 channels: front-center, front-left, front-right";
451 return "4 channels: front-center, front-left, front-right, back-center";
453 return "5 channels: front-center, front-left, front-right, back-left, back-right";
455 return "6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel";
457 return "8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-channel";
459 return std::string_view();
493namespace Mpeg4VideoCodes {
499namespace Mpeg2VideoCodes {
512 return "Whacked Bookmark";
514 return "Music Video";
526 return std::string_view();
532 static const auto m = std::map<std::string_view, Mp4TagMediaType, CaseInsensitiveStringComparer>{
548 const auto i = m.find(tagMediaTypeName);
549 return i != m.cend() ? std::make_optional(i->second) : std::nullopt;
566 static const auto m = std::map<std::string_view, Mp4TagContentRating, CaseInsensitiveStringComparer>{
571 const auto i = m.find(tagContentRatingName);
572 return i != m.cend() ? std::make_optional(i->second) : std::nullopt;
577 switch (
static_cast<AccountType>(tagContentRatingId)) {
585 return std::string_view();
591 static const auto m = std::map<std::string_view, AccountType, CaseInsensitiveStringComparer>{
596 const auto i = m.find(tagAccountTypeName);
597 return i != m.cend() ? std::make_optional(i->second) : std::nullopt;
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
@ WindowsMediaAudio9Professional
@ WindowsMediaAudio9Standard
TAG_PARSER_EXPORT MediaFormat fourccToMediaFormat(std::uint32_t fourccId)
TAG_PARSER_EXPORT MediaFormat idToMediaFormat(std::uint8_t mpeg4AudioObjectId, bool sbrPresent=false, bool psPresent=false)
TAG_PARSER_EXPORT std::string_view channelConfigString(std::uint8_t config)
Returns the string representation for the specified MPEG-4 channel config.
@ FrontCenterFrontLeftFrontRightBackLeftBackRightLFEChannel
@ FrontCenterFrontLeftFrontRightBackCenter
@ FrontCenterFrontLeftFrontRightSideLeftSideRightBackLeftBackRightLFEChannel
@ FrontCenterFrontLeftFrontRight
@ FrontCenterFrontLeftFrontRightBackLeftBackRight
TAG_PARSER_EXPORT std::uint8_t channelCount(std::uint8_t config)
Returns the channel count for the specified MPEG-4 channel config.
@ Mpeg2VideoSimpleProfile
@ Mpeg2AacLowComplexityProfile
@ Mpeg2VideoSpatialProfile
@ Mpeg2AacScaleableSamplingRateProfile
@ SynthesizedTextureStream
TAG_PARSER_EXPORT MediaFormat streamObjectTypeFormat(std::uint8_t streamObjectTypeId)
Returns the TagParser::MediaFormat denoted by the specified MPEG-4 stream ID.
TAG_PARSER_EXPORT std::string_view streamTypeName(std::uint8_t streamTypeId)
Returns the name of the stream type denoted by the specified MPEG-4 stream type ID.
Contains all classes and functions of the TagInfo library.
TAG_PARSER_EXPORT std::string_view mp4TagMediaTypeName(Mp4TagMediaTypeId tagMediaTypeId)
Mp4TagMediaType
Specifies the tag type.
std::uint8_t Mp4TagAccountTypeId
TAG_PARSER_EXPORT std::string_view mp4TagAccountTypeName(Mp4TagAccountTypeId tagContentRatingId)
TAG_PARSER_EXPORT std::string_view mp4TagContentRatingName(Mp4TagContentRatingId tagContentRatingId)
std::uint8_t Mp4TagContentRatingId
std::uint8_t Mp4TagMediaTypeId
AccountType
Specifies the account type.
Mp4TagContentRating
Specifies the tag content rating.
@ UncompressedVideoFrames
@ SynthesizedTextureStream
std::uint32_t mpeg4SamplingFrequencyTable[13]
TAG_PARSER_EXPORT std::optional< AccountType > mp4TagAccountTypeId(std::string_view tagContentRatingName)
TAG_PARSER_EXPORT std::optional< Mp4TagContentRating > mp4TagContentRatingId(std::string_view tagContentRatingName)
TAG_PARSER_EXPORT std::optional< Mp4TagMediaType > mp4TagMediaTypeId(std::string_view tagMediaTypeName)