Tide 0.1.0
|
00001 /* Tide 00002 * 00003 * This file contains all the EBML element IDs used by Tide. 00004 * 00005 * Copyright 2011 Geoffrey Biggs geoffrey.biggs@aist.go.jp 00006 * RT-Synthesis Research Group 00007 * Intelligent Systems Research Institute, 00008 * National Institute of Advanced Industrial Science and Technology (AIST), 00009 * Japan 00010 * All rights reserved. 00011 * 00012 * This file is part of Tide. 00013 * 00014 * Tide is free software; you can redistribute it and/or modify it under 00015 * the terms of the GNU Lesser General Public License as published by 00016 * the Free Software Foundation; either version 2.1 of the License, or 00017 * (at your option) any later version. 00018 * 00019 * Tide is distributed in the hope that it will be useful, but WITHOUT 00020 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00021 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 00022 * License for more details. 00023 * 00024 * You should have received a copy of the GNU Lesser General Public 00025 * License along with Tide. If not, see <http://www.gnu.org/licenses/>. 00026 */ 00027 00028 #if !defined(TIDE_EL_IDS_H_) 00029 #define TIDE_EL_IDS_H_ 00030 00031 #include <ios> 00032 #include <stdint.h> 00033 #include <vector> 00034 00037 00038 namespace tide 00039 { 00047 namespace ids 00048 { 00049 typedef uint32_t ID; 00050 00051 const ID Null(0x80); 00052 00053 const ID Void(0xEC); 00054 const ID CRC32(0xBF); 00055 00056 const ID EBML(0x1A45DFA3); 00057 const ID EBMLVersion(0x4286); 00058 const ID EBMLReadVersion(0x42F7); 00059 const ID EBMLMaxIDLength(0x42F2); 00060 const ID EBMLMaxSizeLength(0x42F3); 00061 const ID DocType(0x4282); 00062 const ID DocTypeVersion(0x4287); 00063 const ID DocTypeReadVersion(0x4285); 00064 00065 const ID Segment(0x18538067); 00066 00067 const ID SeekHead(0x114D9B74); 00068 const ID Seek(0x4DBB); 00069 const ID SeekID(0x53AB); 00070 const ID SeekPosition(0x53AC); 00071 00072 const ID Info(0x1549A966); 00073 const ID SegmentUID(0x73A4); 00074 const ID SegmentFileName(0x7384); 00075 const ID PrevUID(0x3CB923); 00076 const ID PrevFileName(0x3C83AB); 00077 const ID NextUID(0x3EB923); 00078 const ID NextFileName(0x3E83AB); 00079 const ID SegmentFamily(0x4444); 00080 const ID TimecodeScale(0x2AD7B1); 00081 const ID Duration(0x4489); 00082 const ID DateUTC(0x4461); 00083 const ID Title(0x7BA9); 00084 const ID MuxingApp(0x4D80); 00085 const ID WritingApp(0x5741); 00086 00087 const ID Cluster(0x1F43B675); 00088 const ID Timecode(0xE7); 00089 const ID SilentTracks(0x5854); 00090 const ID SilentTrackNumber(0x58D7); 00091 const ID Position(0xA7); 00092 const ID PrevSize(0xAB); 00093 const ID SimpleBlock(0xA3); 00094 const ID BlockGroup(0xA0); 00095 const ID Block(0xA1); 00096 const ID BlockAdditions(0x75A1); 00097 const ID BlockMore(0xA6); 00098 const ID BlockAddID(0xEE); 00099 const ID BlockAdditional(0xA5); 00100 const ID BlockDuration(0x9B); 00101 const ID ReferencePriority(0xFA); 00102 const ID ReferenceBlock(0xFB); 00103 const ID CodecState(0xA4); 00104 00105 const ID Tracks(0x1654AE6B); 00106 const ID TrackEntry(0xAE); 00107 const ID TrackNumber(0xD7); 00108 const ID TrackUID(0x73C5); 00109 const ID TrackType(0x83); 00110 const ID FlagEnabled(0xB9); 00111 const ID FlagDefault(0x88); 00112 const ID FlagForced(0x55AA); 00113 const ID FlagLacing(0x9C); 00114 const ID MinCache(0x6DE7); 00115 const ID MaxCache(0x6DF8); 00116 const ID DefaultDuration(0x23E383); 00117 const ID TrackTimecodeScale(0x23314F); 00118 const ID MaxBlockAdditionID(0x55EE); 00119 const ID Name(0x536E); 00120 const ID CodecID(0x86); 00121 const ID CodecPrivate(0x63A2); 00122 const ID CodecName(0x258688); 00123 const ID AttachmentLink(0x7446); 00124 const ID CodecDecodeAll(0xAA); 00125 const ID TrackOverlay(0x6F24); 00126 const ID TrackOperation(0xE2); 00127 const ID TrackJoinBlocks(0xE9); 00128 const ID TrackJoinUID(0xED); 00129 00130 const ID Cues(0x1C53BB6B); 00131 const ID CuePoint(0xBB); 00132 const ID CueTime(0xB3); 00133 const ID CueTrackPositions(0xB7); 00134 const ID CueTrack(0xF7); 00135 const ID CueClusterPosition(0xF1); 00136 const ID CueBlockNumber(0x5378); 00137 const ID CueCodecState(0xEA); 00138 const ID CueReference(0xDB); 00139 const ID CueRefTime(0x96); 00140 00141 const ID Attachments(0x1941A469); 00142 const ID AttachedFile(0x61A7); 00143 const ID FileDescription(0x467E); 00144 const ID FileName(0x466E); 00145 const ID FileMimeType(0x4660); 00146 const ID FileData(0x465C); 00147 const ID FileUID(0x46AE); 00148 00149 const ID Chapters(0x1043A770); 00150 const ID EditionEntry(0x45B9); 00151 const ID EditionUID(0x45BC); 00152 const ID EditionFlagHidden(0x45BD); 00153 const ID EditionFlagDefault(0x45DB); 00154 const ID EditionFlagOrdered(0x45DD); 00155 const ID ChapterAtom(0xB6); 00156 const ID ChapterUID(0x73C4); 00157 const ID ChapterTimeStart(0x91); 00158 const ID ChapterTimeEnd(0x92); 00159 const ID ChapterFlagHidden(0x98); 00160 const ID ChapterFlagEnabled(0x4598); 00161 const ID ChapterSegmentUID(0x6E67); 00162 const ID ChapterTrack(0x8F); 00163 const ID ChapterTrackNumber(0x89); 00164 const ID ChapterDisplay(0x80); 00165 const ID ChapString(0x85); 00166 const ID ChapLanguage(0x437C); 00167 const ID ChapCountry(0x437E); 00168 00169 const ID Tags(0x1254C367); 00170 const ID Tag(0x7373); 00171 const ID Targets(0x63C0); 00172 const ID TagTrackUID(0x63C5); 00173 const ID TagEditionUID(0x63C9); 00174 const ID TagChapterUID(0x63C4); 00175 const ID TagAttachmentUID(0x63C6); 00176 const ID SimpleTag(0x67C8); 00177 const ID TagName(0x45A3); 00178 const ID TagLanguage(0x447A); 00179 const ID TagDefault(0x4484); 00180 const ID TagString(0x4487); 00181 const ID TagBinary(0x4485); 00182 00193 std::streamsize size(ID id); 00194 00205 std::vector<char> encode(ID integer); 00206 00211 typedef std::pair<uint64_t, std::vector<char>::const_iterator> 00212 DecodeResult; 00213 00227 DecodeResult decode(std::vector<char> const& buffer); 00228 00240 std::streamsize write(ID id, std::ostream& output); 00241 00245 typedef std::pair<ID, std::streamsize> ReadResult; 00246 00259 ReadResult read(std::istream& input); 00260 }; // namespace ids 00261 }; // namespace tide 00262 00264 00265 #endif // TIDE_EL_IDS_H_ 00266