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 "base/basictypes.h" 9 #include "media/base/media_export.h" 10 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 kWebMReservedId = 0x1FFFFFFF; 204 const int64 kWebMUnknownSize = 0x00FFFFFFFFFFFFFFLL; 205 206 const uint8 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 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 MEDIA_EXPORT extern const char kWebMCodecSubtitles[]; 223 MEDIA_EXPORT extern const char kWebMCodecCaptions[]; 224 MEDIA_EXPORT extern const char kWebMCodecDescriptions[]; 225 MEDIA_EXPORT extern const char kWebMCodecMetadata[]; 226 227 } // namespace media 228 229 #endif // MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_ 230