DASH Media Packaging SDK
 All Classes Namespaces Functions Variables Typedefs
webm_constants.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_
6 #define MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_
7 
8 #include <stdint.h>
9 
10 namespace edash_packager {
11 namespace media {
12 
13 // WebM element IDs.
14 // This is a subset of the IDs in the Matroska spec.
15 // http://www.matroska.org/technical/specs/index.html
16 const int kWebMIdAESSettingsCipherMode = 0x47E8;
17 const int kWebMIdAlphaMode = 0x53C0;
18 const int kWebMIdAspectRatioType = 0x54B3;
19 const int kWebMIdAttachedFile = 0x61A7;
20 const int kWebMIdAttachmentLink = 0x7446;
21 const int kWebMIdAttachments = 0x1941A469;
22 const int kWebMIdAudio = 0xE1;
23 const int kWebMIdBitDepth = 0x6264;
24 const int kWebMIdBlock = 0xA1;
25 const int kWebMIdBlockAddID = 0xEE;
26 const int kWebMIdBlockAdditions = 0x75A1;
27 const int kWebMIdBlockAdditional = 0xA5;
28 const int kWebMIdBlockDuration = 0x9B;
29 const int kWebMIdBlockGroup = 0xA0;
30 const int kWebMIdBlockMore = 0xA6;
31 const int kWebMIdChannels = 0x9F;
32 const int kWebMIdChapCountry = 0x437E;
33 const int kWebMIdChapLanguage = 0x437C;
34 const int kWebMIdChapProcess = 0x6944;
35 const int kWebMIdChapProcessCodecID = 0x6955;
36 const int kWebMIdChapProcessCommand = 0x6911;
37 const int kWebMIdChapProcessData = 0x6933;
38 const int kWebMIdChapProcessPrivate = 0x450D;
39 const int kWebMIdChapProcessTime = 0x6922;
40 const int kWebMIdChapString = 0x85;
41 const int kWebMIdChapterAtom = 0xB6;
42 const int kWebMIdChapterDisplay = 0x80;
43 const int kWebMIdChapterFlagEnabled = 0x4598;
44 const int kWebMIdChapterFlagHidden = 0x98;
45 const int kWebMIdChapterPhysicalEquiv = 0x63C3;
46 const int kWebMIdChapters = 0x1043A770;
47 const int kWebMIdChapterSegmentEditionUID = 0x6EBC;
48 const int kWebMIdChapterSegmentUID = 0x6E67;
49 const int kWebMIdChapterTimeEnd = 0x92;
50 const int kWebMIdChapterTimeStart = 0x91;
51 const int kWebMIdChapterTrack = 0x8F;
52 const int kWebMIdChapterTrackNumber = 0x89;
53 const int kWebMIdChapterTranslate = 0x6924;
54 const int kWebMIdChapterTranslateCodec = 0x69BF;
55 const int kWebMIdChapterTranslateEditionUID = 0x69FC;
56 const int kWebMIdChapterTranslateID = 0x69A5;
57 const int kWebMIdChapterUID = 0x73C4;
58 const int kWebMIdCluster = 0x1F43B675;
59 const int kWebMIdCodecDecodeAll = 0xAA;
60 const int kWebMIdCodecDelay = 0x56AA;
61 const int kWebMIdCodecID = 0x86;
62 const int kWebMIdCodecName = 0x258688;
63 const int kWebMIdCodecPrivate = 0x63A2;
64 const int kWebMIdCodecState = 0xA4;
65 const int kWebMIdColorSpace = 0x2EB524;
66 const int kWebMIdContentCompAlgo = 0x4254;
67 const int kWebMIdContentCompression = 0x5034;
68 const int kWebMIdContentCompSettings = 0x4255;
69 const int kWebMIdContentEncAESSettings = 0x47E7;
70 const int kWebMIdContentEncAlgo = 0x47E1;
71 const int kWebMIdContentEncKeyID = 0x47E2;
72 const int kWebMIdContentEncoding = 0x6240;
73 const int kWebMIdContentEncodingOrder = 0x5031;
74 const int kWebMIdContentEncodings = 0x6D80;
75 const int kWebMIdContentEncodingScope = 0x5032;
76 const int kWebMIdContentEncodingType = 0x5033;
77 const int kWebMIdContentEncryption = 0x5035;
78 const int kWebMIdContentSigAlgo = 0x47E5;
79 const int kWebMIdContentSigHashAlgo = 0x47E6;
80 const int kWebMIdContentSigKeyID = 0x47E4;
81 const int kWebMIdContentSignature = 0x47E3;
82 const int kWebMIdCRC32 = 0xBF;
83 const int kWebMIdCueBlockNumber = 0x5378;
84 const int kWebMIdCueClusterPosition = 0xF1;
85 const int kWebMIdCueCodecState = 0xEA;
86 const int kWebMIdCuePoint = 0xBB;
87 const int kWebMIdCueReference = 0xDB;
88 const int kWebMIdCueRefTime = 0x96;
89 const int kWebMIdCues = 0x1C53BB6B;
90 const int kWebMIdCueTime = 0xB3;
91 const int kWebMIdCueTrack = 0xF7;
92 const int kWebMIdCueTrackPositions = 0xB7;
93 const int kWebMIdDateUTC = 0x4461;
94 const int kWebMIdDefaultDuration = 0x23E383;
95 const int kWebMIdDiscardPadding = 0x75A2;
96 const int kWebMIdDisplayHeight = 0x54BA;
97 const int kWebMIdDisplayUnit = 0x54B2;
98 const int kWebMIdDisplayWidth = 0x54B0;
99 const int kWebMIdDocType = 0x4282;
100 const int kWebMIdDocTypeReadVersion = 0x4285;
101 const int kWebMIdDocTypeVersion = 0x4287;
102 const int kWebMIdDuration = 0x4489;
103 const int kWebMIdEBMLHeader = 0x1A45DFA3;
104 const int kWebMIdEBMLMaxIDLength = 0x42F2;
105 const int kWebMIdEBMLMaxSizeLength = 0x42F3;
106 const int kWebMIdEBMLReadVersion = 0x42F7;
107 const int kWebMIdEBMLVersion = 0x4286;
108 const int kWebMIdEditionEntry = 0x45B9;
109 const int kWebMIdEditionFlagDefault = 0x45DB;
110 const int kWebMIdEditionFlagHidden = 0x45BD;
111 const int kWebMIdEditionFlagOrdered = 0x45DD;
112 const int kWebMIdEditionUID = 0x45BC;
113 const int kWebMIdFileData = 0x465C;
114 const int kWebMIdFileDescription = 0x467E;
115 const int kWebMIdFileMimeType = 0x4660;
116 const int kWebMIdFileName = 0x466E;
117 const int kWebMIdFileUID = 0x46AE;
118 const int kWebMIdFlagDefault = 0x88;
119 const int kWebMIdFlagEnabled = 0xB9;
120 const int kWebMIdFlagForced = 0x55AA;
121 const int kWebMIdFlagInterlaced = 0x9A;
122 const int kWebMIdFlagLacing = 0x9C;
123 const int kWebMIdFrameRate = 0x2383E3;
124 const int kWebMIdInfo = 0x1549A966;
125 const int kWebMIdJoinBlocks = 0xE9;
126 const int kWebMIdLaceNumber = 0xCC;
127 const int kWebMIdLanguage = 0x22B59C;
128 const int kWebMIdMaxBlockAdditionId = 0x55EE;
129 const int kWebMIdMaxCache = 0x6DF8;
130 const int kWebMIdMinCache = 0x6DE7;
131 const int kWebMIdMuxingApp = 0x4D80;
132 const int kWebMIdName = 0x536E;
133 const int kWebMIdNextFilename = 0x3E83BB;
134 const int kWebMIdNextUID = 0x3EB923;
135 const int kWebMIdOutputSamplingFrequency = 0x78B5;
136 const int kWebMIdPixelCropBottom = 0x54AA;
137 const int kWebMIdPixelCropLeft = 0x54CC;
138 const int kWebMIdPixelCropRight = 0x54DD;
139 const int kWebMIdPixelCropTop = 0x54BB;
140 const int kWebMIdPixelHeight = 0xBA;
141 const int kWebMIdPixelWidth = 0xB0;
142 const int kWebMIdPosition = 0xA7;
143 const int kWebMIdPrevFilename = 0x3C83AB;
144 const int kWebMIdPrevSize = 0xAB;
145 const int kWebMIdPrevUID = 0x3CB923;
146 const int kWebMIdReferenceBlock = 0xFB;
147 const int kWebMIdReferencePriority = 0xFA;
148 const int kWebMIdSamplingFrequency = 0xB5;
149 const int kWebMIdSeek = 0x4DBB;
150 const int kWebMIdSeekHead = 0x114D9B74;
151 const int kWebMIdSeekID = 0x53AB;
152 const int kWebMIdSeekPosition = 0x53AC;
153 const int kWebMIdSeekPreRoll = 0x56BB;
154 const int kWebMIdSegment = 0x18538067;
155 const int kWebMIdSegmentFamily = 0x4444;
156 const int kWebMIdSegmentFilename = 0x7384;
157 const int kWebMIdSegmentUID = 0x73A4;
158 const int kWebMIdSilentTrackNumber = 0x58D7;
159 const int kWebMIdSilentTracks = 0x5854;
160 const int kWebMIdSimpleBlock = 0xA3;
161 const int kWebMIdSimpleTag = 0x67C8;
162 const int kWebMIdSlices = 0x8E;
163 const int kWebMIdStereoMode = 0x53B8;
164 const int kWebMIdTag = 0x7373;
165 const int kWebMIdTagAttachmentUID = 0x63C6;
166 const int kWebMIdTagBinary = 0x4485;
167 const int kWebMIdTagChapterUID = 0x63C4;
168 const int kWebMIdTagDefault = 0x4484;
169 const int kWebMIdTagEditionUID = 0x63C9;
170 const int kWebMIdTagLanguage = 0x447A;
171 const int kWebMIdTagName = 0x45A3;
172 const int kWebMIdTags = 0x1254C367;
173 const int kWebMIdTagString = 0x4487;
174 const int kWebMIdTagTrackUID = 0x63C5;
175 const int kWebMIdTargets = 0x63C0;
176 const int kWebMIdTargetType = 0x63CA;
177 const int kWebMIdTargetTypeValue = 0x68CA;
178 const int kWebMIdTimecode = 0xE7;
179 const int kWebMIdTimecodeScale = 0x2AD7B1;
180 const int kWebMIdTimeSlice = 0xE8;
181 const int kWebMIdTitle = 0x7BA9;
182 const int kWebMIdTrackCombinePlanes = 0xE3;
183 const int kWebMIdTrackEntry = 0xAE;
184 const int kWebMIdTrackJoinUID = 0xED;
185 const int kWebMIdTrackNumber = 0xD7;
186 const int kWebMIdTrackOperation = 0xE2;
187 const int kWebMIdTrackOverlay = 0x6FAB;
188 const int kWebMIdTrackPlane = 0xE4;
189 const int kWebMIdTrackPlaneType = 0xE6;
190 const int kWebMIdTrackPlaneUID = 0xE5;
191 const int kWebMIdTracks = 0x1654AE6B;
192 const int kWebMIdTrackTimecodeScale = 0x23314F;
193 const int kWebMIdTrackTranslate = 0x6624;
194 const int kWebMIdTrackTranslateCodec = 0x66BF;
195 const int kWebMIdTrackTranslateEditionUID = 0x66FC;
196 const int kWebMIdTrackTranslateTrackID = 0x66A5;
197 const int kWebMIdTrackType = 0x83;
198 const int kWebMIdTrackUID = 0x73C5;
199 const int kWebMIdVideo = 0xE0;
200 const int kWebMIdVoid = 0xEC;
201 const int kWebMIdWritingApp = 0x5741;
202 
203 const int64_t kWebMReservedId = 0x1FFFFFFF;
204 const int64_t kWebMUnknownSize = 0x00FFFFFFFFFFFFFFLL;
205 
206 const uint8_t kWebMFlagKeyframe = 0x80;
207 
208 // Current encrypted WebM request for comments specification is here
209 // http://wiki.webmproject.org/encryption/webm-encryption-rfc
210 const uint8_t kWebMFlagEncryptedFrame = 0x1;
211 const int kWebMIvSize = 8;
212 const int kWebMSignalByteSize = 1;
213 
214 // Current specification for WebVTT embedded in WebM
215 // http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm
216 
217 const int kWebMTrackTypeVideo = 1;
218 const int kWebMTrackTypeAudio = 2;
219 const int kWebMTrackTypeSubtitlesOrCaptions = 0x11;
220 const int kWebMTrackTypeDescriptionsOrMetadata = 0x21;
221 
222 extern const char kWebMCodecSubtitles[];
223 extern const char kWebMCodecCaptions[];
224 extern const char kWebMCodecDescriptions[];
225 extern const char kWebMCodecMetadata[];
226 
227 } // namespace media
228 } // namespace edash_packager
229 
230 #endif // MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_