content/media/fmp4/demuxer/fourccs.h

Fri, 16 Jan 2015 04:50:19 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 04:50:19 +0100
branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
permissions
-rw-r--r--

Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32

michael@0 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
michael@0 2 // Use of this source code is governed by a BSD-style license that can be
michael@0 3 // found in the LICENSE file.
michael@0 4
michael@0 5 #ifndef MEDIA_MP4_FOURCCS_H_
michael@0 6 #define MEDIA_MP4_FOURCCS_H_
michael@0 7
michael@0 8 #include <string>
michael@0 9
michael@0 10 namespace mp4_demuxer {
michael@0 11
michael@0 12 enum FourCC {
michael@0 13 FOURCC_NULL = 0,
michael@0 14 FOURCC_AVC1 = 0x61766331,
michael@0 15 FOURCC_AVCC = 0x61766343,
michael@0 16 FOURCC_BLOC = 0x626C6F63,
michael@0 17 FOURCC_CENC = 0x63656e63,
michael@0 18 FOURCC_CO64 = 0x636f3634,
michael@0 19 FOURCC_CTTS = 0x63747473,
michael@0 20 FOURCC_DINF = 0x64696e66,
michael@0 21 FOURCC_EDTS = 0x65647473,
michael@0 22 FOURCC_ELST = 0x656c7374,
michael@0 23 FOURCC_ENCA = 0x656e6361,
michael@0 24 FOURCC_ENCV = 0x656e6376,
michael@0 25 FOURCC_ESDS = 0x65736473,
michael@0 26 FOURCC_FREE = 0x66726565,
michael@0 27 FOURCC_FRMA = 0x66726d61,
michael@0 28 FOURCC_FTYP = 0x66747970,
michael@0 29 FOURCC_HDLR = 0x68646c72,
michael@0 30 FOURCC_HINT = 0x68696e74,
michael@0 31 FOURCC_IODS = 0x696f6473,
michael@0 32 FOURCC_MDAT = 0x6d646174,
michael@0 33 FOURCC_MDHD = 0x6d646864,
michael@0 34 FOURCC_MDIA = 0x6d646961,
michael@0 35 FOURCC_MECO = 0x6d65636f,
michael@0 36 FOURCC_MEHD = 0x6d656864,
michael@0 37 FOURCC_META = 0x6d657461,
michael@0 38 FOURCC_MFHD = 0x6d666864,
michael@0 39 FOURCC_MFRA = 0x6d667261,
michael@0 40 FOURCC_MINF = 0x6d696e66,
michael@0 41 FOURCC_MOOF = 0x6d6f6f66,
michael@0 42 FOURCC_MOOV = 0x6d6f6f76,
michael@0 43 FOURCC_MP4A = 0x6d703461,
michael@0 44 FOURCC_MP4V = 0x6d703476,
michael@0 45 FOURCC_MVEX = 0x6d766578,
michael@0 46 FOURCC_MVHD = 0x6d766864,
michael@0 47 FOURCC_PASP = 0x70617370,
michael@0 48 FOURCC_PDIN = 0x7064696e,
michael@0 49 FOURCC_PRFT = 0x70726674,
michael@0 50 FOURCC_PSSH = 0x70737368,
michael@0 51 FOURCC_SAIO = 0x7361696f,
michael@0 52 FOURCC_SAIZ = 0x7361697a,
michael@0 53 FOURCC_SCHI = 0x73636869,
michael@0 54 FOURCC_SCHM = 0x7363686d,
michael@0 55 FOURCC_SDTP = 0x73647470,
michael@0 56 FOURCC_SIDX = 0x73696478,
michael@0 57 FOURCC_SINF = 0x73696e66,
michael@0 58 FOURCC_SKIP = 0x736b6970,
michael@0 59 FOURCC_SMHD = 0x736d6864,
michael@0 60 FOURCC_SOUN = 0x736f756e,
michael@0 61 FOURCC_SSIX = 0x73736978,
michael@0 62 FOURCC_STBL = 0x7374626c,
michael@0 63 FOURCC_STCO = 0x7374636f,
michael@0 64 FOURCC_STSC = 0x73747363,
michael@0 65 FOURCC_STSD = 0x73747364,
michael@0 66 FOURCC_STSS = 0x73747373,
michael@0 67 FOURCC_STSZ = 0x7374737a,
michael@0 68 FOURCC_STTS = 0x73747473,
michael@0 69 FOURCC_STYP = 0x73747970,
michael@0 70 FOURCC_TENC = 0x74656e63,
michael@0 71 FOURCC_TFDT = 0x74666474,
michael@0 72 FOURCC_TFHD = 0x74666864,
michael@0 73 FOURCC_TKHD = 0x746b6864,
michael@0 74 FOURCC_TRAF = 0x74726166,
michael@0 75 FOURCC_TRAK = 0x7472616b,
michael@0 76 FOURCC_TREX = 0x74726578,
michael@0 77 FOURCC_TRUN = 0x7472756e,
michael@0 78 FOURCC_UDTA = 0x75647461,
michael@0 79 FOURCC_UUID = 0x75756964,
michael@0 80 FOURCC_VIDE = 0x76696465,
michael@0 81 FOURCC_VMHD = 0x766d6864,
michael@0 82 FOURCC_WIDE = 0x77696465,
michael@0 83 };
michael@0 84
michael@0 85 const inline std::string FourCCToString(FourCC fourcc) {
michael@0 86 char buf[5];
michael@0 87 buf[0] = (fourcc >> 24) & 0xff;
michael@0 88 buf[1] = (fourcc >> 16) & 0xff;
michael@0 89 buf[2] = (fourcc >> 8) & 0xff;
michael@0 90 buf[3] = (fourcc) & 0xff;
michael@0 91 buf[4] = 0;
michael@0 92 return std::string(buf);
michael@0 93 }
michael@0 94
michael@0 95 } // namespace mp4_demuxer
michael@0 96
michael@0 97 #endif // MEDIA_MP4_FOURCCS_H_

mercurial