1343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih/* 2343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * Copyright (C) 2014 The Android Open Source Project 3343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * 4343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * Licensed under the Apache License, Version 2.0 (the "License"); 5343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * you may not use this file except in compliance with the License. 6343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * You may obtain a copy of the License at 7343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * 8343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * http://www.apache.org/licenses/LICENSE-2.0 9343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * 10343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * Unless required by applicable law or agreed to in writing, software 11343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * distributed under the License is distributed on an "AS IS" BASIS, 12343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * See the License for the specific language governing permissions and 14343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih * limitations under the License. 15343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih */ 16343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 17343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih#ifndef WEBMCONSTANTS_H_ 18343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih#define WEBMCONSTANTS_H_ 19343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 20343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih#include <stdint.h> 21343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 22343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihnamespace webm { 23343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 24343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihconst int kMinEbmlVoidSize = 2; 25343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihconst int64_t kMaxMetaSeekSize = 64; 26343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihconst int64_t kMkvUnknownLength = 0x01ffffffffffffffl; 27343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 28343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih// EBML element id's from http://matroska.org/technical/specs/index.html 29343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihenum Mkv { 30343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvEbml = 0x1A45DFA3, 31343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvEbmlVersion = 0x4286, 32343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvEbmlReadVersion = 0x42F7, 33343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvEbmlMaxIdlength = 0x42F2, 34343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvEbmlMaxSizeLength = 0x42F3, 35343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDocType = 0x4282, 36343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDocTypeVersion = 0x4287, 37343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDocTypeReadVersion = 0x4285, 38343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvVoid = 0xEC, 39343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignatureSlot = 0x1B538667, 40343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignatureAlgo = 0x7E8A, 41343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignatureHash = 0x7E9A, 42343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignaturePublicKey = 0x7EA5, 43343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignature = 0x7EB5, 44343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignatureElements = 0x7E5B, 45343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignatureElementList = 0x7E7B, 46343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSignedElement = 0x6532, 47343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSegment = 0x18538067, 48343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSeekHead = 0x114D9B74, 49343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSeek = 0x4DBB, 50343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSeekId = 0x53AB, 51343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSeekPosition = 0x53AC, 52343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvInfo = 0x1549A966, 53343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTimecodeScale = 0x2AD7B1, 54343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSegmentDuration = 0x4489, 55343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDateUtc = 0x4461, 56343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvMuxingApp = 0x4D80, 57343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvWritingApp = 0x5741, 58343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCluster = 0x1F43B675, 59343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTimecode = 0xE7, 60343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPrevSize = 0xAB, 61343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlockGroup = 0xA0, 62343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlock = 0xA1, 63343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlockAdditions = 0x75A1, 64343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlockMore = 0xA6, 65343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlockAddId = 0xEE, 66343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlockAdditional = 0xA5, 67343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBlockDuration = 0x9B, 68343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvReferenceBlock = 0xFB, 69343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvLaceNumber = 0xCC, 70343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSimpleBlock = 0xA3, 71343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTracks = 0x1654AE6B, 72343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTrackEntry = 0xAE, 73343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTrackNumber = 0xD7, 74343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTrackUid = 0x73C5, 75343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvTrackType = 0x83, 76343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvFlagEnabled = 0xB9, 77343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvFlagDefault = 0x88, 78343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvFlagForced = 0x55AA, 79343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvFlagLacing = 0x9C, 80343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDefaultDuration = 0x23E383, 81343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvMaxBlockAdditionId = 0x55EE, 82343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvName = 0x536E, 83343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvLanguage = 0x22B59C, 84343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCodecId = 0x86, 85343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCodecPrivate = 0x63A2, 86343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCodecName = 0x258688, 87343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvVideo = 0xE0, 88343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvFlagInterlaced = 0x9A, 89343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvStereoMode = 0x53B8, 90343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvAlphaMode = 0x53C0, 91343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPixelWidth = 0xB0, 92343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPixelHeight = 0xBA, 93343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPixelCropBottom = 0x54AA, 94343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPixelCropTop = 0x54BB, 95343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPixelCropLeft = 0x54CC, 96343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvPixelCropRight = 0x54DD, 97343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDisplayWidth = 0x54B0, 98343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDisplayHeight = 0x54BA, 99343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvDisplayUnit = 0x54B2, 100343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvAspectRatioType = 0x54B3, 101343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvFrameRate = 0x2383E3, 102343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvAudio = 0xE1, 103343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvSamplingFrequency = 0xB5, 104343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvOutputSamplingFrequency = 0x78B5, 105343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvChannels = 0x9F, 106343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvBitDepth = 0x6264, 107343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCues = 0x1C53BB6B, 108343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCuePoint = 0xBB, 109343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCueTime = 0xB3, 110343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCueTrackPositions = 0xB7, 111343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCueTrack = 0xF7, 112343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCueClusterPosition = 0xF1, 113343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kMkvCueBlockNumber = 0x5378 114343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih}; 115343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 116343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihenum TrackTypes { 117343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kInvalidType = -1, 118343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kVideoType = 0x1, 119343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kAudioType = 0x2, 120343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kComplexType = 0x3, 121343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kLogoType = 0x10, 122343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kSubtitleType = 0x11, 123343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kButtonsType = 0x12, 124343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kControlType = 0x20 125343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih}; 126343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 127343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shihenum TrackNum { 128343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kVideoTrackNum = 0x1, 129343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih kAudioTrackNum = 0x2 130343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih}; 131343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih} 132343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih 133343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih#endif /* WEBMCONSTANTS_H_ */ 134