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