1 // Copyright (c) 2016 The WebM project authors. All Rights Reserved.
2 //
3 // Use of this source code is governed by a BSD-style license
4 // that can be found in the LICENSE file in the root of the source
5 // tree. An additional intellectual property rights grant can be found
6 // in the file PATENTS.  All contributing project authors may
7 // be found in the AUTHORS file in the root of the source tree.
8 #ifndef INCLUDE_WEBM_ID_H_
9 #define INCLUDE_WEBM_ID_H_
10 
11 #include <cstdint>
12 
13 /**
14  \file
15  A full enumeration of WebM's EBML IDs.
16  */
17 
18 namespace webm {
19 
20 /**
21  \addtogroup PUBLIC_API
22  @{
23  */
24 
25 /**
26  An EBML ID for a WebM element.
27 
28  The enum names correspond to the element names from the Matroska and WebM
29  specifications. See those specifications for further information on each
30  element.
31  */
32 // For the WebM spec and element info, see:
33 // http://www.webmproject.org/docs/container/
34 // http://www.webmproject.org/docs/webm-encryption/#42-new-matroskawebm-elements
35 // http://matroska.org/technical/specs/index.html
36 enum class Id : std::uint32_t {
37   // The MatroskaID alias links to the WebM and Matroska specifications.
38   // The WebMID alias links to the WebM specification.
39   // The WebMTable alias produces a table given the following arguments:
40   //   Type, Level, Mandatory, Multiple, Recursive, Value range, Default value
41 
42   /**
43    \MatroskaID{EBML} element ID.
44 
45    \WebMTable{Master, 0, Yes, Yes, No, , }
46    */
47   kEbml = 0x1A45DFA3,
48 
49   /**
50    \MatroskaID{EBMLVersion} element ID.
51 
52    \WebMTable{Unsigned integer, 1, Yes, No, No, , 1}
53    */
54   kEbmlVersion = 0x4286,
55 
56   /**
57    \MatroskaID{EBMLReadVersion} element ID.
58 
59    \WebMTable{Unsigned integer, 1, Yes, No, No, , 1}
60    */
61   kEbmlReadVersion = 0x42F7,
62 
63   /**
64    \MatroskaID{EBMLMaxIDLength} element ID.
65 
66    \WebMTable{Unsigned integer, 1, Yes, No, No, , 4}
67    */
68   kEbmlMaxIdLength = 0x42F2,
69 
70   /**
71    \MatroskaID{EBMLMaxSizeLength} element ID.
72 
73    \WebMTable{Unsigned integer, 1, Yes, No, No, , 8}
74    */
75   kEbmlMaxSizeLength = 0x42F3,
76 
77   /**
78    \MatroskaID{DocType} element ID.
79 
80    \WebMTable{ASCII string, 1, Yes, No, No, , matroska}
81    */
82   kDocType = 0x4282,
83 
84   /**
85    \MatroskaID{DocTypeVersion} element ID.
86 
87    \WebMTable{Unsigned integer, 1, Yes, No, No, , 1}
88    */
89   kDocTypeVersion = 0x4287,
90 
91   /**
92    \MatroskaID{DocTypeReadVersion} element ID.
93 
94    \WebMTable{Unsigned integer, 1, Yes, No, No, , 1}
95    */
96   kDocTypeReadVersion = 0x4285,
97 
98   /**
99    \MatroskaID{Void} element ID.
100 
101    \WebMTable{Binary, g, No, No, No, , }
102    */
103   kVoid = 0xEC,
104 
105   /**
106    \MatroskaID{Segment} element ID.
107 
108    \WebMTable{Master, 0, Yes, Yes, No, , }
109    */
110   kSegment = 0x18538067,
111 
112   /**
113    \MatroskaID{SeekHead} element ID.
114 
115    \WebMTable{Master, 1, No, Yes, No, , }
116    */
117   kSeekHead = 0x114D9B74,
118 
119   /**
120    \MatroskaID{Seek} element ID.
121 
122    \WebMTable{Master, 2, Yes, Yes, No, , }
123    */
124   kSeek = 0x4DBB,
125 
126   /**
127    \MatroskaID{SeekID} element ID.
128 
129    \WebMTable{Binary, 3, Yes, No, No, , }
130    */
131   kSeekId = 0x53AB,
132 
133   /**
134    \MatroskaID{SeekPosition} element ID.
135 
136    \WebMTable{Unsigned integer, 3, Yes, No, No, , 0}
137    */
138   kSeekPosition = 0x53AC,
139 
140   /**
141    \MatroskaID{Info} element ID.
142 
143    \WebMTable{Master, 1, Yes, Yes, No, , }
144    */
145   kInfo = 0x1549A966,
146 
147   /**
148    \MatroskaID{TimecodeScale} element ID.
149 
150    \WebMTable{Unsigned integer, 2, Yes, No, No, , 1000000}
151    */
152   kTimecodeScale = 0x2AD7B1,
153 
154   /**
155    \MatroskaID{Duration} element ID.
156 
157    \WebMTable{Float, 2, No, No, No, > 0, 0}
158    */
159   kDuration = 0x4489,
160 
161   /**
162    \MatroskaID{DateUTC} element ID.
163 
164    \WebMTable{Date, 2, No, No, No, , 0}
165    */
166   kDateUtc = 0x4461,
167 
168   /**
169    \MatroskaID{Title} element ID.
170 
171    \WebMTable{UTF-8 string, 2, No, No, No, , }
172    */
173   kTitle = 0x7BA9,
174 
175   /**
176    \MatroskaID{MuxingApp} element ID.
177 
178    \WebMTable{UTF-8 string, 2, Yes, No, No, , }
179    */
180   kMuxingApp = 0x4D80,
181 
182   /**
183    \MatroskaID{WritingApp} element ID.
184 
185    \WebMTable{UTF-8 string, 2, Yes, No, No, , }
186    */
187   kWritingApp = 0x5741,
188 
189   /**
190    \MatroskaID{Cluster} element ID.
191 
192    \WebMTable{Master, 1, No, Yes, No, , }
193    */
194   kCluster = 0x1F43B675,
195 
196   /**
197    \MatroskaID{Timecode} element ID.
198 
199    \WebMTable{Unsigned integer, 2, Yes, No, No, , 0}
200    */
201   kTimecode = 0xE7,
202 
203   /**
204    \MatroskaID{PrevSize} element ID.
205 
206    \WebMTable{Unsigned integer, 2, No, No, No, , 0}
207    */
208   kPrevSize = 0xAB,
209 
210   /**
211    \MatroskaID{SimpleBlock} element ID.
212 
213    \WebMTable{Binary, 2, No, Yes, No, , }
214    */
215   kSimpleBlock = 0xA3,
216 
217   /**
218    \MatroskaID{BlockGroup} element ID.
219 
220    \WebMTable{Master, 2, No, Yes, No, , }
221    */
222   kBlockGroup = 0xA0,
223 
224   /**
225    \MatroskaID{Block} element ID.
226 
227    \WebMTable{Binary, 3, Yes, No, No, , }
228    */
229   kBlock = 0xA1,
230 
231   /**
232    \MatroskaID{BlockVirtual} (deprecated) element ID.
233 
234    \WebMTable{Binary, 3, No, No, No, , }
235    */
236   kBlockVirtual = 0xA2,
237 
238   /**
239    \MatroskaID{BlockAdditions} element ID.
240 
241    \WebMTable{Master, 3, No, No, No, , }
242    */
243   kBlockAdditions = 0x75A1,
244 
245   /**
246    \MatroskaID{BlockMore} element ID.
247 
248    \WebMTable{Master, 4, Yes, Yes, No, , }
249    */
250   kBlockMore = 0xA6,
251 
252   /**
253    \MatroskaID{BlockAddID} element ID.
254 
255    \WebMTable{Unsigned integer, 5, Yes, No, No, Not 0, 1}
256    */
257   kBlockAddId = 0xEE,
258 
259   /**
260    \MatroskaID{BlockAdditional} element ID.
261 
262    \WebMTable{Binary, 5, Yes, No, No, , }
263    */
264   kBlockAdditional = 0xA5,
265 
266   /**
267    \MatroskaID{BlockDuration} element ID.
268 
269    \WebMTable{Unsigned integer, 3, No, No, No, , DefaultDuration}
270    */
271   kBlockDuration = 0x9B,
272 
273   /**
274    \MatroskaID{ReferenceBlock} element ID.
275 
276    \WebMTable{Signed integer, 3, No, Yes, No, , 0}
277    */
278   kReferenceBlock = 0xFB,
279 
280   /**
281    \MatroskaID{DiscardPadding} element ID.
282 
283    \WebMTable{Signed integer, 3, No, No, No, , 0}
284    */
285   kDiscardPadding = 0x75A2,
286 
287   /**
288    \MatroskaID{Slices} (deprecated).
289 
290    \WebMTable{Master, 3, No, No, No, , }
291    */
292   kSlices = 0x8E,
293 
294   /**
295    \MatroskaID{TimeSlice} (deprecated) element ID.
296 
297    \WebMTable{Master, 4, No, Yes, No, , }
298    */
299   kTimeSlice = 0xE8,
300 
301   /**
302    \MatroskaID{LaceNumber} (deprecated) element ID.
303 
304    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
305    */
306   kLaceNumber = 0xCC,
307 
308   /**
309    \MatroskaID{Tracks} element ID.
310 
311    \WebMTable{Master, 1, No, Yes, No, , }
312    */
313   kTracks = 0x1654AE6B,
314 
315   /**
316    \MatroskaID{TrackEntry} element ID.
317 
318    \WebMTable{Master, 2, Yes, Yes, No, , }
319    */
320   kTrackEntry = 0xAE,
321 
322   /**
323    \MatroskaID{TrackNumber} element ID.
324 
325    \WebMTable{Unsigned integer, 3, Yes, No, No, Not 0, 0}
326    */
327   kTrackNumber = 0xD7,
328 
329   /**
330    \MatroskaID{TrackUID} element ID.
331 
332    \WebMTable{Unsigned integer, 3, Yes, No, No, Not 0, 0}
333    */
334   kTrackUid = 0x73C5,
335 
336   /**
337    \MatroskaID{TrackType} element ID.
338 
339    \WebMTable{Unsigned integer, 3, Yes, No, No, 1-254, 0}
340    */
341   kTrackType = 0x83,
342 
343   /**
344    \MatroskaID{FlagEnabled} element ID.
345 
346    \WebMTable{Unsigned integer, 3, Yes, No, No, 0-1, 1}
347    */
348   kFlagEnabled = 0xB9,
349 
350   /**
351    \MatroskaID{FlagDefault} element ID.
352 
353    \WebMTable{Unsigned integer, 3, Yes, No, No, 0-1, 1}
354    */
355   kFlagDefault = 0x88,
356 
357   /**
358    \MatroskaID{FlagForced} element ID.
359 
360    \WebMTable{Unsigned integer, 3, Yes, No, No, 0-1, 0}
361    */
362   kFlagForced = 0x55AA,
363 
364   /**
365    \MatroskaID{FlagLacing} element ID.
366 
367    \WebMTable{Unsigned integer, 3, Yes, No, No, 0-1, 1}
368    */
369   kFlagLacing = 0x9C,
370 
371   /**
372    \MatroskaID{DefaultDuration} element ID.
373 
374    \WebMTable{Unsigned integer, 3, No, No, No, Not 0, 0}
375    */
376   kDefaultDuration = 0x23E383,
377 
378   /**
379    \MatroskaID{Name} element ID.
380 
381    \WebMTable{UTF-8 string, 3, No, No, No, , }
382    */
383   kName = 0x536E,
384 
385   /**
386    \MatroskaID{Language} element ID.
387 
388    \WebMTable{ASCII string, 3, No, No, No, , eng}
389    */
390   kLanguage = 0x22B59C,
391 
392   /**
393    \MatroskaID{CodecID} element ID.
394 
395    \WebMTable{ASCII string, 3, Yes, No, No, , }
396    */
397   kCodecId = 0x86,
398 
399   /**
400    \MatroskaID{CodecPrivate} element ID.
401 
402    \WebMTable{Binary, 3, No, No, No, , }
403    */
404   kCodecPrivate = 0x63A2,
405 
406   /**
407    \MatroskaID{CodecName} element ID.
408 
409    \WebMTable{UTF-8 string, 3, No, No, No, , }
410    */
411   kCodecName = 0x258688,
412 
413   /**
414    \MatroskaID{CodecDelay} element ID.
415 
416    \WebMTable{Unsigned integer, 3, No, No, No, , 0}
417    */
418   kCodecDelay = 0x56AA,
419 
420   /**
421    \MatroskaID{SeekPreRoll} element ID.
422 
423    \WebMTable{Unsigned integer, 3, Yes, No, No, , 0}
424    */
425   kSeekPreRoll = 0x56BB,
426 
427   /**
428    \MatroskaID{Video} element ID.
429 
430    \WebMTable{Master, 3, No, No, No, , }
431    */
432   kVideo = 0xE0,
433 
434   /**
435    \MatroskaID{FlagInterlaced} element ID.
436 
437    \WebMTable{Unsigned integer, 4, Yes, No, No, 0-1, 0}
438    */
439   kFlagInterlaced = 0x9A,
440 
441   /**
442    \MatroskaID{StereoMode} element ID.
443 
444    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
445    */
446   kStereoMode = 0x53B8,
447 
448   /**
449    \MatroskaID{AlphaMode} element ID.
450 
451    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
452    */
453   kAlphaMode = 0x53C0,
454 
455   /**
456    \MatroskaID{PixelWidth} element ID.
457 
458    \WebMTable{Unsigned integer, 4, Yes, No, No, Not 0, 0}
459    */
460   kPixelWidth = 0xB0,
461 
462   /**
463    \MatroskaID{PixelHeight} element ID.
464 
465    \WebMTable{Unsigned integer, 4, Yes, No, No, Not 0, 0}
466    */
467   kPixelHeight = 0xBA,
468 
469   /**
470    \MatroskaID{PixelCropBottom} element ID.
471 
472    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
473    */
474   kPixelCropBottom = 0x54AA,
475 
476   /**
477    \MatroskaID{PixelCropTop} element ID.
478 
479    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
480    */
481   kPixelCropTop = 0x54BB,
482 
483   /**
484    \MatroskaID{PixelCropLeft} element ID.
485 
486    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
487    */
488   kPixelCropLeft = 0x54CC,
489 
490   /**
491    \MatroskaID{PixelCropRight} element ID.
492 
493    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
494    */
495   kPixelCropRight = 0x54DD,
496 
497   /**
498    \MatroskaID{DisplayWidth} element ID.
499 
500    \WebMTable{Unsigned integer, 4, No, No, No, Not 0, PixelWidth}
501    */
502   kDisplayWidth = 0x54B0,
503 
504   /**
505    \MatroskaID{DisplayHeight} element ID.
506 
507    \WebMTable{Unsigned integer, 4, No, No, No, Not 0, PixelHeight}
508    */
509   kDisplayHeight = 0x54BA,
510 
511   /**
512    \MatroskaID{DisplayUnit} element ID.
513 
514    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
515    */
516   kDisplayUnit = 0x54B2,
517 
518   /**
519    \MatroskaID{AspectRatioType} element ID.
520 
521    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
522    */
523   kAspectRatioType = 0x54B3,
524 
525   /**
526    \MatroskaID{FrameRate} (deprecated) element ID.
527 
528    \WebMTable{Float, 4, No, No, No, > 0, 0}
529    */
530   kFrameRate = 0x2383E3,
531 
532   /**
533    \MatroskaID{Colour} element ID.
534 
535    \WebMTable{Master, 4, No, No, No, , }
536    */
537   kColour = 0x55B0,
538 
539   /**
540    \MatroskaID{MatrixCoefficients} element ID.
541 
542    \WebMTable{Unsigned integer, 5, No, No, No, , 2}
543    */
544   kMatrixCoefficients = 0x55B1,
545 
546   /**
547    \MatroskaID{BitsPerChannel} element ID.
548 
549    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
550    */
551   kBitsPerChannel = 0x55B2,
552 
553   /**
554    \MatroskaID{ChromaSubsamplingHorz} element ID.
555 
556    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
557    */
558   kChromaSubsamplingHorz = 0x55B3,
559 
560   /**
561    \MatroskaID{ChromaSubsamplingVert} element ID.
562 
563    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
564    */
565   kChromaSubsamplingVert = 0x55B4,
566 
567   /**
568    \MatroskaID{CbSubsamplingHorz} element ID.
569 
570    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
571    */
572   kCbSubsamplingHorz = 0x55B5,
573 
574   /**
575    \MatroskaID{CbSubsamplingVert} element ID.
576 
577    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
578    */
579   kCbSubsamplingVert = 0x55B6,
580 
581   /**
582    \MatroskaID{ChromaSitingHorz} element ID.
583 
584    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
585    */
586   kChromaSitingHorz = 0x55B7,
587 
588   /**
589    \MatroskaID{ChromaSitingVert} element ID.
590 
591    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
592    */
593   kChromaSitingVert = 0x55B8,
594 
595   /**
596    \MatroskaID{Range} element ID.
597 
598    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
599    */
600   kRange = 0x55B9,
601 
602   /**
603    \MatroskaID{TransferCharacteristics} element ID.
604 
605    \WebMTable{Unsigned integer, 5, No, No, No, , 2}
606    */
607   kTransferCharacteristics = 0x55BA,
608 
609   /**
610    \MatroskaID{Primaries} element ID.
611 
612    \WebMTable{Unsigned integer, 5, No, No, No, , 2}
613    */
614   kPrimaries = 0x55BB,
615 
616   /**
617    \MatroskaID{MaxCLL} element ID.
618 
619    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
620    */
621   kMaxCll = 0x55BC,
622 
623   /**
624    \MatroskaID{MaxFALL} element ID.
625 
626    \WebMTable{Unsigned integer, 5, No, No, No, , 0}
627    */
628   kMaxFall = 0x55BD,
629 
630   /**
631    \MatroskaID{MasteringMetadata} element ID.
632 
633    \WebMTable{Master, 5, No, No, No, , }
634    */
635   kMasteringMetadata = 0x55D0,
636 
637   /**
638    \MatroskaID{PrimaryRChromaticityX} element ID.
639 
640    \WebMTable{Float, 6, No, No, No, 0-1, 0}
641    */
642   kPrimaryRChromaticityX = 0x55D1,
643 
644   /**
645    \MatroskaID{PrimaryRChromaticityY} element ID.
646 
647    \WebMTable{Float, 6, No, No, No, 0-1, 0}
648    */
649   kPrimaryRChromaticityY = 0x55D2,
650 
651   /**
652    \MatroskaID{PrimaryGChromaticityX} element ID.
653 
654    \WebMTable{Float, 6, No, No, No, 0-1, 0}
655    */
656   kPrimaryGChromaticityX = 0x55D3,
657 
658   /**
659    \MatroskaID{PrimaryGChromaticityY} element ID.
660 
661    \WebMTable{Float, 6, No, No, No, 0-1, 0}
662    */
663   kPrimaryGChromaticityY = 0x55D4,
664 
665   /**
666    \MatroskaID{PrimaryBChromaticityX} element ID.
667 
668    \WebMTable{Float, 6, No, No, No, 0-1, 0}
669    */
670   kPrimaryBChromaticityX = 0x55D5,
671 
672   /**
673    \MatroskaID{PrimaryBChromaticityY} element ID.
674 
675    \WebMTable{Float, 6, No, No, No, 0-1, 0}
676    */
677   kPrimaryBChromaticityY = 0x55D6,
678 
679   /**
680    \MatroskaID{WhitePointChromaticityX} element ID.
681 
682    \WebMTable{Float, 6, No, No, No, 0-1, 0}
683    */
684   kWhitePointChromaticityX = 0x55D7,
685 
686   /**
687    \MatroskaID{WhitePointChromaticityY} element ID.
688 
689    \WebMTable{Float, 6, No, No, No, 0-1, 0}
690    */
691   kWhitePointChromaticityY = 0x55D8,
692 
693   /**
694    \MatroskaID{LuminanceMax} element ID.
695 
696    \WebMTable{Float, 6, No, No, No, 0-9999.99, 0}
697    */
698   kLuminanceMax = 0x55D9,
699 
700   /**
701    \MatroskaID{LuminanceMin} element ID.
702 
703    \WebMTable{Float, 6, No, No, No, 0-999.9999, 0}
704    */
705   kLuminanceMin = 0x55DA,
706 
707   /**
708    \WebMID{Projection} element ID.
709 
710    \WebMTable{Master, 5, No, No, No, , }
711    */
712   kProjection = 0x7670,
713 
714   /**
715    \WebMID{ProjectionType} element ID.
716 
717    \WebMTable{Unsigned integer, 6, Yes, No, No, , 0}
718    */
719   kProjectionType = 0x7671,
720 
721   /**
722    \WebMID{ProjectionPrivate} element ID.
723 
724    \WebMTable{Binary, 6, No, No, No, , }
725    */
726   kProjectionPrivate = 0x7672,
727 
728   /**
729    \WebMID{ProjectionPoseYaw} element ID.
730 
731    \WebMTable{Float, 6, Yes, No, No, , 0}
732    */
733   kProjectionPoseYaw = 0x7673,
734 
735   /**
736    \WebMID{ProjectionPosePitch} element ID.
737 
738    \WebMTable{Float, 6, Yes, No, No, , 0}
739    */
740   kProjectionPosePitch = 0x7674,
741 
742   /**
743    \WebMID{ProjectionPoseRoll} element ID.
744 
745    \WebMTable{Float, 6, Yes, No, No, , 0}
746    */
747   kProjectionPoseRoll = 0x7675,
748 
749   /**
750    \MatroskaID{Audio} element ID.
751 
752    \WebMTable{Master, 3, No, No, No, , }
753    */
754   kAudio = 0xE1,
755 
756   /**
757    \MatroskaID{SamplingFrequency} element ID.
758 
759    \WebMTable{Float, 4, Yes, No, No, > 0, 8000}
760    */
761   kSamplingFrequency = 0xB5,
762 
763   /**
764    \MatroskaID{OutputSamplingFrequency} element ID.
765 
766    \WebMTable{Float, 4, No, No, No, > 0, SamplingFrequency}
767    */
768   kOutputSamplingFrequency = 0x78B5,
769 
770   /**
771    \MatroskaID{Channels} element ID.
772 
773    \WebMTable{Unsigned integer, 4, Yes, No, No, Not 0, 1}
774    */
775   kChannels = 0x9F,
776 
777   /**
778    \MatroskaID{BitDepth} element ID.
779 
780    \WebMTable{Unsigned integer, 4, No, No, No, Not 0, 0}
781    */
782   kBitDepth = 0x6264,
783 
784   /**
785    \MatroskaID{ContentEncodings} element ID.
786 
787    \WebMTable{Master, 3, No, No, No, , }
788    */
789   kContentEncodings = 0x6D80,
790 
791   /**
792    \MatroskaID{ContentEncoding} element ID.
793 
794    \WebMTable{Master, 4, Yes, Yes, No, , }
795    */
796   kContentEncoding = 0x6240,
797 
798   /**
799    \MatroskaID{ContentEncodingOrder} element ID.
800 
801    \WebMTable{Unsigned integer, 5, Yes, No, No, , 0}
802    */
803   kContentEncodingOrder = 0x5031,
804 
805   /**
806    \MatroskaID{ContentEncodingScope} element ID.
807 
808    \WebMTable{Unsigned integer, 5, Yes, No, No, Not 0, 1}
809    */
810   kContentEncodingScope = 0x5032,
811 
812   /**
813    \MatroskaID{ContentEncodingType} element ID.
814 
815    \WebMTable{Unsigned integer, 5, Yes, No, No, , 0}
816    */
817   kContentEncodingType = 0x5033,
818 
819   /**
820    \MatroskaID{ContentEncryption} element ID.
821 
822    \WebMTable{Master, 5, No, No, No, , }
823    */
824   kContentEncryption = 0x5035,
825 
826   /**
827    \MatroskaID{ContentEncAlgo} element ID.
828 
829    \WebMTable{Unsigned integer, 6, No, No, No, , 0}
830    */
831   kContentEncAlgo = 0x47E1,
832 
833   /**
834    \MatroskaID{ContentEncKeyID} element ID.
835 
836    \WebMTable{Binary, 6, No, No, No, , }
837    */
838   kContentEncKeyId = 0x47E2,
839 
840   /**
841    \WebMID{ContentEncAESSettings} element ID.
842 
843    \WebMTable{Master, 6, No, No, No, , }
844    */
845   kContentEncAesSettings = 0x47E7,
846 
847   /**
848    \WebMID{AESSettingsCipherMode} element ID.
849 
850    \WebMTable{Unsigned integer, 7, Yes, No, No, 1, 1}
851    */
852   kAesSettingsCipherMode = 0x47E8,
853 
854   /**
855    \MatroskaID{Cues} element ID.
856 
857    \WebMTable{Master, 1, No, No, No, , }
858    */
859   kCues = 0x1C53BB6B,
860 
861   /**
862    \MatroskaID{CuePoint} element ID.
863 
864    \WebMTable{Master, 2, Yes, Yes, No, , }
865    */
866   kCuePoint = 0xBB,
867 
868   /**
869    \MatroskaID{CueTime} element ID.
870 
871    \WebMTable{Unsigned integer, 3, Yes, No, No, , 0}
872    */
873   kCueTime = 0xB3,
874 
875   /**
876    \MatroskaID{CueTrackPositions} element ID.
877 
878    \WebMTable{Master, 3, Yes, Yes, No, , }
879    */
880   kCueTrackPositions = 0xB7,
881 
882   /**
883    \MatroskaID{CueTrack} element ID.
884 
885    \WebMTable{Unsigned integer, 4, Yes, No, No, Not 0, 0}
886    */
887   kCueTrack = 0xF7,
888 
889   /**
890    \MatroskaID{CueClusterPosition} element ID.
891 
892    \WebMTable{Unsigned integer, 4, Yes, No, No, , 0}
893    */
894   kCueClusterPosition = 0xF1,
895 
896   /**
897    \MatroskaID{CueRelativePosition} element ID.
898 
899    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
900    */
901   kCueRelativePosition = 0xF0,
902 
903   /**
904    \MatroskaID{CueDuration} element ID.
905 
906    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
907    */
908   kCueDuration = 0xB2,
909 
910   /**
911    \MatroskaID{CueBlockNumber} element ID.
912 
913    \WebMTable{Unsigned integer, 4, No, No, No, Not 0, 1}
914    */
915   kCueBlockNumber = 0x5378,
916 
917   /**
918    \MatroskaID{Chapters} element ID.
919 
920    \WebMTable{Master, 1, No, No, No, , }
921    */
922   kChapters = 0x1043A770,
923 
924   /**
925    \MatroskaID{EditionEntry} element ID.
926 
927    \WebMTable{Master, 2, Yes, Yes, No, , }
928    */
929   kEditionEntry = 0x45B9,
930 
931   /**
932    \MatroskaID{ChapterAtom} element ID.
933 
934    \WebMTable{Master, 3, Yes, Yes, Yes, , }
935    */
936   kChapterAtom = 0xB6,
937 
938   /**
939    \MatroskaID{ChapterUID} element ID.
940 
941    \WebMTable{Unsigned integer, 4, Yes, No, No, Not 0, 0}
942    */
943   kChapterUid = 0x73C4,
944 
945   /**
946    \MatroskaID{ChapterStringUID} element ID.
947 
948    \WebMTable{UTF-8 string, 4, No, No, No, , }
949    */
950   kChapterStringUid = 0x5654,
951 
952   /**
953    \MatroskaID{ChapterTimeStart} element ID.
954 
955    \WebMTable{Unsigned integer, 4, Yes, No, No, , 0}
956    */
957   kChapterTimeStart = 0x91,
958 
959   /**
960    \MatroskaID{ChapterTimeEnd} element ID.
961 
962    \WebMTable{Unsigned integer, 4, No, No, No, , 0}
963    */
964   kChapterTimeEnd = 0x92,
965 
966   /**
967    \MatroskaID{ChapterDisplay} element ID.
968 
969    \WebMTable{Master, 4, No, Yes, No, , }
970    */
971   kChapterDisplay = 0x80,
972 
973   /**
974    \MatroskaID{ChapString} element ID.
975 
976    \WebMTable{UTF-8 string, 5, Yes, No, No, , }
977    */
978   kChapString = 0x85,
979 
980   /**
981    \MatroskaID{ChapLanguage} element ID.
982 
983    \WebMTable{ASCII string, 5, Yes, Yes, No, , eng}
984    */
985   kChapLanguage = 0x437C,
986 
987   /**
988    \MatroskaID{ChapCountry} element ID.
989 
990    \WebMTable{ASCII string, 5, No, Yes, No, , }
991    */
992   kChapCountry = 0x437E,
993 
994   /**
995    \MatroskaID{Tags} element ID.
996 
997    \WebMTable{Master, 1, No, Yes, No, , }
998    */
999   kTags = 0x1254C367,
1000 
1001   /**
1002    \MatroskaID{Tag} element ID.
1003 
1004    \WebMTable{Master, 2, Yes, Yes, No, , }
1005    */
1006   kTag = 0x7373,
1007 
1008   /**
1009    \MatroskaID{Targets} element ID.
1010 
1011    \WebMTable{Master, 3, Yes, No, No, , }
1012    */
1013   kTargets = 0x63C0,
1014 
1015   /**
1016    \MatroskaID{TargetTypeValue} element ID.
1017 
1018    \WebMTable{Unsigned integer, 4, No, No, No, , 50}
1019    */
1020   kTargetTypeValue = 0x68CA,
1021 
1022   /**
1023    \MatroskaID{TargetType} element ID.
1024 
1025    \WebMTable{ASCII string, 4, No, No, No, , }
1026    */
1027   kTargetType = 0x63CA,
1028 
1029   /**
1030    \MatroskaID{TagTrackUID} element ID.
1031 
1032    \WebMTable{Unsigned integer, 4, No, Yes, No, , 0}
1033    */
1034   kTagTrackUid = 0x63C5,
1035 
1036   /**
1037    \MatroskaID{SimpleTag} element ID.
1038 
1039    \WebMTable{Master, 3, Yes, Yes, Yes, , }
1040    */
1041   kSimpleTag = 0x67C8,
1042 
1043   /**
1044    \MatroskaID{TagName} element ID.
1045 
1046    \WebMTable{UTF-8 string, 4, Yes, No, No, , }
1047    */
1048   kTagName = 0x45A3,
1049 
1050   /**
1051    \MatroskaID{TagLanguage} element ID.
1052 
1053    \WebMTable{ASCII string, 4, Yes, No, No, , und}
1054    */
1055   kTagLanguage = 0x447A,
1056 
1057   /**
1058    \MatroskaID{TagDefault} element ID.
1059 
1060    \WebMTable{Unsigned integer, 4, Yes, No, No, 0-1, 1}
1061    */
1062   kTagDefault = 0x4484,
1063 
1064   /**
1065    \MatroskaID{TagString} element ID.
1066 
1067    \WebMTable{UTF-8 string, 4, No, No, No, , }
1068    */
1069   kTagString = 0x4487,
1070 
1071   /**
1072    \MatroskaID{TagBinary} element ID.
1073 
1074    \WebMTable{Binary, 4, No, No, No, , }
1075    */
1076   kTagBinary = 0x4485,
1077 };
1078 
1079 /**
1080  @}
1081  */
1082 
1083 }  // namespace webm
1084 
1085 #endif  // INCLUDE_WEBM_ID_H_
1086