1 // Copyright (c) 2012 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.
5 #ifndef MEDIA_WEBM_WEBM_CONSTANTS_H_
6 #define MEDIA_WEBM_WEBM_CONSTANTS_H_
8 #include "base/basictypes.h"
9 #include "media/base/media_export.h"
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 kWebMIdCodecID
= 0x86;
61 const int kWebMIdCodecName
= 0x258688;
62 const int kWebMIdCodecPrivate
= 0x63A2;
63 const int kWebMIdCodecState
= 0xA4;
64 const int kWebMIdColorSpace
= 0x2EB524;
65 const int kWebMIdContentCompAlgo
= 0x4254;
66 const int kWebMIdContentCompression
= 0x5034;
67 const int kWebMIdContentCompSettings
= 0x4255;
68 const int kWebMIdContentEncAESSettings
= 0x47E7;
69 const int kWebMIdContentEncAlgo
= 0x47E1;
70 const int kWebMIdContentEncKeyID
= 0x47E2;
71 const int kWebMIdContentEncoding
= 0x6240;
72 const int kWebMIdContentEncodingOrder
= 0x5031;
73 const int kWebMIdContentEncodings
= 0x6D80;
74 const int kWebMIdContentEncodingScope
= 0x5032;
75 const int kWebMIdContentEncodingType
= 0x5033;
76 const int kWebMIdContentEncryption
= 0x5035;
77 const int kWebMIdContentSigAlgo
= 0x47E5;
78 const int kWebMIdContentSigHashAlgo
= 0x47E6;
79 const int kWebMIdContentSigKeyID
= 0x47E4;
80 const int kWebMIdContentSignature
= 0x47E3;
81 const int kWebMIdCRC32
= 0xBF;
82 const int kWebMIdCueBlockNumber
= 0x5378;
83 const int kWebMIdCueClusterPosition
= 0xF1;
84 const int kWebMIdCueCodecState
= 0xEA;
85 const int kWebMIdCuePoint
= 0xBB;
86 const int kWebMIdCueReference
= 0xDB;
87 const int kWebMIdCueRefTime
= 0x96;
88 const int kWebMIdCues
= 0x1C53BB6B;
89 const int kWebMIdCueTime
= 0xB3;
90 const int kWebMIdCueTrack
= 0xF7;
91 const int kWebMIdCueTrackPositions
= 0xB7;
92 const int kWebMIdDateUTC
= 0x4461;
93 const int kWebMIdDefaultDuration
= 0x23E383;
94 const int kWebMIdDisplayHeight
= 0x54BA;
95 const int kWebMIdDisplayUnit
= 0x54B2;
96 const int kWebMIdDisplayWidth
= 0x54B0;
97 const int kWebMIdDocType
= 0x4282;
98 const int kWebMIdDocTypeReadVersion
= 0x4285;
99 const int kWebMIdDocTypeVersion
= 0x4287;
100 const int kWebMIdDuration
= 0x4489;
101 const int kWebMIdEBMLHeader
= 0x1A45DFA3;
102 const int kWebMIdEBMLMaxIDLength
= 0x42F2;
103 const int kWebMIdEBMLMaxSizeLength
= 0x42F3;
104 const int kWebMIdEBMLReadVersion
= 0x42F7;
105 const int kWebMIdEBMLVersion
= 0x4286;
106 const int kWebMIdEditionEntry
= 0x45B9;
107 const int kWebMIdEditionFlagDefault
= 0x45DB;
108 const int kWebMIdEditionFlagHidden
= 0x45BD;
109 const int kWebMIdEditionFlagOrdered
= 0x45DD;
110 const int kWebMIdEditionUID
= 0x45BC;
111 const int kWebMIdFileData
= 0x465C;
112 const int kWebMIdFileDescription
= 0x467E;
113 const int kWebMIdFileMimeType
= 0x4660;
114 const int kWebMIdFileName
= 0x466E;
115 const int kWebMIdFileUID
= 0x46AE;
116 const int kWebMIdFlagDefault
= 0x88;
117 const int kWebMIdFlagEnabled
= 0xB9;
118 const int kWebMIdFlagForced
= 0x55AA;
119 const int kWebMIdFlagInterlaced
= 0x9A;
120 const int kWebMIdFlagLacing
= 0x9C;
121 const int kWebMIdInfo
= 0x1549A966;
122 const int kWebMIdJoinBlocks
= 0xE9;
123 const int kWebMIdLaceNumber
= 0xCC;
124 const int kWebMIdLanguage
= 0x22B59C;
125 const int kWebMIdMaxBlockAdditionId
= 0x55EE;
126 const int kWebMIdMaxCache
= 0x6DF8;
127 const int kWebMIdMinCache
= 0x6DE7;
128 const int kWebMIdMuxingApp
= 0x4D80;
129 const int kWebMIdName
= 0x536E;
130 const int kWebMIdNextFilename
= 0x3E83BB;
131 const int kWebMIdNextUID
= 0x3EB923;
132 const int kWebMIdOutputSamplingFrequency
= 0x78B5;
133 const int kWebMIdPixelCropBottom
= 0x54AA;
134 const int kWebMIdPixelCropLeft
= 0x54CC;
135 const int kWebMIdPixelCropRight
= 0x54DD;
136 const int kWebMIdPixelCropTop
= 0x54BB;
137 const int kWebMIdPixelHeight
= 0xBA;
138 const int kWebMIdPixelWidth
= 0xB0;
139 const int kWebMIdPosition
= 0xA7;
140 const int kWebMIdPrevFilename
= 0x3C83AB;
141 const int kWebMIdPrevSize
= 0xAB;
142 const int kWebMIdPrevUID
= 0x3CB923;
143 const int kWebMIdReferenceBlock
= 0xFB;
144 const int kWebMIdReferencePriority
= 0xFA;
145 const int kWebMIdSamplingFrequency
= 0xB5;
146 const int kWebMIdSeek
= 0x4DBB;
147 const int kWebMIdSeekHead
= 0x114D9B74;
148 const int kWebMIdSeekID
= 0x53AB;
149 const int kWebMIdSeekPosition
= 0x53AC;
150 const int kWebMIdSegment
= 0x18538067;
151 const int kWebMIdSegmentFamily
= 0x4444;
152 const int kWebMIdSegmentFilename
= 0x7384;
153 const int kWebMIdSegmentUID
= 0x73A4;
154 const int kWebMIdSilentTrackNumber
= 0x58D7;
155 const int kWebMIdSilentTracks
= 0x5854;
156 const int kWebMIdSimpleBlock
= 0xA3;
157 const int kWebMIdSimpleTag
= 0x67C8;
158 const int kWebMIdSlices
= 0x8E;
159 const int kWebMIdStereoMode
= 0x53B8;
160 const int kWebMIdTag
= 0x7373;
161 const int kWebMIdTagAttachmentUID
= 0x63C6;
162 const int kWebMIdTagBinary
= 0x4485;
163 const int kWebMIdTagChapterUID
= 0x63C4;
164 const int kWebMIdTagDefault
= 0x4484;
165 const int kWebMIdTagEditionUID
= 0x63C9;
166 const int kWebMIdTagLanguage
= 0x447A;
167 const int kWebMIdTagName
= 0x45A3;
168 const int kWebMIdTags
= 0x1254C367;
169 const int kWebMIdTagString
= 0x4487;
170 const int kWebMIdTagTrackUID
= 0x63C5;
171 const int kWebMIdTargets
= 0x63C0;
172 const int kWebMIdTargetType
= 0x63CA;
173 const int kWebMIdTargetTypeValue
= 0x68CA;
174 const int kWebMIdTimecode
= 0xE7;
175 const int kWebMIdTimecodeScale
= 0x2AD7B1;
176 const int kWebMIdTimeSlice
= 0xE8;
177 const int kWebMIdTitle
= 0x7BA9;
178 const int kWebMIdTrackCombinePlanes
= 0xE3;
179 const int kWebMIdTrackEntry
= 0xAE;
180 const int kWebMIdTrackJoinUID
= 0xED;
181 const int kWebMIdTrackNumber
= 0xD7;
182 const int kWebMIdTrackOperation
= 0xE2;
183 const int kWebMIdTrackOverlay
= 0x6FAB;
184 const int kWebMIdTrackPlane
= 0xE4;
185 const int kWebMIdTrackPlaneType
= 0xE6;
186 const int kWebMIdTrackPlaneUID
= 0xE5;
187 const int kWebMIdTracks
= 0x1654AE6B;
188 const int kWebMIdTrackTimecodeScale
= 0x23314F;
189 const int kWebMIdTrackTranslate
= 0x6624;
190 const int kWebMIdTrackTranslateCodec
= 0x66BF;
191 const int kWebMIdTrackTranslateEditionUID
= 0x66FC;
192 const int kWebMIdTrackTranslateTrackID
= 0x66A5;
193 const int kWebMIdTrackType
= 0x83;
194 const int kWebMIdTrackUID
= 0x73C5;
195 const int kWebMIdVideo
= 0xE0;
196 const int kWebMIdVoid
= 0xEC;
197 const int kWebMIdWritingApp
= 0x5741;
199 const int64 kWebMReservedId
= 0x1FFFFFFF;
200 const int64 kWebMUnknownSize
= GG_LONGLONG(0x00FFFFFFFFFFFFFF);
202 const uint8 kWebMFlagKeyframe
= 0x80;
204 // Current encrypted WebM request for comments specification is here
205 // http://wiki.webmproject.org/encryption/webm-encryption-rfc
206 const uint8 kWebMFlagEncryptedFrame
= 0x1;
207 const int kWebMIvSize
= 8;
208 const int kWebMSignalByteSize
= 1;
210 // Current specification for WebVTT embedded in WebM
211 // http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm
213 const int kWebMTrackTypeVideo
= 1;
214 const int kWebMTrackTypeAudio
= 2;
215 const int kWebMTrackTypeSubtitlesOrCaptions
= 0x11;
216 const int kWebMTrackTypeDescriptionsOrMetadata
= 0x21;
218 MEDIA_EXPORT
extern const char kWebMCodecSubtitles
[];
219 MEDIA_EXPORT
extern const char kWebMCodecCaptions
[];
220 MEDIA_EXPORT
extern const char kWebMCodecDescriptions
[];
221 MEDIA_EXPORT
extern const char kWebMCodecMetadata
[];
225 #endif // MEDIA_WEBM_WEBM_CONSTANTS_H_