summaryrefslogtreecommitdiffstats
path: root/media/mp4/fourccs.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/mp4/fourccs.h')
-rw-r--r--media/mp4/fourccs.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/media/mp4/fourccs.h b/media/mp4/fourccs.h
new file mode 100644
index 0000000..8092dda
--- /dev/null
+++ b/media/mp4/fourccs.h
@@ -0,0 +1,98 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MEDIA_MP4_FOURCCS_H_
+#define MEDIA_MP4_FOURCCS_H_
+
+#include <string>
+
+namespace media {
+namespace mp4 {
+
+enum FourCC {
+ FOURCC_NULL = 0,
+ FOURCC_AVC1 = 0x61766331,
+ FOURCC_AVCC = 0x61766343,
+ FOURCC_CENC = 0x63656e63,
+ FOURCC_CO64 = 0x636f3634,
+ FOURCC_CTTS = 0x63747473,
+ FOURCC_DINF = 0x64696e66,
+ FOURCC_EDTS = 0x65647473,
+ FOURCC_ELST = 0x656c7374,
+ FOURCC_ENCA = 0x656e6361,
+ FOURCC_ENCV = 0x656e6376,
+ FOURCC_ESDS = 0x65736473,
+ FOURCC_FREE = 0x66726565,
+ FOURCC_FRMA = 0x66726d61,
+ FOURCC_FTYP = 0x66747970,
+ FOURCC_HDLR = 0x68646c72,
+ FOURCC_HINT = 0x68696e74,
+ FOURCC_IODS = 0x696f6473,
+ FOURCC_MDAT = 0x6d646174,
+ FOURCC_MDHD = 0x6d646864,
+ FOURCC_MDIA = 0x6d646961,
+ FOURCC_MEHD = 0x6d656864,
+ FOURCC_MFHD = 0x6d666864,
+ FOURCC_MFRA = 0x6d667261,
+ FOURCC_MINF = 0x6d696e66,
+ FOURCC_MOOF = 0x6d6f6f66,
+ FOURCC_MOOV = 0x6d6f6f76,
+ FOURCC_MP4A = 0x6d703461,
+ FOURCC_MP4V = 0x6d703476,
+ FOURCC_MVEX = 0x6d766578,
+ FOURCC_MVHD = 0x6d766864,
+ FOURCC_PASP = 0x70617370,
+ FOURCC_PSSH = 0x70737368,
+ FOURCC_SAIO = 0x7361696f,
+ FOURCC_SAIZ = 0x7361697a,
+ FOURCC_SCHI = 0x73636869,
+ FOURCC_SCHM = 0x7363686d,
+ FOURCC_SDTP = 0x73647470,
+ FOURCC_SIDX = 0x73696478,
+ FOURCC_SINF = 0x73696e66,
+ FOURCC_SKIP = 0x736b6970,
+ FOURCC_SMHD = 0x736d6864,
+ FOURCC_SOUN = 0x736f756e,
+ FOURCC_STBL = 0x7374626c,
+ FOURCC_STCO = 0x7374636f,
+ FOURCC_STSC = 0x73747363,
+ FOURCC_STSD = 0x73747364,
+ FOURCC_STSS = 0x73747373,
+ FOURCC_STSZ = 0x7374737a,
+ FOURCC_STTS = 0x73747473,
+ FOURCC_STYP = 0x73747970,
+ FOURCC_TENC = 0x74656e63,
+ FOURCC_TFDT = 0x74666474,
+ FOURCC_TFHD = 0x74666864,
+ FOURCC_TKHD = 0x746b6864,
+ FOURCC_TRAF = 0x74726166,
+ FOURCC_TRAK = 0x7472616b,
+ FOURCC_TREX = 0x74726578,
+ FOURCC_TRUN = 0x7472756e,
+ FOURCC_UDTA = 0x75647461,
+ FOURCC_UUID = 0x75756964,
+ FOURCC_VIDE = 0x76696465,
+ FOURCC_VMHD = 0x766d6864,
+ FOURCC_WIDE = 0x77696465,
+
+ // The following are used for testing
+ FOURCC_CHLD = 0x63686c64,
+ FOURCC_MPTY = 0x6d707479,
+ FOURCC_TEST = 0x74657374,
+};
+
+const inline std::string FourCCToString(FourCC fourcc) {
+ char buf[5];
+ buf[0] = (fourcc >> 24) & 0xff;
+ buf[1] = (fourcc >> 16) & 0xff;
+ buf[2] = (fourcc >> 8) & 0xff;
+ buf[3] = (fourcc) & 0xff;
+ buf[4] = 0;
+ return std::string(buf);
+}
+
+} // namespace mp4
+} // namespace media
+
+#endif // MEDIA_MP4_FOURCCS_H_