1233d2500723e5594f3e7c70896ffeeef32b9c950ywan// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
2233d2500723e5594f3e7c70896ffeeef32b9c950ywan//
3233d2500723e5594f3e7c70896ffeeef32b9c950ywan// Use of this source code is governed by a BSD-style license
4233d2500723e5594f3e7c70896ffeeef32b9c950ywan// that can be found in the LICENSE file in the root of the source
5233d2500723e5594f3e7c70896ffeeef32b9c950ywan// tree. An additional intellectual property rights grant can be found
6233d2500723e5594f3e7c70896ffeeef32b9c950ywan// in the file PATENTS.  All contributing project authors may
7233d2500723e5594f3e7c70896ffeeef32b9c950ywan// be found in the AUTHORS file in the root of the source tree.
8233d2500723e5594f3e7c70896ffeeef32b9c950ywan
9233d2500723e5594f3e7c70896ffeeef32b9c950ywan#ifndef WEBMIDS_HPP
10233d2500723e5594f3e7c70896ffeeef32b9c950ywan#define WEBMIDS_HPP
11233d2500723e5594f3e7c70896ffeeef32b9c950ywan
12233d2500723e5594f3e7c70896ffeeef32b9c950ywannamespace mkvmuxer {
13233d2500723e5594f3e7c70896ffeeef32b9c950ywan
14233d2500723e5594f3e7c70896ffeeef32b9c950ywanenum MkvId {
15233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvEBML                    = 0x1A45DFA3,
16233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvEBMLVersion             = 0x4286,
17233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvEBMLReadVersion         = 0x42F7,
18233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvEBMLMaxIDLength         = 0x42F2,
19233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvEBMLMaxSizeLength       = 0x42F3,
20233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDocType                 = 0x4282,
21233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDocTypeVersion          = 0x4287,
22233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDocTypeReadVersion      = 0x4285,
23233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvVoid                    = 0xEC,
24233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignatureSlot           = 0x1B538667,
25233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignatureAlgo           = 0x7E8A,
26233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignatureHash           = 0x7E9A,
27233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignaturePublicKey      = 0x7EA5,
28233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignature               = 0x7EB5,
29233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignatureElements       = 0x7E5B,
30233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignatureElementList    = 0x7E7B,
31233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSignedElement           = 0x6532,
32233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //segment
33233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSegment                 = 0x18538067,
34233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //Meta Seek Information
35233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSeekHead                = 0x114D9B74,
36233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSeek                    = 0x4DBB,
37233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSeekID                  = 0x53AB,
38233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSeekPosition            = 0x53AC,
39233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //Segment Information
40233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvInfo                    = 0x1549A966,
41233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTimecodeScale           = 0x2AD7B1,
42233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDuration                = 0x4489,
43233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDateUTC                 = 0x4461,
44233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvMuxingApp               = 0x4D80,
45233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvWritingApp              = 0x5741,
46233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //Cluster
47233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCluster                 = 0x1F43B675,
48233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTimecode                = 0xE7,
49233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPrevSize                = 0xAB,
50233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlockGroup              = 0xA0,
51233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlock                   = 0xA1,
52233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlockDuration           = 0x9B,
53233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvReferenceBlock          = 0xFB,
54233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvLaceNumber              = 0xCC,
55233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSimpleBlock             = 0xA3,
56233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlockAdditions          = 0x75A1,
57233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlockMore               = 0xA6,
58233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlockAddID              = 0xEE,
59233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBlockAdditional         = 0xA5,
60233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDiscardPadding          = 0x75A2,
61233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //Track
62233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTracks                  = 0x1654AE6B,
63233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTrackEntry              = 0xAE,
64233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTrackNumber             = 0xD7,
65233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTrackUID                = 0x73C5,
66233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvTrackType               = 0x83,
67233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvFlagEnabled             = 0xB9,
68233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvFlagDefault             = 0x88,
69233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvFlagForced              = 0x55AA,
70233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvFlagLacing              = 0x9C,
71233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDefaultDuration         = 0x23E383,
72233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvMaxBlockAdditionID      = 0x55EE,
73233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvName                    = 0x536E,
74233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvLanguage                = 0x22B59C,
75233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCodecID                 = 0x86,
76233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCodecPrivate            = 0x63A2,
77233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCodecName               = 0x258688,
78233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCodecDelay              = 0x56AA,
79233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSeekPreRoll             = 0x56BB,
80233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //video
81233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvVideo                   = 0xE0,
82233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvFlagInterlaced          = 0x9A,
83233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvStereoMode              = 0x53B8,
84233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvAlphaMode               = 0x53C0,
85233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPixelWidth              = 0xB0,
86233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPixelHeight             = 0xBA,
87233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPixelCropBottom         = 0x54AA,
88233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPixelCropTop            = 0x54BB,
89233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPixelCropLeft           = 0x54CC,
90233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvPixelCropRight          = 0x54DD,
91233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDisplayWidth            = 0x54B0,
92233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDisplayHeight           = 0x54BA,
93233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvDisplayUnit             = 0x54B2,
94233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvAspectRatioType         = 0x54B3,
95233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvFrameRate               = 0x2383E3,
96233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //end video
97233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //audio
98233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvAudio                   = 0xE1,
99233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvSamplingFrequency       = 0xB5,
100233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvOutputSamplingFrequency = 0x78B5,
101233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChannels                = 0x9F,
102233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvBitDepth                = 0x6264,
103233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //end audio
104233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //ContentEncodings
105233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncodings        = 0x6D80,
106233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncoding         = 0x6240,
107233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncodingOrder    = 0x5031,
108233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncodingScope    = 0x5032,
109233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncodingType     = 0x5033,
110233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncryption       = 0x5035,
111233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncAlgo          = 0x47E1,
112233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncKeyID         = 0x47E2,
113233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvContentEncAESSettings   = 0x47E7,
114233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvAESSettingsCipherMode   = 0x47E8,
115233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvAESSettingsCipherInitData = 0x47E9,
116233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //end ContentEncodings
117233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //Cueing Data
118233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCues                    = 0x1C53BB6B,
119233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCuePoint                = 0xBB,
120233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCueTime                 = 0xB3,
121233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCueTrackPositions       = 0xB7,
122233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCueTrack                = 0xF7,
123233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCueClusterPosition      = 0xF1,
124233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvCueBlockNumber          = 0x5378,
125233d2500723e5594f3e7c70896ffeeef32b9c950ywan  //Chapters
126233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapters                = 0x1043A770,
127233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvEditionEntry            = 0x45B9,
128233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapterAtom             = 0xB6,
129233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapterUID              = 0x73C4,
130233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapterStringUID        = 0x5654,
131233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapterTimeStart        = 0x91,
132233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapterTimeEnd          = 0x92,
133233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapterDisplay          = 0x80,
134233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapString              = 0x85,
135233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapLanguage            = 0x437C,
136233d2500723e5594f3e7c70896ffeeef32b9c950ywan  kMkvChapCountry             = 0x437E
137233d2500723e5594f3e7c70896ffeeef32b9c950ywan};
138233d2500723e5594f3e7c70896ffeeef32b9c950ywan
139233d2500723e5594f3e7c70896ffeeef32b9c950ywan}  // end namespace mkvmuxer
140233d2500723e5594f3e7c70896ffeeef32b9c950ywan
141233d2500723e5594f3e7c70896ffeeef32b9c950ywan#endif // WEBMIDS_HPP
142