Tag Parser: matroska/matroskaid.h Source File

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

Loading...
Searching...
No Matches
matroskaid.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_MATROSKAIDS_H
2#define TAG_PARSER_MATROSKAIDS_H
3
4#include "../global.h"
5
6#include <cstdint>
7#include <string_view>
8
9namespace TagParser {
10
11 namespace MatroskaIds {
12
16 enum TopLevelIds {
17 Segment = 0x18538067,
18 SegmentInfo = 0x1549A966,
19 Tracks = 0x1654AE6B,
20 Cues = 0x1C53BB6B,
21 Tags = 0x1254C367,
22 SeekHead = 0x114D9B74,
23 Cluster = 0x1F43B675,
24 Attachments = 0x1941A469,
25 Chapters = 0x1043A770
26};
27
31 enum SeekHeadIds {
32 Seek = 0x4DBB,
33};
34
38 enum SeekIds { SeekID = 0x53AB, SeekPosition = 0x53AC };
39
43 enum SegmentInfoIds {
44 TimeCodeScale = 0x2AD7B1,
45 Duration = 0x4489,
46 WrittingApp = 0x5741, // TODOv13: change to WritingApp
47 MuxingApp = 0x4D80,
48 DateUTC = 0x4461,
49 SegmentUID = 0x73A4,
50 SegmentFileName = 0x7384,
51 PrevUID = 0x3CB923,
52 PrevFileName = 0x3C83AB,
53 NexUID = 0x3EB923,
54 NextFileName = 0x3E83BB,
55 Title = 0x7BA9,
56 SegmentFamily = 0x4444,
57 ChapterTranslate = 0x6924
58};
59
63 enum ChapterTranslateIds { ChapterTranslateEditionUID = 0x69fc, ChapterTranslateCodec = 0x69bf, ChapterTranslateID = 0x69a5 };
64
68 enum TracksIds {
69 TrackEntry = 0xAE,
70};
71
75 enum TrackEntryIds {
76 TrackNumber = 0xD7,
77 TrackUID = 0x73C5,
78 TrackType = 0x83,
79 TrackFlagEnabled = 0xB9,
80 TrackFlagDefault = 0x88,
81 TrackFlagForced = 0x55AA,
82 TrackFlagHearingImpaired = 0x55AB,
83 TrackFlagVisualImpaired = 0x55AC,
84 TrackFlagTextDescriptions = 0x55AD,
85 TrackFlagOriginal = 0x55AE,
86 TrackFlagCommentary = 0x55AF,
87 TrackFlagLacing = 0x9C,
88 MinCache = 0x6DE7,
89 MaxCache = 0x6DF8,
90 DefaultDuration = 0x23E383,
91 DefaultDecodedFieldDuration = 0x234e7a,
92 TrackTimeCodeScale = 0x23314F,
93 TrackOffset = 0x537F,
94 MaxBlockAdditionId = 0x55EE,
95 TrackName = 0x536E,
96 TrackLanguage = 0x22B59C,
97 TrackLanguageIETF = 0x22B59D,
98 CodecID = 0x86,
99 CodecPrivate = 0x63A2,
100 CodecName = 0x258688,
101 AttachmentLink = 0x7446,
102 CodecSettings = 0x3A9697,
103 CodecInfoUrl = 0x3B4040,
104 CodecDownloadUrl = 0x26B240,
105 CodecDecodeAll = 0xAA,
106 TrackOverlay = 0x6FAB,
107 CodecDelay = 0x56aa,
108 SeekPreRoll = 0x56bb,
109 TrackTranslate = 0x6624,
110 TrackAudio = 0xE1,
111 TrackVideo = 0xE0,
112 TrackOperation = 0xe2,
113 TrickTrackUID = 0xc0,
114 TrickTrackSegmentUID = 0xc1,
115 TrickTrackFlag = 0xc6,
116 TrickMasterTrackUID = 0xc7,
117 TrickMasterTrackSegmentUID = 0xc4,
118 ContentEncodings = 0x6D80
119};
120
124 enum TrackTranslateIds { TrackTranslateEditionUID = 0x66fc, TrackTranslateCodec = 0x66bf, TrackTranslateTrackID = 0x66a5 };
125
129 enum TrackVideoIds {
130 FlagInterlaced = 0x9A,
131 StereoMode = 0x53B8,
132 AlphaMode = 0x53c0,
133 OldStereoMode = 0x53b9,
134 PixelWidth = 0xB0,
135 PixelHeight = 0xBA,
136 PixelCropBottom = 0x54AA,
137 PixelCropTop = 0x54BB,
138 PixelCropLeft = 0x54CC,
139 PixelCropRight = 0x54DD,
140 DisplayWidth = 0x54B0,
141 DisplayHeight = 0x54BA,
142 DisplayUnit = 0x54B2,
143 AspectRatioType = 0x54B3,
144 ColorSpace = 0x2EB524,
145 GammaValue = 0x2FB523,
146 FrameRate = 0x2383E3
147};
148
152 enum TrackAudioIds { SamplingFrequency = 0xB5, OutputSamplingFrequency = 0x78B5, Channels = 0x9F, ChannelsPositions = 0x7D7B, BitDepth = 0x6264 };
153
157 enum TrackOperationIds { TrackCombinePlanes = 0xe3, TrackJoinBlocks = 0xe9 };
158
162 enum TrackCombinePlanesIds { TrackPlane = 0xe4 };
163
167 enum TrackPlaneIds { TrackPlaneUID = 0xe5, TrackPlaneType = 0xe6 };
168
172 enum TrackJoinBlocksIds { TrackJoinUID = 0xed };
173
177 enum ContentEncodingsIds { ContentEncoding = 0x6240 };
178
182 enum ContentEncodingIds {
183 ContentEncodingOrder = 0x5031,
184 ContentEncodingScope = 0x5032,
185 ContentEncodingType = 0x5033,
186 ContentCompression = 0x5034,
187 ContentEncryption = 0x5035
188};
189
193 enum ContentCompressionIds { ContentCompAlgo = 0x4254, ContentCompSettings = 0x4255 };
194
198 enum ContentEncryptionIds {
199 ContentEncAlgo = 0x47e1,
200 ContentEncKeyID = 0x47e2,
201 ContentSignature = 0x47e3,
202 ContentSigKeyID = 0x47e4,
203 ContentSigAlgo = 0x47e5,
204 ContentSigHashAlgo = 0x47e6
205};
206
210 enum TagsIds {
211 Tag = 0x7373,
212};
213
217 enum TagIds {
218 SimpleTag = 0x67C8,
219 Targets = 0x63C0,
220};
221
225 enum SimpleTagIds {
226 TagName = 0x45A3,
227 TagString = 0x4487,
228 TagLanguage = 0x447A,
229 TagLanguageIETF = 0x447B,
230 TagDefault = 0x4484,
231 TagBinary = 0x4485,
232};
233
237 enum TargetsIds {
238 TargetTypeValue = 0x68ca,
239 TargetType = 0x63ca,
240 TagTrackUID = 0x63c5,
241 TagEditionUID = 0x63c9,
242 TagChapterUID = 0x63c4,
243 TagAttachmentUID = 0x63c6
244};
245
249 enum CuesIds { CuePoint = 0xbb };
250
254 enum CuePointIds { CueTime = 0xb3, CueTrackPositions = 0xb7 };
255
259 enum CueTrackPositionsIds {
260 CueTrack = 0xf7,
261 CueClusterPosition = 0xf1,
262 CueRelativePosition = 0xf0,
263 CueDuration = 0xb2,
264 CueBlockNumber = 0x5378,
265 CueCodecState = 0xea,
266 CueReference = 0xdb
267};
268
272 enum CueReferenceIds { CueRefTime = 0x96, CueRefCluster = 0x97, CueRefNumber = 0x535f, CueRefCodecState = 0xeb };
273
277 enum AttachmentsIds { AttachedFile = 0x61a7 };
278
282 enum AttachedFileIds {
283 FileDescription = 0x467e,
284 FileName = 0x466e,
285 FileMimeType = 0x4660,
286 FileData = 0x465c,
287 FileUID = 0x46ae,
288 FileReferral = 0x4675,
289 FileUsedStartTime = 0x4661,
290 FileUsedEndTime = 0x4662
291};
292
296 enum ChaptersIds { EditionEntry = 0x45b9 };
297
301 enum EditionEntryIds {
302 EditionUID = 0x45bc,
303 EditionFlagHidden = 0x45bd,
304 EditionFlagDefault = 0x45db,
305 EditionFlagOrdered = 0x45dd,
306 ChapterAtom = 0xb6
307};
308
312 enum ChapterAtomIds {
313 ChapterUID = 0x73c4,
314 ChapterStringUID = 0x5654,
315 ChapterTimeStart = 0x91,
316 ChapterTimeEnd = 0x92,
317 ChapterFlagHidden = 0x98,
318 ChapterFlagEnabled = 0x4598,
319 ChapterSegmentUID = 0x6e67,
320 ChapterSegmentEditionUID = 0x6ebc,
321 ChapterPhysicalEquiv = 0x63c3,
322 ChapterTrack = 0x8f,
323 ChapterDisplay = 0x80,
324 ChapProcess = 0x6944
325};
326
330 enum ChapterTrackIds { ChapterTrackNumber = 0x89 };
331
335 enum ChapterDisplayIds { ChapString = 0x85, ChapLanguage = 0x437c, ChapLanguageIETF = 0x437D, ChapCountry = 0x437e };
336
340 enum ChapProcessIds { ChapProcessCodecID = 0x6955, ChapProcessPrivate = 0x450d, ChapProcessCommand = 0x6911 };
341
345 enum ChapProcessCommandIds { ChapProcessTime = 0x6922, ChapProcessData = 0x6933 };
346
350 enum ClusterIds {
351 Timecode = 0xe7,
352 SilentTracks = 0x5854,
353 Position = 0xa7,
354 PrevSize = 0xab,
355 SimpleBlock = 0xa3,
356 BlockGroup = 0xa0,
357 EncryptedBlock = 0xaf
358};
359
363 enum SilentTracksIds { SilentTrackNumber = 0x58d7 };
364
368 enum BlockGroupIds {
369 Block = 0xa1,
370 BlockVirtual = 0xa2,
371 BlockAdditions = 0x75a1,
372 BlockDuration = 0x9b,
373 ReferencePriority = 0xfa,
374 ReferenceBlock = 0xfb,
375 ReferenceVirtual = 0xfd,
376 CodecState = 0xa4,
377 DiscardPadding = 0x75a2,
378 Slices = 0x8e,
379 ReferenceFrame = 0xc8,
380};
381
385 enum BlockAdditionsIds { BlockMore = 0xa6 };
386
390 enum BlockMoreIds { BlockAddID = 0xee, BlockAdditional = 0x45 };
391
395 enum SlicesIds { TimeSlice = 0xe8 };
396
400 enum TimeSliceIds { LaceNumber = 0xcc, FrameNumber = 0xcd, BlockAdditionID = 0xcb, Delay = 0xce, SliceDuration = 0xcf };
401
405 enum ReferenceFrameIds { ReferenceOffset = 0xc9, ReferenceTimeCode = 0xca };
406
407} // namespace MatroskaIds
408
409 namespace MatroskaTrackType {
410
411 enum KnownValues { Video = 0x1, Audio = 0x2, Complex = 0x3, Logo = 0x10, Subtitle = 0x11, Buttons = 0x12, Control = 0x20 };
412}
413
414 enum class MatroskaElementLevel : std::uint8_t {
415 TopLevel = 0x0,
416 Level1,
417 Level2,
418 Level3,
419 Level4,
420 Level5,
421 Level6,
422 Global = 0xFE,
423 Unknown = 0xFF,
424};
425
426 constexpr bool operator>(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
427{
428 return static_cast<std::uint8_t>(lhs) < static_cast<std::uint8_t>(MatroskaElementLevel::Global)
429 && static_cast<std::uint8_t>(rhs) < static_cast<std::uint8_t>(MatroskaElementLevel::Global)
430 && static_cast<std::uint8_t>(lhs) > static_cast<std::uint8_t>(rhs);
431}
432
433 constexpr bool operator>(std::uint8_t lhs, MatroskaElementLevel rhs)
434{
435 return lhs < static_cast<std::uint8_t>(MatroskaElementLevel::Global)
436 && static_cast<std::uint8_t>(rhs) < static_cast<std::uint8_t>(MatroskaElementLevel::Global)
437 && static_cast<std::uint8_t>(lhs) > static_cast<std::uint8_t>(rhs);
438}
439
440 constexpr bool operator<(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
441{
442 return static_cast<std::uint8_t>(lhs) < static_cast<std::uint8_t>(MatroskaElementLevel::Global)
443 && static_cast<std::uint8_t>(rhs) < static_cast<std::uint8_t>(MatroskaElementLevel::Global)
444 && static_cast<std::uint8_t>(lhs) < static_cast<std::uint8_t>(rhs);
445}
446
447 constexpr bool operator>=(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
448{
449 return lhs == rhs || lhs > rhs;
450}
451
452 constexpr bool operator<=(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
453{
454 return lhs == rhs || lhs < rhs;
455}
456
457 TAG_PARSER_EXPORT std::string_view matroskaIdName(std::uint32_t matroskaId);
458 TAG_PARSER_EXPORT MatroskaElementLevel matroskaIdLevel(std::uint32_t matroskaId);
459
460} // namespace TagParser
461
462#endif // TAG_PARSER_MATROSKAIDS_H
global.h
TAG_PARSER_EXPORT
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
TagParser::MatroskaIds
Encapsulates the most common Matroska element IDs.
Definition matroskaid.h:11
TagParser::MatroskaIds::ChaptersIds
ChaptersIds
Encapsulates all ID values in the Chapters master.
Definition matroskaid.h:296
TagParser::MatroskaIds::EditionEntry
@ EditionEntry
Definition matroskaid.h:296
TagParser::MatroskaIds::SeekIds
SeekIds
Encapsulates all ID values in the Seek master.
Definition matroskaid.h:38
TagParser::MatroskaIds::SeekID
@ SeekID
Definition matroskaid.h:38
TagParser::MatroskaIds::SeekPosition
@ SeekPosition
Definition matroskaid.h:38
TagParser::MatroskaIds::SeekHeadIds
SeekHeadIds
Encapsulates all ID values in the SeekHead master.
Definition matroskaid.h:31
TagParser::MatroskaIds::Seek
@ Seek
Definition matroskaid.h:32
TagParser::MatroskaIds::TrackOperationIds
TrackOperationIds
Encapsulates all ID values in the TrackOperation master.
Definition matroskaid.h:157
TagParser::MatroskaIds::TrackJoinBlocks
@ TrackJoinBlocks
Definition matroskaid.h:157
TagParser::MatroskaIds::TrackCombinePlanes
@ TrackCombinePlanes
Definition matroskaid.h:157
TagParser::MatroskaIds::CuesIds
CuesIds
Encapsulates all ID values in the Cues master.
Definition matroskaid.h:249
TagParser::MatroskaIds::CuePoint
@ CuePoint
Definition matroskaid.h:249
TagParser::MatroskaIds::TrackCombinePlanesIds
TrackCombinePlanesIds
Encapsulates all ID values in the TrackCombinePlanes master.
Definition matroskaid.h:162
TagParser::MatroskaIds::TrackPlane
@ TrackPlane
Definition matroskaid.h:162
TagParser::MatroskaIds::ChapProcessIds
ChapProcessIds
Encapsulates all ID values in the ChapProcess master.
Definition matroskaid.h:340
TagParser::MatroskaIds::ChapProcessCommand
@ ChapProcessCommand
Definition matroskaid.h:340
TagParser::MatroskaIds::ChapProcessPrivate
@ ChapProcessPrivate
Definition matroskaid.h:340
TagParser::MatroskaIds::ChapProcessCodecID
@ ChapProcessCodecID
Definition matroskaid.h:340
TagParser::MatroskaIds::ChapterAtomIds
ChapterAtomIds
Encapsulates all ID values in the ChapterAtom master.
Definition matroskaid.h:312
TagParser::MatroskaIds::ChapterTrack
@ ChapterTrack
Definition matroskaid.h:322
TagParser::MatroskaIds::ChapterTimeEnd
@ ChapterTimeEnd
Definition matroskaid.h:316
TagParser::MatroskaIds::ChapterTimeStart
@ ChapterTimeStart
Definition matroskaid.h:315
TagParser::MatroskaIds::ChapterFlagHidden
@ ChapterFlagHidden
Definition matroskaid.h:317
TagParser::MatroskaIds::ChapterUID
@ ChapterUID
Definition matroskaid.h:313
TagParser::MatroskaIds::ChapterFlagEnabled
@ ChapterFlagEnabled
Definition matroskaid.h:318
TagParser::MatroskaIds::ChapterPhysicalEquiv
@ ChapterPhysicalEquiv
Definition matroskaid.h:321
TagParser::MatroskaIds::ChapterSegmentEditionUID
@ ChapterSegmentEditionUID
Definition matroskaid.h:320
TagParser::MatroskaIds::ChapterStringUID
@ ChapterStringUID
Definition matroskaid.h:314
TagParser::MatroskaIds::ChapterDisplay
@ ChapterDisplay
Definition matroskaid.h:323
TagParser::MatroskaIds::ChapterSegmentUID
@ ChapterSegmentUID
Definition matroskaid.h:319
TagParser::MatroskaIds::ChapProcess
@ ChapProcess
Definition matroskaid.h:324
TagParser::MatroskaIds::CuePointIds
CuePointIds
Encapsulates all ID values in the CuePoint master.
Definition matroskaid.h:254
TagParser::MatroskaIds::CueTime
@ CueTime
Definition matroskaid.h:254
TagParser::MatroskaIds::CueTrackPositions
@ CueTrackPositions
Definition matroskaid.h:254
TagParser::MatroskaIds::SilentTracksIds
SilentTracksIds
Encapsulates all ID values in the SilentTracks master.
Definition matroskaid.h:363
TagParser::MatroskaIds::SilentTrackNumber
@ SilentTrackNumber
Definition matroskaid.h:363
TagParser::MatroskaIds::TopLevelIds
TopLevelIds
Encapsulates all top level ID values.
Definition matroskaid.h:16
TagParser::MatroskaIds::Cluster
@ Cluster
Definition matroskaid.h:23
TagParser::MatroskaIds::Tracks
@ Tracks
Definition matroskaid.h:19
TagParser::MatroskaIds::Tags
@ Tags
Definition matroskaid.h:21
TagParser::MatroskaIds::SeekHead
@ SeekHead
Definition matroskaid.h:22
TagParser::MatroskaIds::Segment
@ Segment
Definition matroskaid.h:17
TagParser::MatroskaIds::SegmentInfo
@ SegmentInfo
Definition matroskaid.h:18
TagParser::MatroskaIds::Attachments
@ Attachments
Definition matroskaid.h:24
TagParser::MatroskaIds::Chapters
@ Chapters
Definition matroskaid.h:25
TagParser::MatroskaIds::Cues
@ Cues
Definition matroskaid.h:20
TagParser::MatroskaIds::TimeSliceIds
TimeSliceIds
Encapsulates all ID values in the TimeSlice master.
Definition matroskaid.h:400
TagParser::MatroskaIds::Delay
@ Delay
Definition matroskaid.h:400
TagParser::MatroskaIds::BlockAdditionID
@ BlockAdditionID
Definition matroskaid.h:400
TagParser::MatroskaIds::SliceDuration
@ SliceDuration
Definition matroskaid.h:400
TagParser::MatroskaIds::LaceNumber
@ LaceNumber
Definition matroskaid.h:400
TagParser::MatroskaIds::FrameNumber
@ FrameNumber
Definition matroskaid.h:400
TagParser::MatroskaIds::ChapterTranslateIds
ChapterTranslateIds
Encapsulates all ID values in the ChapterTranslate master.
Definition matroskaid.h:63
TagParser::MatroskaIds::ChapterTranslateID
@ ChapterTranslateID
Definition matroskaid.h:63
TagParser::MatroskaIds::ChapterTranslateEditionUID
@ ChapterTranslateEditionUID
Definition matroskaid.h:63
TagParser::MatroskaIds::ChapterTranslateCodec
@ ChapterTranslateCodec
Definition matroskaid.h:63
TagParser::MatroskaIds::TrackPlaneIds
TrackPlaneIds
Encapsulates all ID values in the TrackPlane master.
Definition matroskaid.h:167
TagParser::MatroskaIds::TrackPlaneType
@ TrackPlaneType
Definition matroskaid.h:167
TagParser::MatroskaIds::TrackPlaneUID
@ TrackPlaneUID
Definition matroskaid.h:167
TagParser::MatroskaIds::SlicesIds
SlicesIds
Encapsulates all ID values in the Slices master.
Definition matroskaid.h:395
TagParser::MatroskaIds::TimeSlice
@ TimeSlice
Definition matroskaid.h:395
TagParser::MatroskaIds::SimpleTagIds
SimpleTagIds
Encapsulates all ID values in the SimpleTag master.
Definition matroskaid.h:225
TagParser::MatroskaIds::TagDefault
@ TagDefault
Definition matroskaid.h:230
TagParser::MatroskaIds::TagString
@ TagString
Definition matroskaid.h:227
TagParser::MatroskaIds::TagLanguageIETF
@ TagLanguageIETF
Definition matroskaid.h:229
TagParser::MatroskaIds::TagName
@ TagName
Definition matroskaid.h:226
TagParser::MatroskaIds::TagLanguage
@ TagLanguage
Definition matroskaid.h:228
TagParser::MatroskaIds::TagBinary
@ TagBinary
Definition matroskaid.h:231
TagParser::MatroskaIds::TrackEntryIds
TrackEntryIds
Encapsulates all ID values in the TrackEntry master.
Definition matroskaid.h:75
TagParser::MatroskaIds::TrackVideo
@ TrackVideo
Definition matroskaid.h:111
TagParser::MatroskaIds::CodecName
@ CodecName
Definition matroskaid.h:100
TagParser::MatroskaIds::TrackType
@ TrackType
Definition matroskaid.h:78
TagParser::MatroskaIds::CodecSettings
@ CodecSettings
Definition matroskaid.h:102
TagParser::MatroskaIds::TrackTimeCodeScale
@ TrackTimeCodeScale
Definition matroskaid.h:92
TagParser::MatroskaIds::TrackFlagEnabled
@ TrackFlagEnabled
Definition matroskaid.h:79
TagParser::MatroskaIds::ContentEncodings
@ ContentEncodings
Definition matroskaid.h:118
TagParser::MatroskaIds::MinCache
@ MinCache
Definition matroskaid.h:88
TagParser::MatroskaIds::TrackLanguageIETF
@ TrackLanguageIETF
Definition matroskaid.h:97
TagParser::MatroskaIds::CodecInfoUrl
@ CodecInfoUrl
Definition matroskaid.h:103
TagParser::MatroskaIds::TrackOffset
@ TrackOffset
Definition matroskaid.h:93
TagParser::MatroskaIds::CodecID
@ CodecID
Definition matroskaid.h:98
TagParser::MatroskaIds::TrickMasterTrackSegmentUID
@ TrickMasterTrackSegmentUID
Definition matroskaid.h:117
TagParser::MatroskaIds::TrackOperation
@ TrackOperation
Definition matroskaid.h:112
TagParser::MatroskaIds::TrackUID
@ TrackUID
Definition matroskaid.h:77
TagParser::MatroskaIds::CodecDelay
@ CodecDelay
Definition matroskaid.h:107
TagParser::MatroskaIds::TrickTrackFlag
@ TrickTrackFlag
Definition matroskaid.h:115
TagParser::MatroskaIds::TrackFlagLacing
@ TrackFlagLacing
Definition matroskaid.h:87
TagParser::MatroskaIds::CodecDownloadUrl
@ CodecDownloadUrl
Definition matroskaid.h:104
TagParser::MatroskaIds::CodecDecodeAll
@ CodecDecodeAll
Definition matroskaid.h:105
TagParser::MatroskaIds::CodecPrivate
@ CodecPrivate
Definition matroskaid.h:99
TagParser::MatroskaIds::MaxCache
@ MaxCache
Definition matroskaid.h:89
TagParser::MatroskaIds::TrickTrackUID
@ TrickTrackUID
Definition matroskaid.h:113
TagParser::MatroskaIds::TrackFlagDefault
@ TrackFlagDefault
Definition matroskaid.h:80
TagParser::MatroskaIds::TrackName
@ TrackName
Definition matroskaid.h:95
TagParser::MatroskaIds::DefaultDecodedFieldDuration
@ DefaultDecodedFieldDuration
Definition matroskaid.h:91
TagParser::MatroskaIds::TrackFlagOriginal
@ TrackFlagOriginal
Definition matroskaid.h:85
TagParser::MatroskaIds::MaxBlockAdditionId
@ MaxBlockAdditionId
Definition matroskaid.h:94
TagParser::MatroskaIds::TrackNumber
@ TrackNumber
Definition matroskaid.h:76
TagParser::MatroskaIds::TrickMasterTrackUID
@ TrickMasterTrackUID
Definition matroskaid.h:116
TagParser::MatroskaIds::TrackFlagTextDescriptions
@ TrackFlagTextDescriptions
Definition matroskaid.h:84
TagParser::MatroskaIds::DefaultDuration
@ DefaultDuration
Definition matroskaid.h:90
TagParser::MatroskaIds::TrackTranslate
@ TrackTranslate
Definition matroskaid.h:109
TagParser::MatroskaIds::TrackOverlay
@ TrackOverlay
Definition matroskaid.h:106
TagParser::MatroskaIds::SeekPreRoll
@ SeekPreRoll
Definition matroskaid.h:108
TagParser::MatroskaIds::TrackFlagForced
@ TrackFlagForced
Definition matroskaid.h:81
TagParser::MatroskaIds::TrackAudio
@ TrackAudio
Definition matroskaid.h:110
TagParser::MatroskaIds::TrackLanguage
@ TrackLanguage
Definition matroskaid.h:96
TagParser::MatroskaIds::TrackFlagHearingImpaired
@ TrackFlagHearingImpaired
Definition matroskaid.h:82
TagParser::MatroskaIds::TrickTrackSegmentUID
@ TrickTrackSegmentUID
Definition matroskaid.h:114
TagParser::MatroskaIds::TrackFlagCommentary
@ TrackFlagCommentary
Definition matroskaid.h:86
TagParser::MatroskaIds::TrackFlagVisualImpaired
@ TrackFlagVisualImpaired
Definition matroskaid.h:83
TagParser::MatroskaIds::AttachmentLink
@ AttachmentLink
Definition matroskaid.h:101
TagParser::MatroskaIds::AttachedFileIds
AttachedFileIds
Encapsulates all ID values in the AttachedFile master.
Definition matroskaid.h:282
TagParser::MatroskaIds::FileDescription
@ FileDescription
Definition matroskaid.h:283
TagParser::MatroskaIds::FileUsedStartTime
@ FileUsedStartTime
Definition matroskaid.h:289
TagParser::MatroskaIds::FileReferral
@ FileReferral
Definition matroskaid.h:288
TagParser::MatroskaIds::FileName
@ FileName
Definition matroskaid.h:284
TagParser::MatroskaIds::FileMimeType
@ FileMimeType
Definition matroskaid.h:285
TagParser::MatroskaIds::FileUsedEndTime
@ FileUsedEndTime
Definition matroskaid.h:290
TagParser::MatroskaIds::FileUID
@ FileUID
Definition matroskaid.h:287
TagParser::MatroskaIds::FileData
@ FileData
Definition matroskaid.h:286
TagParser::MatroskaIds::BlockMoreIds
BlockMoreIds
Encapsulates all ID values in the BlockMore master.
Definition matroskaid.h:390
TagParser::MatroskaIds::BlockAddID
@ BlockAddID
Definition matroskaid.h:390
TagParser::MatroskaIds::BlockAdditional
@ BlockAdditional
Definition matroskaid.h:390
TagParser::MatroskaIds::EditionEntryIds
EditionEntryIds
Encapsulates all ID values in the EditionEntry master.
Definition matroskaid.h:301
TagParser::MatroskaIds::ChapterAtom
@ ChapterAtom
Definition matroskaid.h:306
TagParser::MatroskaIds::EditionFlagDefault
@ EditionFlagDefault
Definition matroskaid.h:304
TagParser::MatroskaIds::EditionFlagOrdered
@ EditionFlagOrdered
Definition matroskaid.h:305
TagParser::MatroskaIds::EditionUID
@ EditionUID
Definition matroskaid.h:302
TagParser::MatroskaIds::EditionFlagHidden
@ EditionFlagHidden
Definition matroskaid.h:303
TagParser::MatroskaIds::ReferenceFrameIds
ReferenceFrameIds
Encapsulates all ID values in the ReferenceFrame master.
Definition matroskaid.h:405
TagParser::MatroskaIds::ReferenceOffset
@ ReferenceOffset
Definition matroskaid.h:405
TagParser::MatroskaIds::ReferenceTimeCode
@ ReferenceTimeCode
Definition matroskaid.h:405
TagParser::MatroskaIds::CueReferenceIds
CueReferenceIds
Encapsulates all ID values in the CueReference master.
Definition matroskaid.h:272
TagParser::MatroskaIds::CueRefNumber
@ CueRefNumber
Definition matroskaid.h:272
TagParser::MatroskaIds::CueRefCluster
@ CueRefCluster
Definition matroskaid.h:272
TagParser::MatroskaIds::CueRefTime
@ CueRefTime
Definition matroskaid.h:272
TagParser::MatroskaIds::CueRefCodecState
@ CueRefCodecState
Definition matroskaid.h:272
TagParser::MatroskaIds::TracksIds
TracksIds
Encapsulates all ID values in the Tracks master.
Definition matroskaid.h:68
TagParser::MatroskaIds::TrackEntry
@ TrackEntry
Definition matroskaid.h:69
TagParser::MatroskaIds::BlockAdditionsIds
BlockAdditionsIds
Encapsulates all ID values in the BlockAdditions master.
Definition matroskaid.h:385
TagParser::MatroskaIds::BlockMore
@ BlockMore
Definition matroskaid.h:385
TagParser::MatroskaIds::TrackAudioIds
TrackAudioIds
Encapsulates all ID values in the TrackAudio master.
Definition matroskaid.h:152
TagParser::MatroskaIds::Channels
@ Channels
Definition matroskaid.h:152
TagParser::MatroskaIds::OutputSamplingFrequency
@ OutputSamplingFrequency
Definition matroskaid.h:152
TagParser::MatroskaIds::ChannelsPositions
@ ChannelsPositions
Definition matroskaid.h:152
TagParser::MatroskaIds::BitDepth
@ BitDepth
Definition matroskaid.h:152
TagParser::MatroskaIds::SamplingFrequency
@ SamplingFrequency
Definition matroskaid.h:152
TagParser::MatroskaIds::TrackVideoIds
TrackVideoIds
Encapsulates all ID values in the TrackVideo master.
Definition matroskaid.h:129
TagParser::MatroskaIds::ColorSpace
@ ColorSpace
Definition matroskaid.h:144
TagParser::MatroskaIds::DisplayUnit
@ DisplayUnit
Definition matroskaid.h:142
TagParser::MatroskaIds::OldStereoMode
@ OldStereoMode
Definition matroskaid.h:133
TagParser::MatroskaIds::FlagInterlaced
@ FlagInterlaced
Definition matroskaid.h:130
TagParser::MatroskaIds::AspectRatioType
@ AspectRatioType
Definition matroskaid.h:143
TagParser::MatroskaIds::AlphaMode
@ AlphaMode
Definition matroskaid.h:132
TagParser::MatroskaIds::PixelCropRight
@ PixelCropRight
Definition matroskaid.h:139
TagParser::MatroskaIds::FrameRate
@ FrameRate
Definition matroskaid.h:146
TagParser::MatroskaIds::DisplayWidth
@ DisplayWidth
Definition matroskaid.h:140
TagParser::MatroskaIds::PixelCropBottom
@ PixelCropBottom
Definition matroskaid.h:136
TagParser::MatroskaIds::PixelHeight
@ PixelHeight
Definition matroskaid.h:135
TagParser::MatroskaIds::GammaValue
@ GammaValue
Definition matroskaid.h:145
TagParser::MatroskaIds::PixelWidth
@ PixelWidth
Definition matroskaid.h:134
TagParser::MatroskaIds::PixelCropTop
@ PixelCropTop
Definition matroskaid.h:137
TagParser::MatroskaIds::PixelCropLeft
@ PixelCropLeft
Definition matroskaid.h:138
TagParser::MatroskaIds::StereoMode
@ StereoMode
Definition matroskaid.h:131
TagParser::MatroskaIds::DisplayHeight
@ DisplayHeight
Definition matroskaid.h:141
TagParser::MatroskaIds::TargetsIds
TargetsIds
Encapsulates all ID values in the Targets master.
Definition matroskaid.h:237
TagParser::MatroskaIds::TargetTypeValue
@ TargetTypeValue
Definition matroskaid.h:238
TagParser::MatroskaIds::TargetType
@ TargetType
Definition matroskaid.h:239
TagParser::MatroskaIds::TagEditionUID
@ TagEditionUID
Definition matroskaid.h:241
TagParser::MatroskaIds::TagTrackUID
@ TagTrackUID
Definition matroskaid.h:240
TagParser::MatroskaIds::TagChapterUID
@ TagChapterUID
Definition matroskaid.h:242
TagParser::MatroskaIds::TagAttachmentUID
@ TagAttachmentUID
Definition matroskaid.h:243
TagParser::MatroskaIds::ContentEncodingsIds
ContentEncodingsIds
Encapsulates all ID values in the ContentEncodings master.
Definition matroskaid.h:177
TagParser::MatroskaIds::ContentEncoding
@ ContentEncoding
Definition matroskaid.h:177
TagParser::MatroskaIds::SegmentInfoIds
SegmentInfoIds
Encapsulates all ID values in the SegmentInfo master.
Definition matroskaid.h:43
TagParser::MatroskaIds::ChapterTranslate
@ ChapterTranslate
Definition matroskaid.h:57
TagParser::MatroskaIds::TimeCodeScale
@ TimeCodeScale
Definition matroskaid.h:44
TagParser::MatroskaIds::PrevFileName
@ PrevFileName
Definition matroskaid.h:52
TagParser::MatroskaIds::SegmentFamily
@ SegmentFamily
Definition matroskaid.h:56
TagParser::MatroskaIds::WrittingApp
@ WrittingApp
Definition matroskaid.h:46
TagParser::MatroskaIds::DateUTC
@ DateUTC
Definition matroskaid.h:48
TagParser::MatroskaIds::NextFileName
@ NextFileName
Definition matroskaid.h:54
TagParser::MatroskaIds::Title
@ Title
Definition matroskaid.h:55
TagParser::MatroskaIds::SegmentFileName
@ SegmentFileName
Definition matroskaid.h:50
TagParser::MatroskaIds::SegmentUID
@ SegmentUID
Definition matroskaid.h:49
TagParser::MatroskaIds::PrevUID
@ PrevUID
Definition matroskaid.h:51
TagParser::MatroskaIds::Duration
@ Duration
Definition matroskaid.h:45
TagParser::MatroskaIds::MuxingApp
@ MuxingApp
Definition matroskaid.h:47
TagParser::MatroskaIds::NexUID
@ NexUID
Definition matroskaid.h:53
TagParser::MatroskaIds::TrackTranslateIds
TrackTranslateIds
Encapsulates all ID values in the TrackTranslate master.
Definition matroskaid.h:124
TagParser::MatroskaIds::TrackTranslateTrackID
@ TrackTranslateTrackID
Definition matroskaid.h:124
TagParser::MatroskaIds::TrackTranslateEditionUID
@ TrackTranslateEditionUID
Definition matroskaid.h:124
TagParser::MatroskaIds::TrackTranslateCodec
@ TrackTranslateCodec
Definition matroskaid.h:124
TagParser::MatroskaIds::ContentCompressionIds
ContentCompressionIds
Encapsulates all ID values in the ContentCompression master.
Definition matroskaid.h:193
TagParser::MatroskaIds::ContentCompSettings
@ ContentCompSettings
Definition matroskaid.h:193
TagParser::MatroskaIds::ContentCompAlgo
@ ContentCompAlgo
Definition matroskaid.h:193
TagParser::MatroskaIds::ChapProcessCommandIds
ChapProcessCommandIds
Encapsulates all ID values in the ChapProcessCommand master.
Definition matroskaid.h:345
TagParser::MatroskaIds::ChapProcessTime
@ ChapProcessTime
Definition matroskaid.h:345
TagParser::MatroskaIds::ChapProcessData
@ ChapProcessData
Definition matroskaid.h:345
TagParser::MatroskaIds::TrackJoinBlocksIds
TrackJoinBlocksIds
Encapsulates all ID values in the TrackJoinBlocks master.
Definition matroskaid.h:172
TagParser::MatroskaIds::TrackJoinUID
@ TrackJoinUID
Definition matroskaid.h:172
TagParser::MatroskaIds::TagsIds
TagsIds
Encapsulates all ID values in the Tags master.
Definition matroskaid.h:210
TagParser::MatroskaIds::Tag
@ Tag
Definition matroskaid.h:211
TagParser::MatroskaIds::CueTrackPositionsIds
CueTrackPositionsIds
Encapsulates all ID values in the CueTrackPositions master.
Definition matroskaid.h:259
TagParser::MatroskaIds::CueTrack
@ CueTrack
Definition matroskaid.h:260
TagParser::MatroskaIds::CueBlockNumber
@ CueBlockNumber
Definition matroskaid.h:264
TagParser::MatroskaIds::CueDuration
@ CueDuration
Definition matroskaid.h:263
TagParser::MatroskaIds::CueCodecState
@ CueCodecState
Definition matroskaid.h:265
TagParser::MatroskaIds::CueRelativePosition
@ CueRelativePosition
Definition matroskaid.h:262
TagParser::MatroskaIds::CueReference
@ CueReference
Definition matroskaid.h:266
TagParser::MatroskaIds::CueClusterPosition
@ CueClusterPosition
Definition matroskaid.h:261
TagParser::MatroskaIds::ClusterIds
ClusterIds
Encapsulates all ID values in the Cluster master.
Definition matroskaid.h:350
TagParser::MatroskaIds::EncryptedBlock
@ EncryptedBlock
Definition matroskaid.h:357
TagParser::MatroskaIds::Timecode
@ Timecode
Definition matroskaid.h:351
TagParser::MatroskaIds::Position
@ Position
Definition matroskaid.h:353
TagParser::MatroskaIds::BlockGroup
@ BlockGroup
Definition matroskaid.h:356
TagParser::MatroskaIds::SilentTracks
@ SilentTracks
Definition matroskaid.h:352
TagParser::MatroskaIds::SimpleBlock
@ SimpleBlock
Definition matroskaid.h:355
TagParser::MatroskaIds::PrevSize
@ PrevSize
Definition matroskaid.h:354
TagParser::MatroskaIds::BlockGroupIds
BlockGroupIds
Encapsulates all ID values in the BlockGroup master.
Definition matroskaid.h:368
TagParser::MatroskaIds::Slices
@ Slices
Definition matroskaid.h:378
TagParser::MatroskaIds::CodecState
@ CodecState
Definition matroskaid.h:376
TagParser::MatroskaIds::ReferenceBlock
@ ReferenceBlock
Definition matroskaid.h:374
TagParser::MatroskaIds::BlockAdditions
@ BlockAdditions
Definition matroskaid.h:371
TagParser::MatroskaIds::Block
@ Block
Definition matroskaid.h:369
TagParser::MatroskaIds::ReferenceFrame
@ ReferenceFrame
Definition matroskaid.h:379
TagParser::MatroskaIds::BlockVirtual
@ BlockVirtual
Definition matroskaid.h:370
TagParser::MatroskaIds::ReferenceVirtual
@ ReferenceVirtual
Definition matroskaid.h:375
TagParser::MatroskaIds::ReferencePriority
@ ReferencePriority
Definition matroskaid.h:373
TagParser::MatroskaIds::DiscardPadding
@ DiscardPadding
Definition matroskaid.h:377
TagParser::MatroskaIds::BlockDuration
@ BlockDuration
Definition matroskaid.h:372
TagParser::MatroskaIds::AttachmentsIds
AttachmentsIds
Encapsulates all ID values in the Attachments master.
Definition matroskaid.h:277
TagParser::MatroskaIds::AttachedFile
@ AttachedFile
Definition matroskaid.h:277
TagParser::MatroskaIds::ContentEncryptionIds
ContentEncryptionIds
Encapsulates all ID values in the ContentEncryption master.
Definition matroskaid.h:198
TagParser::MatroskaIds::ContentSigAlgo
@ ContentSigAlgo
Definition matroskaid.h:203
TagParser::MatroskaIds::ContentEncKeyID
@ ContentEncKeyID
Definition matroskaid.h:200
TagParser::MatroskaIds::ContentSigHashAlgo
@ ContentSigHashAlgo
Definition matroskaid.h:204
TagParser::MatroskaIds::ContentSigKeyID
@ ContentSigKeyID
Definition matroskaid.h:202
TagParser::MatroskaIds::ContentEncAlgo
@ ContentEncAlgo
Definition matroskaid.h:199
TagParser::MatroskaIds::ContentSignature
@ ContentSignature
Definition matroskaid.h:201
TagParser::MatroskaIds::ChapterTrackIds
ChapterTrackIds
Encapsulates all ID values in the ChapterTrack master.
Definition matroskaid.h:330
TagParser::MatroskaIds::ChapterTrackNumber
@ ChapterTrackNumber
Definition matroskaid.h:330
TagParser::MatroskaIds::ContentEncodingIds
ContentEncodingIds
Encapsulates all ID values in the ContentEncoding master.
Definition matroskaid.h:182
TagParser::MatroskaIds::ContentEncodingScope
@ ContentEncodingScope
Definition matroskaid.h:184
TagParser::MatroskaIds::ContentCompression
@ ContentCompression
Definition matroskaid.h:186
TagParser::MatroskaIds::ContentEncryption
@ ContentEncryption
Definition matroskaid.h:187
TagParser::MatroskaIds::ContentEncodingOrder
@ ContentEncodingOrder
Definition matroskaid.h:183
TagParser::MatroskaIds::ContentEncodingType
@ ContentEncodingType
Definition matroskaid.h:185
TagParser::MatroskaIds::TagIds
TagIds
Encapsulates all ID values in the Tag master.
Definition matroskaid.h:217
TagParser::MatroskaIds::SimpleTag
@ SimpleTag
Definition matroskaid.h:218
TagParser::MatroskaIds::Targets
@ Targets
Definition matroskaid.h:219
TagParser::MatroskaIds::ChapterDisplayIds
ChapterDisplayIds
Encapsulates all ID values in the ChapterDisplay master.
Definition matroskaid.h:335
TagParser::MatroskaIds::ChapCountry
@ ChapCountry
Definition matroskaid.h:335
TagParser::MatroskaIds::ChapLanguageIETF
@ ChapLanguageIETF
Definition matroskaid.h:335
TagParser::MatroskaIds::ChapLanguage
@ ChapLanguage
Definition matroskaid.h:335
TagParser::MatroskaIds::ChapString
@ ChapString
Definition matroskaid.h:335
TagParser::MatroskaTrackType
Encapsulates the most common Matroska track IDs.
Definition matroskaid.h:409
TagParser::MatroskaTrackType::KnownValues
KnownValues
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Logo
@ Logo
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Control
@ Control
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Complex
@ Complex
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Audio
@ Audio
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Subtitle
@ Subtitle
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Buttons
@ Buttons
Definition matroskaid.h:411
TagParser::MatroskaTrackType::Video
@ Video
Definition matroskaid.h:411
TagParser
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10
TagParser::matroskaIdLevel
TAG_PARSER_EXPORT MatroskaElementLevel matroskaIdLevel(std::uint32_t matroskaId)
Returns the level at which elements with the specified matroskaId are supposed to occur in a Matroska...
Definition matroskaid.cpp:529
TagParser::MatroskaElementLevel
MatroskaElementLevel
Definition matroskaid.h:414
TagParser::MatroskaElementLevel::Level2
@ Level2
Definition matroskaid.h:417
TagParser::MatroskaElementLevel::Global
@ Global
Definition matroskaid.h:422
TagParser::MatroskaElementLevel::Level1
@ Level1
Definition matroskaid.h:416
TagParser::MatroskaElementLevel::Level3
@ Level3
Definition matroskaid.h:418
TagParser::MatroskaElementLevel::Level5
@ Level5
Definition matroskaid.h:420
TagParser::MatroskaElementLevel::Level4
@ Level4
Definition matroskaid.h:419
TagParser::MatroskaElementLevel::Level6
@ Level6
Definition matroskaid.h:421
TagParser::MatroskaElementLevel::TopLevel
@ TopLevel
Definition matroskaid.h:415
TagParser::matroskaIdName
TAG_PARSER_EXPORT std::string_view matroskaIdName(std::uint32_t matroskaId)
Returns a string for the specified matroskaId if known; otherwise returns an empty string.
Definition matroskaid.cpp:22
TagParser::operator>=
constexpr bool operator>=(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
Definition matroskaid.h:447
TagParser::StereoMode::Unknown
@ Unknown
Definition abstracttrack.h:77
TagParser::operator<
constexpr bool operator<(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
Definition matroskaid.h:440
TagParser::operator<=
constexpr bool operator<=(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
Definition matroskaid.h:452
TagParser::operator>
constexpr bool operator>(MatroskaElementLevel lhs, MatroskaElementLevel rhs)
Definition matroskaid.h:426