5#ifndef PACKAGER_MEDIA_BASE_FOURCCS_H_
6#define PACKAGER_MEDIA_BASE_FOURCCS_H_
14enum FourCC : uint32_t {
17 FOURCC_ID32 = 0x49443332,
18 FOURCC_Head = 0x48656164,
19 FOURCC_Opus = 0x4f707573,
20 FOURCC_PRIV = 0x50524956,
22 FOURCC_aacd = 0x61616364,
23 FOURCC_ac_3 = 0x61632d33,
25 FOURCC_aes8 = 0x61657338,
26 FOURCC_ac_4 = 0x61632d34,
27 FOURCC_ac3d = 0x61633364,
28 FOURCC_alac = 0x616c6163,
29 FOURCC_apad = 0x61706164,
30 FOURCC_av01 = 0x61763031,
31 FOURCC_av1C = 0x61763143,
32 FOURCC_avc1 = 0x61766331,
33 FOURCC_avc3 = 0x61766333,
34 FOURCC_avcC = 0x61766343,
35 FOURCC_bloc = 0x626C6F63,
36 FOURCC_cbc1 = 0x63626331,
38 FOURCC_cbca = 0x63626361,
39 FOURCC_cbcs = 0x63626373,
40 FOURCC_cenc = 0x63656e63,
41 FOURCC_cens = 0x63656e73,
42 FOURCC_colr = 0x636f6c72,
43 FOURCC_co64 = 0x636f3634,
44 FOURCC_cmfc = 0x636d6663,
45 FOURCC_cmfs = 0x636d6673,
46 FOURCC_ctim = 0x6374696d,
47 FOURCC_ctts = 0x63747473,
48 FOURCC_dOps = 0x644f7073,
49 FOURCC_dac3 = 0x64616333,
50 FOURCC_dac4 = 0x64616334,
51 FOURCC_dash = 0x64617368,
52 FOURCC_dav1 = 0x64617631,
53 FOURCC_db1p = 0x64623170,
54 FOURCC_db2g = 0x64623267,
55 FOURCC_db4g = 0x64623467,
56 FOURCC_db4h = 0x64623468,
57 FOURCC_dby1 = 0x64627931,
58 FOURCC_ddts = 0x64647473,
59 FOURCC_dec3 = 0x64656333,
60 FOURCC_dfLa = 0x64664c61,
61 FOURCC_dinf = 0x64696e66,
62 FOURCC_dref = 0x64726566,
63 FOURCC_dtsc = 0x64747363,
64 FOURCC_dtse = 0x64747365,
65 FOURCC_dtsh = 0x64747368,
66 FOURCC_dtsl = 0x6474736c,
67 FOURCC_dtsm = 0x6474732d,
68 FOURCC_dtsp = 0x6474732b,
69 FOURCC_dtsx = 0x64747378,
70 FOURCC_dvcC = 0x64766343,
71 FOURCC_dvh1 = 0x64766831,
72 FOURCC_dvhe = 0x64766865,
73 FOURCC_dvvC = 0x64767643,
74 FOURCC_ec_3 = 0x65632d33,
75 FOURCC_ec3d = 0x65633364,
76 FOURCC_edts = 0x65647473,
77 FOURCC_elst = 0x656c7374,
78 FOURCC_enca = 0x656e6361,
79 FOURCC_encv = 0x656e6376,
80 FOURCC_esds = 0x65736473,
81 FOURCC_fLaC = 0x664c6143,
82 FOURCC_free = 0x66726565,
83 FOURCC_frma = 0x66726d61,
84 FOURCC_ftyp = 0x66747970,
85 FOURCC_hdlr = 0x68646c72,
86 FOURCC_hev1 = 0x68657631,
87 FOURCC_hint = 0x68696e74,
88 FOURCC_hvc1 = 0x68766331,
89 FOURCC_hvcC = 0x68766343,
90 FOURCC_hvcE = 0x68766345,
91 FOURCC_lhvC = 0x6C687643,
92 FOURCC_vexu = 0x76657875,
93 FOURCC_hfov = 0x68666f76,
94 FOURCC_iamf = 0x69616d66,
95 FOURCC_iacb = 0x69616362,
96 FOURCC_iden = 0x6964656e,
97 FOURCC_ipcm = 0x6970636d,
98 FOURCC_iso6 = 0x69736f36,
99 FOURCC_iso8 = 0x69736f38,
100 FOURCC_isom = 0x69736f6d,
101 FOURCC_iods = 0x696f6473,
102 FOURCC_mdat = 0x6d646174,
103 FOURCC_mdhd = 0x6d646864,
104 FOURCC_mdia = 0x6d646961,
105 FOURCC_meco = 0x6d65636f,
106 FOURCC_mehd = 0x6d656864,
107 FOURCC_meta = 0x6d657461,
108 FOURCC_mfhd = 0x6d666864,
109 FOURCC_mfra = 0x6d667261,
110 FOURCC_mha1 = 0x6d686131,
111 FOURCC_mhaC = 0x6d686143,
112 FOURCC_mhm1 = 0x6d686d31,
113 FOURCC_minf = 0x6d696e66,
114 FOURCC_moof = 0x6d6f6f66,
115 FOURCC_moov = 0x6d6f6f76,
116 FOURCC_mp3a = 0x6d703361,
117 FOURCC_mp41 = 0x6d703431,
118 FOURCC_mp4a = 0x6d703461,
119 FOURCC_mp4v = 0x6d703476,
120 FOURCC_mvex = 0x6d766578,
121 FOURCC_mvhd = 0x6d766864,
122 FOURCC_nclc = 0x6e636c63,
123 FOURCC_nclx = 0x6e636c78,
124 FOURCC_nmhd = 0x6e6d6864,
125 FOURCC_pasp = 0x70617370,
126 FOURCC_payl = 0x7061796c,
127 FOURCC_pdin = 0x7064696e,
128 FOURCC_prft = 0x70726674,
129 FOURCC_pssh = 0x70737368,
130 FOURCC_roll = 0x726f6c6c,
131 FOURCC_saio = 0x7361696f,
132 FOURCC_saiz = 0x7361697a,
133 FOURCC_sbgp = 0x73626770,
134 FOURCC_schi = 0x73636869,
135 FOURCC_schm = 0x7363686d,
136 FOURCC_sdtp = 0x73647470,
137 FOURCC_seig = 0x73656967,
138 FOURCC_senc = 0x73656e63,
139 FOURCC_sgpd = 0x73677064,
140 FOURCC_sidx = 0x73696478,
141 FOURCC_sinf = 0x73696e66,
142 FOURCC_skip = 0x736b6970,
143 FOURCC_smhd = 0x736d6864,
144 FOURCC_soun = 0x736f756e,
145 FOURCC_ssix = 0x73736978,
146 FOURCC_stbl = 0x7374626c,
147 FOURCC_stco = 0x7374636f,
148 FOURCC_sthd = 0x73746864,
149 FOURCC_stpp = 0x73747070,
150 FOURCC_stsc = 0x73747363,
151 FOURCC_stsd = 0x73747364,
152 FOURCC_stss = 0x73747373,
153 FOURCC_stsz = 0x7374737a,
154 FOURCC_sttg = 0x73747467,
155 FOURCC_stts = 0x73747473,
156 FOURCC_styp = 0x73747970,
157 FOURCC_stz2 = 0x73747a32,
158 FOURCC_subt = 0x73756274,
159 FOURCC_tenc = 0x74656e63,
160 FOURCC_text = 0x74657874,
161 FOURCC_tfdt = 0x74666474,
162 FOURCC_tfhd = 0x74666864,
163 FOURCC_tkhd = 0x746b6864,
164 FOURCC_traf = 0x74726166,
165 FOURCC_trak = 0x7472616b,
166 FOURCC_trex = 0x74726578,
167 FOURCC_trun = 0x7472756e,
168 FOURCC_udta = 0x75647461,
169 FOURCC_udts = 0x75647473,
170 FOURCC_url = 0x75726c20,
171 FOURCC_urn = 0x75726e20,
172 FOURCC_uuid = 0x75756964,
173 FOURCC_vide = 0x76696465,
174 FOURCC_vlab = 0x766c6162,
175 FOURCC_vmhd = 0x766d6864,
176 FOURCC_vp08 = 0x76703038,
177 FOURCC_vp09 = 0x76703039,
178 FOURCC_vpcC = 0x76706343,
179 FOURCC_vsid = 0x76736964,
180 FOURCC_vttC = 0x76747443,
181 FOURCC_vtta = 0x76747461,
182 FOURCC_vttc = 0x76747463,
183 FOURCC_vtte = 0x76747465,
184 FOURCC_wide = 0x77696465,
185 FOURCC_wvtt = 0x77767474,
186 FOURCC_zaac = 0x7A616163,
187 FOURCC_zac3 = 0x7A616333,
188 FOURCC_zach = 0x7A616368,
189 FOURCC_zacp = 0x7A616370,
190 FOURCC_zavc = 0x7A617663,
191 FOURCC_zec3 = 0x7A656333,
194const FourCC kAppleSampleAesProtectionScheme = FOURCC_cbca;
195const FourCC kAes128ProtectionScheme = FOURCC_aes8;
197const inline std::string FourCCToString(FourCC fourcc) {
199 buf[0] = (fourcc >> 24) & 0xff;
200 buf[1] = (fourcc >> 16) & 0xff;
201 buf[2] = (fourcc >> 8) & 0xff;
202 buf[3] = (fourcc) & 0xff;
204 return std::string(buf);
All the methods that are virtual are virtual for mocking.