qtdemux: Add/Fix comments on the various structure variables
[platform/upstream/gst-plugins-good.git] / gst / isomp4 / fourcc.h
1 /* GStreamer
2  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19  /*
20  * Unless otherwise indicated, Source Code is licensed under MIT license.
21  * See further explanation attached in License Statement (distributed in the file
22  * LICENSE).
23  *
24  * Permission is hereby granted, free of charge, to any person obtaining a copy of
25  * this software and associated documentation files (the "Software"), to deal in
26  * the Software without restriction, including without limitation the rights to
27  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
28  * of the Software, and to permit persons to whom the Software is furnished to do
29  * so, subject to the following conditions:
30  *
31  * The above copyright notice and this permission notice shall be included in all
32  * copies or substantial portions of the Software.
33  *
34  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
40  * SOFTWARE.
41  */
42
43
44 #ifndef __FOURCC_H__
45 #define __FOURCC_H__
46
47 #include <gst/gst.h>
48
49 G_BEGIN_DECLS
50
51 #define FOURCC_null     0x0
52
53 #define FOURCC_2vuy     GST_MAKE_FOURCC('2','v','u','y')
54 #define FOURCC_FMP4     GST_MAKE_FOURCC('F','M','P','4')
55 #define FOURCC_H264     GST_MAKE_FOURCC('H','2','6','4')
56 #define FOURCC_H265     GST_MAKE_FOURCC('H','2','6','5')
57 #define FOURCC_MAC3     GST_MAKE_FOURCC('M','A','C','3')
58 #define FOURCC_MAC6     GST_MAKE_FOURCC('M','A','C','6')
59 #define FOURCC_MP4V     GST_MAKE_FOURCC('M','P','4','V')
60 #define FOURCC_PICT     GST_MAKE_FOURCC('P','I','C','T')
61 #define FOURCC_QDM2     GST_MAKE_FOURCC('Q','D','M','2')
62 #define FOURCC_SVQ3     GST_MAKE_FOURCC('S','V','Q','3')
63 #define FOURCC_VP31     GST_MAKE_FOURCC('V','P','3','1')
64 #define FOURCC_VP80     GST_MAKE_FOURCC('V','P','8','0')
65 #define FOURCC_WRLE     GST_MAKE_FOURCC('W','R','L','E')
66 #define FOURCC_XMP_     GST_MAKE_FOURCC('X','M','P','_')
67 #define FOURCC__ART     GST_MAKE_FOURCC(0xa9,'A','R','T')
68 #define FOURCC_____     GST_MAKE_FOURCC('-','-','-','-')
69 #define FOURCC___in     GST_MAKE_FOURCC(' ',' ','i','n')
70 #define FOURCC___ty     GST_MAKE_FOURCC(' ',' ','t','y')
71 #define FOURCC__alb     GST_MAKE_FOURCC(0xa9,'a','l','b')
72 #define FOURCC__cpy     GST_MAKE_FOURCC(0xa9,'c','p','y')
73 #define FOURCC__day     GST_MAKE_FOURCC(0xa9,'d','a','y')
74 #define FOURCC__des     GST_MAKE_FOURCC(0xa9,'d','e','s')
75 #define FOURCC__enc     GST_MAKE_FOURCC(0xa9,'e','n','c')
76 #define FOURCC__gen     GST_MAKE_FOURCC(0xa9, 'g', 'e', 'n')
77 #define FOURCC__grp     GST_MAKE_FOURCC(0xa9,'g','r','p')
78 #define FOURCC__inf     GST_MAKE_FOURCC(0xa9,'i','n','f')
79 #define FOURCC__lyr     GST_MAKE_FOURCC(0xa9,'l','y','r')
80 #define FOURCC__mp3     GST_MAKE_FOURCC('.','m','p','3')
81 #define FOURCC__nam     GST_MAKE_FOURCC(0xa9,'n','a','m')
82 #define FOURCC__req     GST_MAKE_FOURCC(0xa9,'r','e','q')
83 #define FOURCC__too     GST_MAKE_FOURCC(0xa9,'t','o','o')
84 #define FOURCC__wrt     GST_MAKE_FOURCC(0xa9,'w','r','t')
85 #define FOURCC_aART     GST_MAKE_FOURCC('a','A','R','T')
86 #define FOURCC_ac_3     GST_MAKE_FOURCC('a','c','-','3')
87 #define FOURCC_agsm     GST_MAKE_FOURCC('a','g','s','m')
88 #define FOURCC_alac     GST_MAKE_FOURCC('a','l','a','c')
89 #define FOURCC_alaw     GST_MAKE_FOURCC('a','l','a','w')
90 #define FOURCC_alis     GST_MAKE_FOURCC('a','l','i','s')
91 #define FOURCC_appl     GST_MAKE_FOURCC('a','p','p','l')
92 #define FOURCC_avc1     GST_MAKE_FOURCC('a','v','c','1')
93 #define FOURCC_avc3     GST_MAKE_FOURCC('a','v','c','3')
94 #define FOURCC_avcC     GST_MAKE_FOURCC('a','v','c','C')
95 #define FOURCC_clip     GST_MAKE_FOURCC('c','l','i','p')
96 #define FOURCC_cmov     GST_MAKE_FOURCC('c','m','o','v')
97 #define FOURCC_cmvd     GST_MAKE_FOURCC('c','m','v','d')
98 #define FOURCC_co64     GST_MAKE_FOURCC('c','o','6','4')
99 #define FOURCC_covr     GST_MAKE_FOURCC('c','o','v','r')
100 #define FOURCC_cpil     GST_MAKE_FOURCC('c','p','i','l')
101 #define FOURCC_cprt     GST_MAKE_FOURCC('c','p','r','t')
102 #define FOURCC_crgn     GST_MAKE_FOURCC('c','r','g','n')
103 #define FOURCC_ctab     GST_MAKE_FOURCC('c','t','a','b')
104 #define FOURCC_ctts     GST_MAKE_FOURCC('c','t','t','s')
105 #define FOURCC_cslg     GST_MAKE_FOURCC('c','s','l','g')
106 #define FOURCC_d263     GST_MAKE_FOURCC('d','2','6','3')
107 #define FOURCC_dac3     GST_MAKE_FOURCC('d','a','c','3')
108 #define FOURCC_damr     GST_MAKE_FOURCC('d','a','m','r')
109 #define FOURCC_data     GST_MAKE_FOURCC('d','a','t','a')
110 #define FOURCC_dcom     GST_MAKE_FOURCC('d','c','o','m')
111 #define FOURCC_desc     GST_MAKE_FOURCC('d','e','s','c')
112 #define FOURCC_dhlr     GST_MAKE_FOURCC('d','h','l','r')
113 #define FOURCC_dinf     GST_MAKE_FOURCC('d','i','n','f')
114 #define FOURCC_disc     GST_MAKE_FOURCC('d','i','s','c')
115 #define FOURCC_disk     GST_MAKE_FOURCC('d','i','s','k')
116 #define FOURCC_drac     GST_MAKE_FOURCC('d','r','a','c')
117 #define FOURCC_dref     GST_MAKE_FOURCC('d','r','e','f')
118 #define FOURCC_drmi     GST_MAKE_FOURCC('d','r','m','i')
119 #define FOURCC_drms     GST_MAKE_FOURCC('d','r','m','s')
120 #define FOURCC_dvcp     GST_MAKE_FOURCC('d','v','c','p')
121 #define FOURCC_dvc_     GST_MAKE_FOURCC('d','v','c',' ')
122 #define FOURCC_dv5p     GST_MAKE_FOURCC('d','v','5','p')
123 #define FOURCC_dv5n     GST_MAKE_FOURCC('d','v','5','n')
124 #define FOURCC_edts     GST_MAKE_FOURCC('e','d','t','s')
125 #define FOURCC_elst     GST_MAKE_FOURCC('e','l','s','t')
126 #define FOURCC_enda     GST_MAKE_FOURCC('e','n','d','a')
127 #define FOURCC_esds     GST_MAKE_FOURCC('e','s','d','s')
128 #define FOURCC_fmp4     GST_MAKE_FOURCC('f','m','p','4')
129 #define FOURCC_free     GST_MAKE_FOURCC('f','r','e','e')
130 #define FOURCC_frma     GST_MAKE_FOURCC('f','r','m','a')
131 #define FOURCC_ftyp     GST_MAKE_FOURCC('f','t','y','p')
132 #define FOURCC_ftab     GST_MAKE_FOURCC('f','t','a','b')
133 #define FOURCC_gama     GST_MAKE_FOURCC('g','a','m','a')
134 #define FOURCC_glbl     GST_MAKE_FOURCC('g','l','b','l')
135 #define FOURCC_gmhd     GST_MAKE_FOURCC('g','m','h','d')
136 #define FOURCC_gmin     GST_MAKE_FOURCC('g','m','i','n')
137 #define FOURCC_gnre     GST_MAKE_FOURCC('g','n','r','e')
138 #define FOURCC_h263     GST_MAKE_FOURCC('h','2','6','3')
139 #define FOURCC_hdlr     GST_MAKE_FOURCC('h','d','l','r')
140 #define FOURCC_hev1     GST_MAKE_FOURCC('h','e','v','1')
141 #define FOURCC_hint     GST_MAKE_FOURCC('h','i','n','t')
142 #define FOURCC_hmhd     GST_MAKE_FOURCC('h','m','h','d')
143 #define FOURCC_hndl     GST_MAKE_FOURCC('h','n','d','l')
144 #define FOURCC_hnti     GST_MAKE_FOURCC('h','n','t','i')
145 #define FOURCC_hvc1     GST_MAKE_FOURCC('h','v','c','1')
146 #define FOURCC_hvcC     GST_MAKE_FOURCC('h','v','c','C')
147 #define FOURCC_ilst     GST_MAKE_FOURCC('i','l','s','t')
148 #define FOURCC_ima4     GST_MAKE_FOURCC('i','m','a','4')
149 #define FOURCC_imap     GST_MAKE_FOURCC('i','m','a','p')
150 #define FOURCC_in24     GST_MAKE_FOURCC('i','n','2','4')
151 #define FOURCC_jp2c     GST_MAKE_FOURCC('j','p','2','c')
152 #define FOURCC_jpeg     GST_MAKE_FOURCC('j','p','e','g')
153 #define FOURCC_keyw     GST_MAKE_FOURCC('k','e','y','w')
154 #define FOURCC_kmat     GST_MAKE_FOURCC('k','m','a','t')
155 #define FOURCC_kywd     GST_MAKE_FOURCC('k','y','w','d')
156 #define FOURCC_load     GST_MAKE_FOURCC('l','o','a','d')
157 #define FOURCC_matt     GST_MAKE_FOURCC('m','a','t','t')
158 #define FOURCC_mdat     GST_MAKE_FOURCC('m','d','a','t')
159 #define FOURCC_mdhd     GST_MAKE_FOURCC('m','d','h','d')
160 #define FOURCC_mdia     GST_MAKE_FOURCC('m','d','i','a')
161 #define FOURCC_mdir     GST_MAKE_FOURCC('m','d','i','r')
162 #define FOURCC_mean     GST_MAKE_FOURCC('m','e','a','n')
163 #define FOURCC_meta     GST_MAKE_FOURCC('m','e','t','a')
164 #define FOURCC_mhlr     GST_MAKE_FOURCC('m','h','l','r')
165 #define FOURCC_minf     GST_MAKE_FOURCC('m','i','n','f')
166 #define FOURCC_moov     GST_MAKE_FOURCC('m','o','o','v')
167 #define FOURCC_mp4a     GST_MAKE_FOURCC('m','p','4','a')
168 #define FOURCC_mp4s     GST_MAKE_FOURCC('m','p','4','s')
169 #define FOURCC_mp4s     GST_MAKE_FOURCC('m','p','4','s')
170 #define FOURCC_mp4v     GST_MAKE_FOURCC('m','p','4','v')
171 #define FOURCC_name     GST_MAKE_FOURCC('n','a','m','e')
172 #define FOURCC_opus     GST_MAKE_FOURCC('O','p','u','s')
173 #define FOURCC_dops     GST_MAKE_FOURCC('d','O','p','s')
174 #define FOURCC_pasp     GST_MAKE_FOURCC('p','a','s','p')
175 #define FOURCC_pcst     GST_MAKE_FOURCC('p','c','s','t')
176 #define FOURCC_pgap     GST_MAKE_FOURCC('p','g','a','p')
177 #define FOURCC_pnot     GST_MAKE_FOURCC('p','n','o','t')
178 #define FOURCC_qt__     GST_MAKE_FOURCC('q','t',' ',' ')
179 #define FOURCC_qtim     GST_MAKE_FOURCC('q','t','i','m')
180 #define FOURCC_raw_     GST_MAKE_FOURCC('r','a','w',' ')
181 #define FOURCC_rdrf     GST_MAKE_FOURCC('r','d','r','f')
182 #define FOURCC_rle_     GST_MAKE_FOURCC('r','l','e',' ')
183 #define FOURCC_rmda     GST_MAKE_FOURCC('r','m','d','a')
184 #define FOURCC_rmdr     GST_MAKE_FOURCC('r','m','d','r')
185 #define FOURCC_rmra     GST_MAKE_FOURCC('r','m','r','a')
186 #define FOURCC_rmvc     GST_MAKE_FOURCC('r','m','v','c')
187 #define FOURCC_rtp_     GST_MAKE_FOURCC('r','t','p',' ')
188 #define FOURCC_rtsp     GST_MAKE_FOURCC('r','t','s','p')
189 #define FOURCC_s263     GST_MAKE_FOURCC('s','2','6','3')
190 #define FOURCC_samr     GST_MAKE_FOURCC('s','a','m','r')
191 #define FOURCC_sawb     GST_MAKE_FOURCC('s','a','w','b')
192 #define FOURCC_sbtl     GST_MAKE_FOURCC('s','b','t','l')
193 #define FOURCC_sdp_     GST_MAKE_FOURCC('s','d','p',' ')
194 #define FOURCC_sidx     GST_MAKE_FOURCC('s','i','d','x')
195 #define FOURCC_smhd     GST_MAKE_FOURCC('s','m','h','d')
196 #define FOURCC_soaa     GST_MAKE_FOURCC('s','o','a','a')
197 #define FOURCC_soal     GST_MAKE_FOURCC('s','o','a','l')
198 #define FOURCC_soar     GST_MAKE_FOURCC('s','o','a','r')
199 #define FOURCC_soco     GST_MAKE_FOURCC('s','o','c','o')
200 #define FOURCC_sonm     GST_MAKE_FOURCC('s','o','n','m')
201 #define FOURCC_sosn     GST_MAKE_FOURCC('s','o','s','n')
202 #define FOURCC_soun     GST_MAKE_FOURCC('s','o','u','n')
203 #define FOURCC_sowt     GST_MAKE_FOURCC('s','o','w','t')
204 #define FOURCC_stbl     GST_MAKE_FOURCC('s','t','b','l')
205 #define FOURCC_stco     GST_MAKE_FOURCC('s','t','c','o')
206 #define FOURCC_stpp     GST_MAKE_FOURCC('s','t','p','p')
207 #define FOURCC_stps     GST_MAKE_FOURCC('s','t','p','s')
208 #define FOURCC_strf     GST_MAKE_FOURCC('s','t','r','f')
209 #define FOURCC_strm     GST_MAKE_FOURCC('s','t','r','m')
210 #define FOURCC_stsc     GST_MAKE_FOURCC('s','t','s','c')
211 #define FOURCC_stsd     GST_MAKE_FOURCC('s','t','s','d')
212 #define FOURCC_stss     GST_MAKE_FOURCC('s','t','s','s')
213 #define FOURCC_stsz     GST_MAKE_FOURCC('s','t','s','z')
214 #define FOURCC_stts     GST_MAKE_FOURCC('s','t','t','s')
215 #define FOURCC_subp     GST_MAKE_FOURCC('s','u','b','p')
216 #define FOURCC_subt     GST_MAKE_FOURCC('s','u','b','t')
217 #define FOURCC_text     GST_MAKE_FOURCC('t','e','x','t')
218 #define FOURCC_tkhd     GST_MAKE_FOURCC('t','k','h','d')
219 #define FOURCC_tmpo     GST_MAKE_FOURCC('t','m','p','o')
220 #define FOURCC_trak     GST_MAKE_FOURCC('t','r','a','k')
221 #define FOURCC_tref     GST_MAKE_FOURCC('t','r','e','f')
222 #define FOURCC_trkn     GST_MAKE_FOURCC('t','r','k','n')
223 #define FOURCC_tven     GST_MAKE_FOURCC('t','v','e','n')
224 #define FOURCC_tves     GST_MAKE_FOURCC('t','v','e','s')
225 #define FOURCC_tvsh     GST_MAKE_FOURCC('t','v','s','h')
226 #define FOURCC_tvsn     GST_MAKE_FOURCC('t','v','s','n')
227 #define FOURCC_twos     GST_MAKE_FOURCC('t','w','o','s')
228 #define FOURCC_tx3g     GST_MAKE_FOURCC('t','x','3','g')
229 #define FOURCC_udta     GST_MAKE_FOURCC('u','d','t','a')
230 #define FOURCC_ulaw     GST_MAKE_FOURCC('u','l','a','w')
231 #define FOURCC_url_     GST_MAKE_FOURCC('u','r','l',' ')
232 #define FOURCC_uuid     GST_MAKE_FOURCC('u','u','i','d')
233 #define FOURCC_v210     GST_MAKE_FOURCC('v','2','1','0')
234 #define FOURCC_vc_1     GST_MAKE_FOURCC('v','c','-','1')
235 #define FOURCC_vide     GST_MAKE_FOURCC('v','i','d','e')
236 #define FOURCC_vmhd     GST_MAKE_FOURCC('v','m','h','d')
237 #define FOURCC_wave     GST_MAKE_FOURCC('w','a','v','e')
238 #define FOURCC_wide     GST_MAKE_FOURCC('w','i','d','e')
239 #define FOURCC_zlib     GST_MAKE_FOURCC('z','l','i','b')
240
241 #define FOURCC_ap4h     GST_MAKE_FOURCC('a','p','4','h')
242 #define FOURCC_apch     GST_MAKE_FOURCC('a','p','c','h')
243 #define FOURCC_apcn     GST_MAKE_FOURCC('a','p','c','n')
244 #define FOURCC_apco     GST_MAKE_FOURCC('a','p','c','o')
245 #define FOURCC_apcs     GST_MAKE_FOURCC('a','p','c','s')
246 #define FOURCC_m1v      GST_MAKE_FOURCC('m','1','v',' ')
247 #define FOURCC_vivo     GST_MAKE_FOURCC('v','i','v','o')
248 #define FOURCC_saiz     GST_MAKE_FOURCC('s','a','i','z')
249 #define FOURCC_saio     GST_MAKE_FOURCC('s','a','i','o')
250
251 #define FOURCC_3gg6     GST_MAKE_FOURCC('3','g','g','6')
252 #define FOURCC_3gg7     GST_MAKE_FOURCC('3','g','g','7')
253 #define FOURCC_3gp4     GST_MAKE_FOURCC('3','g','p','4')
254 #define FOURCC_3gp6     GST_MAKE_FOURCC('3','g','p','6')
255 #define FOURCC_3gr6     GST_MAKE_FOURCC('3','g','r','6')
256 #define FOURCC_3g__     GST_MAKE_FOURCC('3','g',0,0)
257 #define FOURCC_isml     GST_MAKE_FOURCC('i','s','m','l')
258 #define FOURCC_iso2     GST_MAKE_FOURCC('i','s','o','2')
259 #define FOURCC_isom     GST_MAKE_FOURCC('i','s','o','m')
260 #define FOURCC_mp41     GST_MAKE_FOURCC('m','p','4','1')
261 #define FOURCC_mp42     GST_MAKE_FOURCC('m','p','4','2')
262 #define FOURCC_piff     GST_MAKE_FOURCC('p','i','f','f')
263 #define FOURCC_titl     GST_MAKE_FOURCC('t','i','t','l')
264
265 /* SVQ3 fourcc */
266 #define FOURCC_SEQH     GST_MAKE_FOURCC('S','E','Q','H')
267 #define FOURCC_SMI_     GST_MAKE_FOURCC('S','M','I',' ')
268
269 /* 3gpp asset meta data fourcc */
270 #define FOURCC_albm     GST_MAKE_FOURCC('a','l','b','m')
271 #define FOURCC_auth     GST_MAKE_FOURCC('a','u','t','h')
272 #define FOURCC_clsf     GST_MAKE_FOURCC('c','l','s','f')
273 #define FOURCC_dscp     GST_MAKE_FOURCC('d','s','c','p')
274 #define FOURCC_loci     GST_MAKE_FOURCC('l','o','c','i')
275 #define FOURCC_perf     GST_MAKE_FOURCC('p','e','r','f')
276 #define FOURCC_rtng     GST_MAKE_FOURCC('r','t','n','g')
277 #define FOURCC_yrrc     GST_MAKE_FOURCC('y','r','r','c')
278
279 /* misc tag stuff */
280 #define FOURCC_ID32     GST_MAKE_FOURCC('I', 'D','3','2')
281
282 /* ISO Motion JPEG 2000 fourcc */
283 #define FOURCC_cdef     GST_MAKE_FOURCC('c','d','e','f')
284 #define FOURCC_cmap     GST_MAKE_FOURCC('c','m','a','p')
285 #define FOURCC_colr     GST_MAKE_FOURCC('c','o','l','r')
286 #define FOURCC_fiel     GST_MAKE_FOURCC('f','i','e','l')
287 #define FOURCC_ihdr     GST_MAKE_FOURCC('i','h','d','r')
288 #define FOURCC_jp2h     GST_MAKE_FOURCC('j','p','2','h')
289 #define FOURCC_jp2x     GST_MAKE_FOURCC('j','p','2','x')
290 #define FOURCC_mjp2     GST_MAKE_FOURCC('m','j','p','2')
291
292 /* some buggy hardware's notion of mdhd */
293 #define FOURCC_mhdr     GST_MAKE_FOURCC('m','h','d','r')
294
295 /* Fragmented MP4 */
296 #define FOURCC_btrt     GST_MAKE_FOURCC('b','t','r','t')
297 #define FOURCC_mehd     GST_MAKE_FOURCC('m','e','h','d')
298 #define FOURCC_mfhd     GST_MAKE_FOURCC('m','f','h','d')
299 #define FOURCC_mfra     GST_MAKE_FOURCC('m','f','r','a')
300 #define FOURCC_mfro     GST_MAKE_FOURCC('m','f','r','o')
301 #define FOURCC_moof     GST_MAKE_FOURCC('m','o','o','f')
302 #define FOURCC_mvex     GST_MAKE_FOURCC('m','v','e','x')
303 #define FOURCC_mvhd     GST_MAKE_FOURCC('m','v','h','d')
304 #define FOURCC_ovc1     GST_MAKE_FOURCC('o','v','c','1')
305 #define FOURCC_owma     GST_MAKE_FOURCC('o','w','m','a')
306 #define FOURCC_sdtp     GST_MAKE_FOURCC('s','d','t','p')
307 #define FOURCC_tfhd     GST_MAKE_FOURCC('t','f','h','d')
308 #define FOURCC_tfra     GST_MAKE_FOURCC('t','f','r','a')
309 #define FOURCC_traf     GST_MAKE_FOURCC('t','r','a','f')
310 #define FOURCC_trex     GST_MAKE_FOURCC('t','r','e','x')
311 #define FOURCC_trun     GST_MAKE_FOURCC('t','r','u','n')
312 #define FOURCC_wma_     GST_MAKE_FOURCC('w','m','a',' ')
313
314 /* MPEG DASH */
315 #define FOURCC_tfdt     GST_MAKE_FOURCC('t','f','d','t')
316
317 /* Xiph fourcc */
318 #define FOURCC_XdxT     GST_MAKE_FOURCC('X','d','x','T')
319 #define FOURCC_XiTh     GST_MAKE_FOURCC('X','i','T','h')
320 #define FOURCC_tCtC     GST_MAKE_FOURCC('t','C','t','C')
321 #define FOURCC_tCtH     GST_MAKE_FOURCC('t','C','t','H')
322 #define FOURCC_tCt_     GST_MAKE_FOURCC('t','C','t','#')
323
324 /* ilst metatags */
325 #define FOURCC__cmt     GST_MAKE_FOURCC(0xa9, 'c','m','t')
326
327 /* apple tags */
328 #define FOURCC__mak     GST_MAKE_FOURCC(0xa9, 'm','a','k')
329 #define FOURCC__mod     GST_MAKE_FOURCC(0xa9, 'm','o','d')
330 #define FOURCC__swr     GST_MAKE_FOURCC(0xa9, 's','w','r')
331
332 /* Chapters reference */
333 #define FOURCC_chap     GST_MAKE_FOURCC('c','h','a','p')
334
335 /* For Microsoft Wave formats embedded in quicktime, the FOURCC is
336    'm', 's', then the 16 bit wave codec id */
337 #define MS_WAVE_FOURCC(codecid)  GST_MAKE_FOURCC( \
338         'm', 's', ((codecid)>>8)&0xff, ((codecid)&0xff))
339
340 /* MPEG Application Format , Stereo Video */
341 #define FOURCC_ss01     GST_MAKE_FOURCC('s','s','0','1')
342 #define FOURCC_ss02     GST_MAKE_FOURCC('s','s','0','2')
343 #define FOURCC_svmi     GST_MAKE_FOURCC('s','v','m','i')
344 #define FOURCC_scdi     GST_MAKE_FOURCC('s','c','d','i')
345
346 /* Protected streams */
347 #define FOURCC_encv     GST_MAKE_FOURCC('e','n','c','v')
348 #define FOURCC_enca     GST_MAKE_FOURCC('e','n','c','a')
349 #define FOURCC_enct     GST_MAKE_FOURCC('e','n','c','t')
350 #define FOURCC_encs     GST_MAKE_FOURCC('e','n','c','s')
351 #define FOURCC_sinf     GST_MAKE_FOURCC('s','i','n','f')
352 #define FOURCC_frma     GST_MAKE_FOURCC('f','r','m','a')
353 #define FOURCC_schm     GST_MAKE_FOURCC('s','c','h','m')
354 #define FOURCC_schi     GST_MAKE_FOURCC('s','c','h','i')
355
356 /* Common Encryption */
357 #define FOURCC_pssh     GST_MAKE_FOURCC('p','s','s','h')
358 #define FOURCC_tenc     GST_MAKE_FOURCC('t','e','n','c')
359 #define FOURCC_cenc     GST_MAKE_FOURCC('c','e','n','c')
360
361 G_END_DECLS
362
363 #endif /* __FOURCC_H__ */