Tide 0.1.0

el_ids.h

Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines