Skip to main content

mp4ra_rust/
generated.rs

1// --------
2// WARNING
3// This is generated code.
4// If you need changes, alter the mp4ra_crategen project, not this file.
5// --------
6impl HandlerCode {
7    /// 3GPP Scene Description
8    ///
9    /// FourCC: `3gsd`
10    ///
11    /// Specification: _3GPP_
12    pub const THREE_GSD: HandlerCode = HandlerCode::new(*b"3gsd");
13    /// Auxiliary video
14    ///
15    /// FourCC: `auxv`
16    ///
17    /// Specification: _ISO_
18    pub const AUXV: HandlerCode = HandlerCode::new(*b"auxv");
19    /// Avid Metadata
20    ///
21    /// FourCC: `avmd`
22    ///
23    /// Specification: _Avid_
24    pub const AVMD: HandlerCode = HandlerCode::new(*b"avmd");
25    /// Closed Caption
26    ///
27    /// FourCC: `clcp`
28    ///
29    /// Specification: _Apple_
30    pub const CLCP: HandlerCode = HandlerCode::new(*b"clcp");
31    /// CPCM Auxiliary Metadata
32    ///
33    /// FourCC: `cpad`
34    ///
35    /// Specification: _DVB_
36    pub const CPAD: HandlerCode = HandlerCode::new(*b"cpad");
37    /// ClockReferenceStream
38    ///
39    /// FourCC: `crsm`
40    ///
41    /// Specification: _MP4v2_
42    pub const CRSM: HandlerCode = HandlerCode::new(*b"crsm");
43    /// DVB Mandatory Metadata
44    ///
45    /// FourCC: `dmbd`
46    ///
47    /// Specification: _DVB_
48    pub const DMBD: HandlerCode = HandlerCode::new(*b"dmbd");
49    /// TV-Anytime Metadata, according to DVB specifications
50    ///
51    /// FourCC: `dtva`
52    ///
53    /// Specification: _DVB_
54    pub const DTVA: HandlerCode = HandlerCode::new(*b"dtva");
55    /// withdrawn, unused, do not use (was Dolby Vision Metadata)
56    ///
57    /// FourCC: `dvmd`
58    ///
59    /// Specification: _Deprecated_
60    pub const DVMD: HandlerCode = HandlerCode::new(*b"dvmd");
61    /// Font
62    ///
63    /// FourCC: `fdsm`
64    ///
65    /// Specification: _ISO_
66    pub const FDSM: HandlerCode = HandlerCode::new(*b"fdsm");
67    /// General MPEG-4 systems streams (without specific handler)
68    ///
69    /// FourCC: `gesm`
70    ///
71    /// Specification: _see (1) below_
72    pub const GESM: HandlerCode = HandlerCode::new(*b"gesm");
73    /// Subtitle Graphics
74    ///
75    /// FourCC: `GRAP`
76    ///
77    /// Specification: _Sony_
78    pub const GRAP: HandlerCode = HandlerCode::new(*b"GRAP");
79    /// Hint
80    ///
81    /// FourCC: `hint`
82    ///
83    /// Specification: _ISO_
84    pub const HINT: HandlerCode = HandlerCode::new(*b"hint");
85    /// Hipix Rich Picture Format
86    ///
87    /// FourCC: `hpix`
88    ///
89    /// Specification: _Hipix_
90    pub const HPIX: HandlerCode = HandlerCode::new(*b"hpix");
91    /// ID3 version 2 meta-data handler (meta box)
92    ///
93    /// FourCC: `ID32`
94    ///
95    /// Specification: _id3v2_
96    pub const ID32: HandlerCode = HandlerCode::new(*b"ID32");
97    /// DVB IPDC ESG Metadata
98    ///
99    /// FourCC: `ipdc`
100    ///
101    /// Specification: _DVB_
102    pub const IPDC: HandlerCode = HandlerCode::new(*b"ipdc");
103    /// IPMP Stream
104    ///
105    /// FourCC: `ipsm`
106    ///
107    /// Specification: _MP4v2_
108    pub const IPSM: HandlerCode = HandlerCode::new(*b"ipsm");
109    /// MPEG7Stream
110    ///
111    /// FourCC: `m7sm`
112    ///
113    /// Specification: _MP4v2_
114    pub const M7SM: HandlerCode = HandlerCode::new(*b"m7sm");
115    /// Metadata
116    ///
117    /// FourCC: `meta`
118    ///
119    /// Specification: _ISO_
120    pub const META: HandlerCode = HandlerCode::new(*b"meta");
121    /// MPEG-J Stream
122    ///
123    /// FourCC: `mjsm`
124    ///
125    /// Specification: _MP4v2_
126    pub const MJSM: HandlerCode = HandlerCode::new(*b"mjsm");
127    /// MPEG-21 Digital item
128    ///
129    /// FourCC: `mp21`
130    ///
131    /// Specification: _MPEG-21_
132    pub const MP21: HandlerCode = HandlerCode::new(*b"mp21");
133    /// MPEG-7 (binary meta-data)
134    ///
135    /// FourCC: `mp7b`
136    ///
137    /// Specification: _ISO_
138    pub const MP7B: HandlerCode = HandlerCode::new(*b"mp7b");
139    /// MPEG-7 (textual meta-data)
140    ///
141    /// FourCC: `mp7t`
142    ///
143    /// Specification: _ISO_
144    pub const MP7T: HandlerCode = HandlerCode::new(*b"mp7t");
145    /// MPD contained in a metabox
146    ///
147    /// FourCC: `mpd `
148    ///
149    /// Specification: _3GPP_
150    pub const MPD: HandlerCode = HandlerCode::new(*b"mpd ");
151    /// MPD link contained in a metabox
152    ///
153    /// FourCC: `mpdl`
154    ///
155    /// Specification: _3GPP_
156    pub const MPDL: HandlerCode = HandlerCode::new(*b"mpdl");
157    /// QuickTime MPEG track handler
158    ///
159    /// FourCC: `MPEG`
160    ///
161    /// Specification: _Apple_
162    pub const MPEG: HandlerCode = HandlerCode::new(*b"MPEG");
163    /// QuickTime Music track handler
164    ///
165    /// FourCC: `musi`
166    ///
167    /// Specification: _Apple_
168    pub const MUSI: HandlerCode = HandlerCode::new(*b"musi");
169    /// Non-Real Time Metadata (XAVC Format)
170    ///
171    /// FourCC: `nrtm`
172    ///
173    /// Specification: _Sony_
174    pub const NRTM: HandlerCode = HandlerCode::new(*b"nrtm");
175    /// No handling required (meta-data)
176    ///
177    /// FourCC: `null`
178    ///
179    /// Specification: _ISO_
180    pub const NULL: HandlerCode = HandlerCode::new(*b"null");
181    /// ObjectContentInfoStream
182    ///
183    /// FourCC: `ocsm`
184    ///
185    /// Specification: _MP4v2_
186    pub const OCSM: HandlerCode = HandlerCode::new(*b"ocsm");
187    /// ObjectDescriptorStream
188    ///
189    /// FourCC: `odsm`
190    ///
191    /// Specification: _MP4v2_
192    pub const ODSM: HandlerCode = HandlerCode::new(*b"odsm");
193    /// Image Item and Image sequences
194    ///
195    /// FourCC: `pict`
196    ///
197    /// Specification: _HEIF_
198    pub const PICT: HandlerCode = HandlerCode::new(*b"pict");
199    /// QuickTime QuickDraw 3D ttrack handler
200    ///
201    /// FourCC: `qd3d`
202    ///
203    /// Specification: _Apple_
204    pub const QD3D: HandlerCode = HandlerCode::new(*b"qd3d");
205    /// QuickTime Subtitle track handler
206    ///
207    /// FourCC: `sbtl`
208    ///
209    /// Specification: _Apple_
210    pub const SBTL: HandlerCode = HandlerCode::new(*b"sbtl");
211    /// SceneDescriptionStream
212    ///
213    /// FourCC: `sdsm`
214    ///
215    /// Specification: _MP4v2_
216    pub const SDSM: HandlerCode = HandlerCode::new(*b"sdsm");
217    /// Key Management Messages
218    ///
219    /// FourCC: `skmm`
220    ///
221    /// Specification: _DVB_
222    pub const SKMM: HandlerCode = HandlerCode::new(*b"skmm");
223    /// Samsung Video Metadata Handler
224    ///
225    /// FourCC: `smhr`
226    ///
227    /// Specification: _Samsung_
228    pub const SMHR: HandlerCode = HandlerCode::new(*b"smhr");
229    /// Audio
230    ///
231    /// FourCC: `soun`
232    ///
233    /// Specification: _ISO_
234    pub const SOUN: HandlerCode = HandlerCode::new(*b"soun");
235    /// QuickTime Sprite track handler
236    ///
237    /// FourCC: `sprt`
238    ///
239    /// Specification: _Apple_
240    pub const SPRT: HandlerCode = HandlerCode::new(*b"sprt");
241    /// QuickTime Streaming track handler
242    ///
243    /// FourCC: `strm`
244    ///
245    /// Specification: _Apple_
246    pub const STRM: HandlerCode = HandlerCode::new(*b"strm");
247    /// Subtitles
248    ///
249    /// FourCC: `subt`
250    ///
251    /// Specification: _ISO_
252    pub const SUBT: HandlerCode = HandlerCode::new(*b"subt");
253    /// Text
254    ///
255    /// FourCC: `text`
256    ///
257    /// Specification: _3GPP_
258    pub const TEXT: HandlerCode = HandlerCode::new(*b"text");
259    /// Timecode
260    ///
261    /// FourCC: `tmcd`
262    ///
263    /// Specification: _Apple_
264    pub const TMCD: HandlerCode = HandlerCode::new(*b"tmcd");
265    /// QuickTime Tween track handler
266    ///
267    /// FourCC: `twen`
268    ///
269    /// Specification: _Apple_
270    pub const TWEN: HandlerCode = HandlerCode::new(*b"twen");
271    /// URI identified metadata
272    ///
273    /// FourCC: `uri `
274    ///
275    /// Specification: _DVB_
276    pub const URI: HandlerCode = HandlerCode::new(*b"uri ");
277    /// Video
278    ///
279    /// FourCC: `vide`
280    ///
281    /// Specification: _ISO_
282    pub const VIDE: HandlerCode = HandlerCode::new(*b"vide");
283    /// Volumetric visual media
284    ///
285    /// FourCC: `volv`
286    ///
287    /// Specification: _ISO_
288    pub const VOLV: HandlerCode = HandlerCode::new(*b"volv");
289    /// Haptics
290    ///
291    /// FourCC: `hapt`
292    ///
293    /// Specification: _ISO_
294    pub const HAPT: HandlerCode = HandlerCode::new(*b"hapt");
295    /// Neural network handler (items defined in the MetaBox represent neural networks)
296    ///
297    /// FourCC: `nnet`
298    ///
299    /// Specification: _NALu Video_
300    pub const NNET: HandlerCode = HandlerCode::new(*b"nnet");
301}
302impl SampleEntryCode {
303    /// Return the identifier of a handler for this type of sample entry, if a single handler type is defined.  For those _sample entry_ types where MP4RA notes there are 'various' handlers, this method will return `None`
304    pub fn handler(&self) -> Option<HandlerCode> {
305        match *self {
306            SampleEntryCode::TWO_DCC => Some(HandlerCode::META),
307            SampleEntryCode::THREE_GLO => Some(HandlerCode::META),
308            SampleEntryCode::THREE_GOR => Some(HandlerCode::META),
309            SampleEntryCode::THREE_GVO => Some(HandlerCode::META),
310            SampleEntryCode::SIX_VPT => Some(HandlerCode::VOLV),
311            SampleEntryCode::A3D1 => Some(HandlerCode::VIDE),
312            SampleEntryCode::A3D2 => Some(HandlerCode::VIDE),
313            SampleEntryCode::A3D3 => Some(HandlerCode::VIDE),
314            SampleEntryCode::A3D4 => Some(HandlerCode::VIDE),
315            SampleEntryCode::A3DS => Some(HandlerCode::SOUN),
316            SampleEntryCode::AC_3 => Some(HandlerCode::SOUN),
317            SampleEntryCode::AC_4 => Some(HandlerCode::SOUN),
318            SampleEntryCode::ALAC => Some(HandlerCode::SOUN),
319            SampleEntryCode::ALAW => Some(HandlerCode::SOUN),
320            SampleEntryCode::AV01 => Some(HandlerCode::VIDE),
321            SampleEntryCode::AVC1 => Some(HandlerCode::VIDE),
322            SampleEntryCode::AVC2 => Some(HandlerCode::VIDE),
323            SampleEntryCode::AVC3 => Some(HandlerCode::VIDE),
324            SampleEntryCode::AVC4 => Some(HandlerCode::VIDE),
325            SampleEntryCode::AVCP => Some(HandlerCode::VIDE),
326            SampleEntryCode::AVST => Some(HandlerCode::VIDE),
327            SampleEntryCode::AVS3 => Some(HandlerCode::VIDE),
328            SampleEntryCode::CAMM => Some(HandlerCode::VIDE),
329            SampleEntryCode::CAVS => Some(HandlerCode::SOUN),
330            SampleEntryCode::AV3A => Some(HandlerCode::SOUN),
331            SampleEntryCode::DAV1 => Some(HandlerCode::VIDE),
332            SampleEntryCode::DEPI => Some(HandlerCode::META),
333            SampleEntryCode::DFCE => Some(HandlerCode::META),
334            SampleEntryCode::DIPI => Some(HandlerCode::META),
335            SampleEntryCode::DRA1 => Some(HandlerCode::SOUN),
336            SampleEntryCode::DRAC => Some(HandlerCode::VIDE),
337            SampleEntryCode::DTS_PLUS => Some(HandlerCode::SOUN),
338            SampleEntryCode::DTS_ => Some(HandlerCode::SOUN),
339            SampleEntryCode::DTSC => Some(HandlerCode::SOUN),
340            SampleEntryCode::DTSE => Some(HandlerCode::SOUN),
341            SampleEntryCode::DTSH => Some(HandlerCode::SOUN),
342            SampleEntryCode::DTSL => Some(HandlerCode::SOUN),
343            SampleEntryCode::DTSX => Some(HandlerCode::SOUN),
344            SampleEntryCode::DTSY => Some(HandlerCode::SOUN),
345            SampleEntryCode::DVA1 => Some(HandlerCode::VIDE),
346            SampleEntryCode::DVAV => Some(HandlerCode::VIDE),
347            SampleEntryCode::DVH1 => Some(HandlerCode::VIDE),
348            SampleEntryCode::DVHE => Some(HandlerCode::VIDE),
349            SampleEntryCode::DYOL => Some(HandlerCode::META),
350            SampleEntryCode::DYVM => Some(HandlerCode::VOLV),
351            SampleEntryCode::DYVP => Some(HandlerCode::META),
352            SampleEntryCode::EC_3 => Some(HandlerCode::SOUN),
353            SampleEntryCode::EC_PLUS_3 => Some(HandlerCode::SOUN),
354            SampleEntryCode::ENCA => Some(HandlerCode::SOUN),
355            SampleEntryCode::ENCF => Some(HandlerCode::FDSM),
356            SampleEntryCode::ENCM => Some(HandlerCode::META),
357            SampleEntryCode::ENCS => None,
358            SampleEntryCode::ENCT => Some(HandlerCode::TEXT),
359            SampleEntryCode::ENCV => Some(HandlerCode::VIDE),
360            SampleEntryCode::EVC1 => Some(HandlerCode::VIDE),
361            SampleEntryCode::EVM1 => Some(HandlerCode::VIDE),
362            SampleEntryCode::EVS1 => Some(HandlerCode::VIDE),
363            SampleEntryCode::EVS2 => Some(HandlerCode::VIDE),
364            SampleEntryCode::EVTE => Some(HandlerCode::META),
365            SampleEntryCode::FDP => Some(HandlerCode::HINT),
366            SampleEntryCode::FFV1 => Some(HandlerCode::VIDE),
367            SampleEntryCode::FLAC => Some(HandlerCode::SOUN),
368            SampleEntryCode::G719 => Some(HandlerCode::SOUN),
369            SampleEntryCode::G726 => Some(HandlerCode::SOUN),
370            SampleEntryCode::HEV1 => Some(HandlerCode::VIDE),
371            SampleEntryCode::HEV2 => Some(HandlerCode::VIDE),
372            SampleEntryCode::HEV3 => Some(HandlerCode::VIDE),
373            SampleEntryCode::HVC1 => Some(HandlerCode::VIDE),
374            SampleEntryCode::HVC2 => Some(HandlerCode::VIDE),
375            SampleEntryCode::HVC3 => Some(HandlerCode::VIDE),
376            SampleEntryCode::HVT1 => Some(HandlerCode::VIDE),
377            SampleEntryCode::HVT2 => Some(HandlerCode::VIDE),
378            SampleEntryCode::HVT3 => Some(HandlerCode::VIDE),
379            SampleEntryCode::ICPV => Some(HandlerCode::VIDE),
380            SampleEntryCode::ICP3 => Some(HandlerCode::VOLV),
381            SampleEntryCode::ICPA => Some(HandlerCode::SOUN),
382            SampleEntryCode::ICPH => Some(HandlerCode::HINT),
383            SampleEntryCode::ICPM => Some(HandlerCode::META),
384            SampleEntryCode::ICPP => Some(HandlerCode::HAPT),
385            SampleEntryCode::ICPS => None,
386            SampleEntryCode::ICPT => Some(HandlerCode::TEXT),
387            SampleEntryCode::INVO => Some(HandlerCode::META),
388            SampleEntryCode::INVP => Some(HandlerCode::META),
389            SampleEntryCode::IXSE => Some(HandlerCode::META),
390            SampleEntryCode::J2KI => Some(HandlerCode::VIDE),
391            SampleEntryCode::JXSM => Some(HandlerCode::VIDE),
392            SampleEntryCode::LHE1 => Some(HandlerCode::VIDE),
393            SampleEntryCode::LHT1 => Some(HandlerCode::VIDE),
394            SampleEntryCode::LHV1 => Some(HandlerCode::VIDE),
395            SampleEntryCode::M2TS => Some(HandlerCode::HINT),
396            SampleEntryCode::M4AE => Some(HandlerCode::SOUN),
397            SampleEntryCode::MEBX => Some(HandlerCode::META),
398            SampleEntryCode::METT => Some(HandlerCode::META),
399            SampleEntryCode::METX => Some(HandlerCode::META),
400            SampleEntryCode::MHA1 => Some(HandlerCode::SOUN),
401            SampleEntryCode::MHA2 => Some(HandlerCode::SOUN),
402            SampleEntryCode::MHM1 => Some(HandlerCode::SOUN),
403            SampleEntryCode::MHM2 => Some(HandlerCode::SOUN),
404            SampleEntryCode::MJP2 => Some(HandlerCode::VIDE),
405            SampleEntryCode::MJPG => Some(HandlerCode::VIDE),
406            SampleEntryCode::MLIX => Some(HandlerCode::META),
407            SampleEntryCode::MLPA => Some(HandlerCode::SOUN),
408            SampleEntryCode::MP4A => Some(HandlerCode::SOUN),
409            SampleEntryCode::MP4S => None,
410            SampleEntryCode::MP4V => Some(HandlerCode::VIDE),
411            SampleEntryCode::MVC1 => Some(HandlerCode::VIDE),
412            SampleEntryCode::MVC2 => Some(HandlerCode::VIDE),
413            SampleEntryCode::MVC3 => Some(HandlerCode::VIDE),
414            SampleEntryCode::MVC4 => Some(HandlerCode::VIDE),
415            SampleEntryCode::MVD1 => Some(HandlerCode::VIDE),
416            SampleEntryCode::MVD2 => Some(HandlerCode::VIDE),
417            SampleEntryCode::MVD3 => Some(HandlerCode::VIDE),
418            SampleEntryCode::MVD4 => Some(HandlerCode::VIDE),
419            SampleEntryCode::OCPC => Some(HandlerCode::META),
420            SampleEntryCode::OKSD => Some(HandlerCode::META),
421            SampleEntryCode::OPUS => Some(HandlerCode::SOUN),
422            SampleEntryCode::PM2T => Some(HandlerCode::HINT),
423            SampleEntryCode::PRTP => Some(HandlerCode::HINT),
424            SampleEntryCode::RAW => Some(HandlerCode::SOUN),
425            SampleEntryCode::RCVP => Some(HandlerCode::META),
426            SampleEntryCode::RESV => Some(HandlerCode::VIDE),
427            SampleEntryCode::RESA => Some(HandlerCode::SOUN),
428            SampleEntryCode::RM2T => Some(HandlerCode::HINT),
429            SampleEntryCode::RRTP => Some(HandlerCode::HINT),
430            SampleEntryCode::RSRP => Some(HandlerCode::HINT),
431            SampleEntryCode::RTCP => Some(HandlerCode::HINT),
432            SampleEntryCode::RTMD => Some(HandlerCode::META),
433            SampleEntryCode::RTP => Some(HandlerCode::HINT),
434            SampleEntryCode::RV60 => Some(HandlerCode::VIDE),
435            SampleEntryCode::RVP2 => Some(HandlerCode::META),
436            SampleEntryCode::S263 => Some(HandlerCode::VIDE),
437            SampleEntryCode::SAMR => Some(HandlerCode::SOUN),
438            SampleEntryCode::SAWB => Some(HandlerCode::SOUN),
439            SampleEntryCode::SAWP => Some(HandlerCode::SOUN),
440            SampleEntryCode::SBTT => Some(HandlerCode::SUBT),
441            SampleEntryCode::SEVC => Some(HandlerCode::SOUN),
442            SampleEntryCode::SEVS => Some(HandlerCode::SOUN),
443            SampleEntryCode::SM2T => Some(HandlerCode::HINT),
444            SampleEntryCode::SQCP => Some(HandlerCode::SOUN),
445            SampleEntryCode::SRTP => Some(HandlerCode::HINT),
446            SampleEntryCode::SSMV => Some(HandlerCode::SOUN),
447            SampleEntryCode::STCP => Some(HandlerCode::HINT),
448            SampleEntryCode::STGS => Some(HandlerCode::GRAP),
449            SampleEntryCode::STMD => Some(HandlerCode::META),
450            SampleEntryCode::STPP => Some(HandlerCode::SUBT),
451            SampleEntryCode::STXT => Some(HandlerCode::TEXT),
452            SampleEntryCode::SVC1 => Some(HandlerCode::VIDE),
453            SampleEntryCode::SVC2 => Some(HandlerCode::VIDE),
454            SampleEntryCode::SVCM => Some(HandlerCode::META),
455            SampleEntryCode::TC64 => Some(HandlerCode::TMCD),
456            SampleEntryCode::TMCD => Some(HandlerCode::TMCD),
457            SampleEntryCode::TTSL => Some(HandlerCode::META),
458            SampleEntryCode::TWOS => Some(HandlerCode::SOUN),
459            SampleEntryCode::TX3G => Some(HandlerCode::TEXT),
460            SampleEntryCode::ULAW => Some(HandlerCode::SOUN),
461            SampleEntryCode::UNID => Some(HandlerCode::META),
462            SampleEntryCode::URIM => Some(HandlerCode::META),
463            SampleEntryCode::V3A1 => Some(HandlerCode::VOLV),
464            SampleEntryCode::V3AG => Some(HandlerCode::VOLV),
465            SampleEntryCode::V3C1 => Some(HandlerCode::VOLV),
466            SampleEntryCode::V3CB => Some(HandlerCode::VOLV),
467            SampleEntryCode::V3CG => Some(HandlerCode::VOLV),
468            SampleEntryCode::V3E1 => Some(HandlerCode::VOLV),
469            SampleEntryCode::V3EG => Some(HandlerCode::VOLV),
470            SampleEntryCode::V3T1 => Some(HandlerCode::VOLV),
471            SampleEntryCode::VC_1 => Some(HandlerCode::VIDE),
472            SampleEntryCode::VP08 => Some(HandlerCode::VIDE),
473            SampleEntryCode::VP09 => Some(HandlerCode::VIDE),
474            SampleEntryCode::VQME => Some(HandlerCode::META),
475            SampleEntryCode::VRSP => Some(HandlerCode::META),
476            SampleEntryCode::VVCN => Some(HandlerCode::VIDE),
477            SampleEntryCode::VVC1 => Some(HandlerCode::VIDE),
478            SampleEntryCode::VVI1 => Some(HandlerCode::VIDE),
479            SampleEntryCode::VVS1 => Some(HandlerCode::VIDE),
480            SampleEntryCode::WVTT => Some(HandlerCode::TEXT),
481            SampleEntryCode::ENCU => Some(HandlerCode::SUBT),
482            SampleEntryCode::ENCP => Some(HandlerCode::HAPT),
483            SampleEntryCode::ENC3 => Some(HandlerCode::VOLV),
484            SampleEntryCode::UNCV => Some(HandlerCode::VIDE),
485            SampleEntryCode::IAMF => Some(HandlerCode::SOUN),
486            SampleEntryCode::IPCM => Some(HandlerCode::SOUN),
487            SampleEntryCode::FPCM => Some(HandlerCode::SOUN),
488            SampleEntryCode::CNDM => Some(HandlerCode::VIDE),
489            SampleEntryCode::LVC1 => Some(HandlerCode::VIDE),
490            SampleEntryCode::APAC => Some(HandlerCode::SOUN),
491            SampleEntryCode::APV1 => Some(HandlerCode::VIDE),
492            _ => None,
493        }
494    }
495}
496impl SampleEntryCode {
497    /// 2D cartesian coordinates
498    ///
499    /// FourCC: `2dcc`
500    ///
501    /// Specification: _Metrics_
502    pub const TWO_DCC: SampleEntryCode = SampleEntryCode::new(*b"2dcc");
503    /// 3GPP Location
504    ///
505    /// FourCC: `3glo`
506    ///
507    /// Specification: _3GPP_
508    pub const THREE_GLO: SampleEntryCode = SampleEntryCode::new(*b"3glo");
509    /// 3GPP Orientation
510    ///
511    /// FourCC: `3gor`
512    ///
513    /// Specification: _3GPP_
514    pub const THREE_GOR: SampleEntryCode = SampleEntryCode::new(*b"3gor");
515    /// 3GPP Video Orientation
516    ///
517    /// FourCC: `3gvo`
518    ///
519    /// Specification: _3GPP_
520    pub const THREE_GVO: SampleEntryCode = SampleEntryCode::new(*b"3gvo");
521    /// Dynamic viewport data
522    ///
523    /// FourCC: `6vpt`
524    ///
525    /// Specification: _V3C-SYS_
526    pub const SIX_VPT: SampleEntryCode = SampleEntryCode::new(*b"6vpt");
527    /// 3D-AVC track with 3D-AVC NAL units only
528    ///
529    /// FourCC: `a3d1`
530    ///
531    /// Specification: _NALu Video_
532    pub const A3D1: SampleEntryCode = SampleEntryCode::new(*b"a3d1");
533    /// 3D-AVC track with 3D-AVC NAL units only
534    ///
535    /// FourCC: `a3d2`
536    ///
537    /// Specification: _NALu Video_
538    pub const A3D2: SampleEntryCode = SampleEntryCode::new(*b"a3d2");
539    /// 3D-AVC track with 3D-AVC NAL units only
540    ///
541    /// FourCC: `a3d3`
542    ///
543    /// Specification: _NALu Video_
544    pub const A3D3: SampleEntryCode = SampleEntryCode::new(*b"a3d3");
545    /// 3D-AVC track with 3D-AVC NAL units only
546    ///
547    /// FourCC: `a3d4`
548    ///
549    /// Specification: _NALu Video_
550    pub const A3D4: SampleEntryCode = SampleEntryCode::new(*b"a3d4");
551    /// Auro-Cx 3D audio
552    ///
553    /// FourCC: `a3ds`
554    ///
555    /// Specification: _Auro_
556    pub const A3DS: SampleEntryCode = SampleEntryCode::new(*b"a3ds");
557    /// AC-3 audio
558    ///
559    /// FourCC: `ac-3`
560    ///
561    /// Specification: _ETSI AC-3_
562    pub const AC_3: SampleEntryCode = SampleEntryCode::new(*b"ac-3");
563    /// AC-4 audio
564    ///
565    /// FourCC: `ac-4`
566    ///
567    /// Specification: _ETSI AC-4_
568    pub const AC_4: SampleEntryCode = SampleEntryCode::new(*b"ac-4");
569    /// Apple lossless audio codec
570    ///
571    /// FourCC: `alac`
572    ///
573    /// Specification: _Apple_
574    pub const ALAC: SampleEntryCode = SampleEntryCode::new(*b"alac");
575    /// a-Law
576    ///
577    /// FourCC: `alaw`
578    ///
579    /// Specification: _QT_
580    pub const ALAW: SampleEntryCode = SampleEntryCode::new(*b"alaw");
581    /// AOM Video Codec
582    ///
583    /// FourCC: `av01`
584    ///
585    /// Specification: _AV1-ISOBMFF_
586    pub const AV01: SampleEntryCode = SampleEntryCode::new(*b"av01");
587    /// Advanced Video Coding
588    ///
589    /// FourCC: `avc1`
590    ///
591    /// Specification: _NALu Video_
592    pub const AVC1: SampleEntryCode = SampleEntryCode::new(*b"avc1");
593    /// Advanced Video Coding
594    ///
595    /// FourCC: `avc2`
596    ///
597    /// Specification: _NALu Video_
598    pub const AVC2: SampleEntryCode = SampleEntryCode::new(*b"avc2");
599    /// Advanced Video Coding
600    ///
601    /// FourCC: `avc3`
602    ///
603    /// Specification: _NALu Video_
604    pub const AVC3: SampleEntryCode = SampleEntryCode::new(*b"avc3");
605    /// Advanced Video Coding
606    ///
607    /// FourCC: `avc4`
608    ///
609    /// Specification: _NALu Video_
610    pub const AVC4: SampleEntryCode = SampleEntryCode::new(*b"avc4");
611    /// Advanced Video Coding Parameters
612    ///
613    /// FourCC: `avcp`
614    ///
615    /// Specification: _NALu Video_
616    pub const AVCP: SampleEntryCode = SampleEntryCode::new(*b"avcp");
617    /// 2nd Generation Audio Video Coding Standard of China (AVS Two)
618    ///
619    /// FourCC: `avst`
620    ///
621    /// Specification: _Avs2_
622    pub const AVST: SampleEntryCode = SampleEntryCode::new(*b"avst");
623    /// 3nd Generation Audio Video Coding Standard of China
624    ///
625    /// FourCC: `avs3`
626    ///
627    /// Specification: _Avs3_
628    pub const AVS3: SampleEntryCode = SampleEntryCode::new(*b"avs3");
629    /// Camera motion metadata track
630    ///
631    /// FourCC: `camm`
632    ///
633    /// Specification: _CamMotion_
634    pub const CAMM: SampleEntryCode = SampleEntryCode::new(*b"camm");
635    /// AVS2-P3 Codec
636    ///
637    /// FourCC: `cavs`
638    ///
639    /// Specification: _GB-T-20090-9_
640    pub const CAVS: SampleEntryCode = SampleEntryCode::new(*b"cavs");
641    /// AVS3-P3 Codec
642    ///
643    /// FourCC: `av3a`
644    ///
645    /// Specification: _T-AI-109.7_
646    pub const AV3A: SampleEntryCode = SampleEntryCode::new(*b"av3a");
647    /// AV1-related Dolby Vision consistent with av01
648    ///
649    /// FourCC: `dav1`
650    ///
651    /// Specification: _Dolby Vision_
652    pub const DAV1: SampleEntryCode = SampleEntryCode::new(*b"dav1");
653    /// Decoder power indication
654    ///
655    /// FourCC: `depi`
656    ///
657    /// Specification: _Metrics_
658    pub const DEPI: SampleEntryCode = SampleEntryCode::new(*b"depi");
659    /// Display fine control
660    ///
661    /// FourCC: `dfce`
662    ///
663    /// Specification: _Metrics_
664    pub const DFCE: SampleEntryCode = SampleEntryCode::new(*b"dfce");
665    /// Display power indication
666    ///
667    /// FourCC: `dipi`
668    ///
669    /// Specification: _Metrics_
670    pub const DIPI: SampleEntryCode = SampleEntryCode::new(*b"dipi");
671    /// DRA Audio
672    ///
673    /// FourCC: `dra1`
674    ///
675    /// Specification: _DRA_
676    pub const DRA1: SampleEntryCode = SampleEntryCode::new(*b"dra1");
677    /// Dirac Video Coder
678    ///
679    /// FourCC: `drac`
680    ///
681    /// Specification: _Dirac_
682    pub const DRAC: SampleEntryCode = SampleEntryCode::new(*b"drac");
683    /// Enhancement layer for DTS layered audio
684    ///
685    /// FourCC: `dts+`
686    ///
687    /// Specification: _DTS_
688    pub const DTS_PLUS: SampleEntryCode = SampleEntryCode::new(*b"dts+");
689    /// Dependent base layer for DTS layered audio
690    ///
691    /// FourCC: `dts-`
692    ///
693    /// Specification: _DTS_
694    pub const DTS_: SampleEntryCode = SampleEntryCode::new(*b"dts-");
695    /// Core Substream
696    ///
697    /// FourCC: `dtsc`
698    ///
699    /// Specification: _DTS-HD_
700    pub const DTSC: SampleEntryCode = SampleEntryCode::new(*b"dtsc");
701    /// Extension Substream containing only LBR
702    ///
703    /// FourCC: `dtse`
704    ///
705    /// Specification: _DTS-HD_
706    pub const DTSE: SampleEntryCode = SampleEntryCode::new(*b"dtse");
707    /// Core Substream + Extension Substream
708    ///
709    /// FourCC: `dtsh`
710    ///
711    /// Specification: _DTS-HD_
712    pub const DTSH: SampleEntryCode = SampleEntryCode::new(*b"dtsh");
713    /// Extension Substream containing only XLL
714    ///
715    /// FourCC: `dtsl`
716    ///
717    /// Specification: _DTS-HD_
718    pub const DTSL: SampleEntryCode = SampleEntryCode::new(*b"dtsl");
719    /// DTS-UHD profile 2
720    ///
721    /// FourCC: `dtsx`
722    ///
723    /// Specification: _DTS-UHD_
724    pub const DTSX: SampleEntryCode = SampleEntryCode::new(*b"dtsx");
725    /// DTS-UHD profile 3 or higher
726    ///
727    /// FourCC: `dtsy`
728    ///
729    /// Specification: _DTS-UHD_
730    pub const DTSY: SampleEntryCode = SampleEntryCode::new(*b"dtsy");
731    /// AVC-based Dolby Vision derived from avc1
732    ///
733    /// FourCC: `dva1`
734    ///
735    /// Specification: _Dolby Vision_
736    pub const DVA1: SampleEntryCode = SampleEntryCode::new(*b"dva1");
737    /// AVC-based Dolby Vision derived from avc3
738    ///
739    /// FourCC: `dvav`
740    ///
741    /// Specification: _Dolby Vision_
742    pub const DVAV: SampleEntryCode = SampleEntryCode::new(*b"dvav");
743    /// HEVC-based Dolby Vision derived from hvc1
744    ///
745    /// FourCC: `dvh1`
746    ///
747    /// Specification: _Dolby Vision_
748    pub const DVH1: SampleEntryCode = SampleEntryCode::new(*b"dvh1");
749    /// HEVC-based Dolby Vision derived from hev1
750    ///
751    /// FourCC: `dvhe`
752    ///
753    /// Specification: _Dolby Vision_
754    pub const DVHE: SampleEntryCode = SampleEntryCode::new(*b"dvhe");
755    /// Dynamic overlay parameters
756    ///
757    /// FourCC: `dyol`
758    ///
759    /// Specification: _OMAF_
760    pub const DYOL: SampleEntryCode = SampleEntryCode::new(*b"dyol");
761    /// Dynamic spatial region data
762    ///
763    /// FourCC: `dyvm`
764    ///
765    /// Specification: _V3C-SYS_
766    pub const DYVM: SampleEntryCode = SampleEntryCode::new(*b"dyvm");
767    /// Dynamic viewpoint parameters
768    ///
769    /// FourCC: `dyvp`
770    ///
771    /// Specification: _OMAF_
772    pub const DYVP: SampleEntryCode = SampleEntryCode::new(*b"dyvp");
773    /// Enhanced AC-3 audio
774    ///
775    /// FourCC: `ec-3`
776    ///
777    /// Specification: _ETSI AC-3_
778    pub const EC_3: SampleEntryCode = SampleEntryCode::new(*b"ec-3");
779    /// withdrawn, unused, do not use (was enhanced AC-3 audio with JOC)
780    ///
781    /// FourCC: `ec+3`
782    ///
783    /// Specification: _Deprecated_
784    pub const EC_PLUS_3: SampleEntryCode = SampleEntryCode::new(*b"ec+3");
785    /// Encrypted/Protected audio
786    ///
787    /// FourCC: `enca`
788    ///
789    /// Specification: _ISO_
790    pub const ENCA: SampleEntryCode = SampleEntryCode::new(*b"enca");
791    /// Encrypted/Protected font
792    ///
793    /// FourCC: `encf`
794    ///
795    /// Specification: _ISO_
796    pub const ENCF: SampleEntryCode = SampleEntryCode::new(*b"encf");
797    /// Encrypted/Protected metadata
798    ///
799    /// FourCC: `encm`
800    ///
801    /// Specification: _ISO_
802    pub const ENCM: SampleEntryCode = SampleEntryCode::new(*b"encm");
803    /// Encrypted Systems stream
804    ///
805    /// FourCC: `encs`
806    ///
807    /// Specification: _ISO_
808    pub const ENCS: SampleEntryCode = SampleEntryCode::new(*b"encs");
809    /// Encrypted Text
810    ///
811    /// FourCC: `enct`
812    ///
813    /// Specification: _ISO_
814    pub const ENCT: SampleEntryCode = SampleEntryCode::new(*b"enct");
815    /// Encrypted/protected video
816    ///
817    /// FourCC: `encv`
818    ///
819    /// Specification: _ISO_
820    pub const ENCV: SampleEntryCode = SampleEntryCode::new(*b"encv");
821    /// Essential Video Coding
822    ///
823    /// FourCC: `evc1`
824    ///
825    /// Specification: _NALu Video_
826    pub const EVC1: SampleEntryCode = SampleEntryCode::new(*b"evc1");
827    /// Essential Video Coding slice base track
828    ///
829    /// FourCC: `evm1`
830    ///
831    /// Specification: _NALu Video_
832    pub const EVM1: SampleEntryCode = SampleEntryCode::new(*b"evm1");
833    /// Essential Video Coding slice component track without parameter sets
834    ///
835    /// FourCC: `evs1`
836    ///
837    /// Specification: _NALu Video_
838    pub const EVS1: SampleEntryCode = SampleEntryCode::new(*b"evs1");
839    /// Essential Video Coding slice component track that may contain parameter sets
840    ///
841    /// FourCC: `evs2`
842    ///
843    /// Specification: _NALu Video_
844    pub const EVS2: SampleEntryCode = SampleEntryCode::new(*b"evs2");
845    /// Event message instance
846    ///
847    /// FourCC: `evte`
848    ///
849    /// Specification: _Event Message_
850    pub const EVTE: SampleEntryCode = SampleEntryCode::new(*b"evte");
851    /// File delivery hints
852    ///
853    /// FourCC: `fdp `
854    ///
855    /// Specification: _ISO_
856    pub const FDP: SampleEntryCode = SampleEntryCode::new(*b"fdp ");
857    /// An open lossless intra-frame video codec
858    ///
859    /// FourCC: `FFV1`
860    ///
861    /// Specification: _FF Video Codec_
862    pub const FFV1: SampleEntryCode = SampleEntryCode::new(*b"FFV1");
863    /// Free Lossless Audio Codec (FLAC)
864    ///
865    /// FourCC: `fLaC`
866    ///
867    /// Specification: _FLAC_
868    pub const FLAC: SampleEntryCode = SampleEntryCode::new(*b"fLaC");
869    /// ITU-T Recommendation G.719 (2008)
870    ///
871    /// FourCC: `g719`
872    ///
873    /// Specification: _ITU G.719_
874    pub const G719: SampleEntryCode = SampleEntryCode::new(*b"g719");
875    /// ITU-T Recommendation G.726 (1990)
876    ///
877    /// FourCC: `g726`
878    ///
879    /// Specification: _SDV_
880    pub const G726: SampleEntryCode = SampleEntryCode::new(*b"g726");
881    /// HEVC video with parameter sets in the Sample Entry or samples
882    ///
883    /// FourCC: `hev1`
884    ///
885    /// Specification: _NALu Video_
886    pub const HEV1: SampleEntryCode = SampleEntryCode::new(*b"hev1");
887    /// HEVC video with constrained extractors and/or aggregators and parameter sets in the Sample Entry or samples
888    ///
889    /// FourCC: `hev2`
890    ///
891    /// Specification: _NALu Video_
892    pub const HEV2: SampleEntryCode = SampleEntryCode::new(*b"hev2");
893    /// HEVC video with extractors and/or aggregators and parameter sets in the Sample Entry or samples
894    ///
895    /// FourCC: `hev3`
896    ///
897    /// Specification: _NALu Video_
898    pub const HEV3: SampleEntryCode = SampleEntryCode::new(*b"hev3");
899    /// HEVC video with parameter sets only in the Sample Entry
900    ///
901    /// FourCC: `hvc1`
902    ///
903    /// Specification: _NALu Video_
904    pub const HVC1: SampleEntryCode = SampleEntryCode::new(*b"hvc1");
905    /// HEVC video with constrained extractors and/or aggregators and parameter sets only in the Sample Entry
906    ///
907    /// FourCC: `hvc2`
908    ///
909    /// Specification: _NALu Video_
910    pub const HVC2: SampleEntryCode = SampleEntryCode::new(*b"hvc2");
911    /// HEVC video with extractors and/or aggregators and parameter sets only in the Sample Entry
912    ///
913    /// FourCC: `hvc3`
914    ///
915    /// Specification: _NALu Video_
916    pub const HVC3: SampleEntryCode = SampleEntryCode::new(*b"hvc3");
917    /// HEVC tile tracks
918    ///
919    /// FourCC: `hvt1`
920    ///
921    /// Specification: _NALu Video_
922    pub const HVT1: SampleEntryCode = SampleEntryCode::new(*b"hvt1");
923    /// HEVC slice segment data track
924    ///
925    /// FourCC: `hvt2`
926    ///
927    /// Specification: _NALu Video_
928    pub const HVT2: SampleEntryCode = SampleEntryCode::new(*b"hvt2");
929    /// HEVC Tile Track with Slice Segment Header Info
930    ///
931    /// FourCC: `hvt3`
932    ///
933    /// Specification: _NALu Video_
934    pub const HVT3: SampleEntryCode = SampleEntryCode::new(*b"hvt3");
935    /// Incomplete video
936    ///
937    /// FourCC: `icpv`
938    ///
939    /// Specification: _ISO_
940    pub const ICPV: SampleEntryCode = SampleEntryCode::new(*b"icpv");
941    /// Incomplete volumetric visual
942    ///
943    /// FourCC: `icp3`
944    ///
945    /// Specification: _ISO_
946    pub const ICP3: SampleEntryCode = SampleEntryCode::new(*b"icp3");
947    /// Incomplete audio
948    ///
949    /// FourCC: `icpa`
950    ///
951    /// Specification: _ISO_
952    pub const ICPA: SampleEntryCode = SampleEntryCode::new(*b"icpa");
953    /// Incomplete hint
954    ///
955    /// FourCC: `icph`
956    ///
957    /// Specification: _ISO_
958    pub const ICPH: SampleEntryCode = SampleEntryCode::new(*b"icph");
959    /// Incomplete timed metadata
960    ///
961    /// FourCC: `icpm`
962    ///
963    /// Specification: _ISO_
964    pub const ICPM: SampleEntryCode = SampleEntryCode::new(*b"icpm");
965    /// Incomplete haptics
966    ///
967    /// FourCC: `icpp`
968    ///
969    /// Specification: _ISO_
970    pub const ICPP: SampleEntryCode = SampleEntryCode::new(*b"icpp");
971    /// Incomplete system
972    ///
973    /// FourCC: `icps`
974    ///
975    /// Specification: _ISO_
976    pub const ICPS: SampleEntryCode = SampleEntryCode::new(*b"icps");
977    /// Incomplete text
978    ///
979    /// FourCC: `icpt`
980    ///
981    /// Specification: _ISO_
982    pub const ICPT: SampleEntryCode = SampleEntryCode::new(*b"icpt");
983    /// Initial viewing orientation
984    ///
985    /// FourCC: `invo`
986    ///
987    /// Specification: _OMAF_
988    pub const INVO: SampleEntryCode = SampleEntryCode::new(*b"invo");
989    /// Initial viewpoint
990    ///
991    /// FourCC: `invp`
992    ///
993    /// Specification: _OMAF_
994    pub const INVP: SampleEntryCode = SampleEntryCode::new(*b"invp");
995    /// DVB Track Level Index Track
996    ///
997    /// FourCC: `ixse`
998    ///
999    /// Specification: _DVB_
1000    pub const IXSE: SampleEntryCode = SampleEntryCode::new(*b"ixse");
1001    /// Sequence of JPEG 2000 Contiguous Codestream boxes as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1
1002    ///
1003    /// FourCC: `j2ki`
1004    ///
1005    /// Specification: _J2KHEIF_
1006    pub const J2KI: SampleEntryCode = SampleEntryCode::new(*b"j2ki");
1007    /// Video and image sequences coded to the JPEG-XS coding format
1008    ///
1009    /// FourCC: `jxsm`
1010    ///
1011    /// Specification: _JPXS_
1012    pub const JXSM: SampleEntryCode = SampleEntryCode::new(*b"jxsm");
1013    /// Layered HEVC
1014    ///
1015    /// FourCC: `lhe1`
1016    ///
1017    /// Specification: _NALu Video_
1018    pub const LHE1: SampleEntryCode = SampleEntryCode::new(*b"lhe1");
1019    /// Layered HEVC tile tracks
1020    ///
1021    /// FourCC: `lht1`
1022    ///
1023    /// Specification: _NALu Video_
1024    pub const LHT1: SampleEntryCode = SampleEntryCode::new(*b"lht1");
1025    /// Layered HEVC
1026    ///
1027    /// FourCC: `lhv1`
1028    ///
1029    /// Specification: _NALu Video_
1030    pub const LHV1: SampleEntryCode = SampleEntryCode::new(*b"lhv1");
1031    /// MPEG-2 transport stream for DMB
1032    ///
1033    /// FourCC: `m2ts`
1034    ///
1035    /// Specification: _DMB-MAF_
1036    pub const M2TS: SampleEntryCode = SampleEntryCode::new(*b"m2ts");
1037    /// MPEG-4 Audio Enhancement
1038    ///
1039    /// FourCC: `m4ae`
1040    ///
1041    /// Specification: _MP4v2_
1042    pub const M4AE: SampleEntryCode = SampleEntryCode::new(*b"m4ae");
1043    /// Timed metadata multiplex
1044    ///
1045    /// FourCC: `mebx`
1046    ///
1047    /// Specification: _ISO_
1048    pub const MEBX: SampleEntryCode = SampleEntryCode::new(*b"mebx");
1049    /// Text timed metadata that is not XML
1050    ///
1051    /// FourCC: `mett`
1052    ///
1053    /// Specification: _ISO_
1054    pub const METT: SampleEntryCode = SampleEntryCode::new(*b"mett");
1055    /// XML timed metadata
1056    ///
1057    /// FourCC: `metx`
1058    ///
1059    /// Specification: _ISO_
1060    pub const METX: SampleEntryCode = SampleEntryCode::new(*b"metx");
1061    /// MPEG-H Audio (single stream, unencapsulated)
1062    ///
1063    /// FourCC: `mha1`
1064    ///
1065    /// Specification: _MPEG-H_
1066    pub const MHA1: SampleEntryCode = SampleEntryCode::new(*b"mha1");
1067    /// MPEG-H Audio (multi-stream, unencapsulated)
1068    ///
1069    /// FourCC: `mha2`
1070    ///
1071    /// Specification: _MPEG-H_
1072    pub const MHA2: SampleEntryCode = SampleEntryCode::new(*b"mha2");
1073    /// MPEG-H Audio (single stream, MHAS encapsulated)
1074    ///
1075    /// FourCC: `mhm1`
1076    ///
1077    /// Specification: _MPEG-H_
1078    pub const MHM1: SampleEntryCode = SampleEntryCode::new(*b"mhm1");
1079    /// MPEG-H Audio (multi-stream, MHAS encapsulated)
1080    ///
1081    /// FourCC: `mhm2`
1082    ///
1083    /// Specification: _MPEG-H_
1084    pub const MHM2: SampleEntryCode = SampleEntryCode::new(*b"mhm2");
1085    /// Motion JPEG 2000
1086    ///
1087    /// FourCC: `mjp2`
1088    ///
1089    /// Specification: _MJ2_
1090    pub const MJP2: SampleEntryCode = SampleEntryCode::new(*b"mjp2");
1091    /// JPEG image sequences
1092    ///
1093    /// FourCC: `mjpg`
1094    ///
1095    /// Specification: _HEIF_
1096    pub const MJPG: SampleEntryCode = SampleEntryCode::new(*b"mjpg");
1097    /// DVB Movie level index track
1098    ///
1099    /// FourCC: `mlix`
1100    ///
1101    /// Specification: _DVB_
1102    pub const MLIX: SampleEntryCode = SampleEntryCode::new(*b"mlix");
1103    /// MLP Audio
1104    ///
1105    /// FourCC: `mlpa`
1106    ///
1107    /// Specification: _Dolby MLP_
1108    pub const MLPA: SampleEntryCode = SampleEntryCode::new(*b"mlpa");
1109    /// MPEG-4 Audio
1110    ///
1111    /// FourCC: `mp4a`
1112    ///
1113    /// Specification: _MP4v2_
1114    pub const MP4A: SampleEntryCode = SampleEntryCode::new(*b"mp4a");
1115    /// MPEG-4 Systems
1116    ///
1117    /// FourCC: `mp4s`
1118    ///
1119    /// Specification: _MP4v2_
1120    pub const MP4S: SampleEntryCode = SampleEntryCode::new(*b"mp4s");
1121    /// MPEG-4 Visual
1122    ///
1123    /// FourCC: `mp4v`
1124    ///
1125    /// Specification: _MP4v2_
1126    pub const MP4V: SampleEntryCode = SampleEntryCode::new(*b"mp4v");
1127    /// Multiview coding
1128    ///
1129    /// FourCC: `mvc1`
1130    ///
1131    /// Specification: _NALu Video_
1132    pub const MVC1: SampleEntryCode = SampleEntryCode::new(*b"mvc1");
1133    /// Multiview coding
1134    ///
1135    /// FourCC: `mvc2`
1136    ///
1137    /// Specification: _NALu Video_
1138    pub const MVC2: SampleEntryCode = SampleEntryCode::new(*b"mvc2");
1139    /// Multiview coding
1140    ///
1141    /// FourCC: `mvc3`
1142    ///
1143    /// Specification: _NALu Video_
1144    pub const MVC3: SampleEntryCode = SampleEntryCode::new(*b"mvc3");
1145    /// Multiview coding
1146    ///
1147    /// FourCC: `mvc4`
1148    ///
1149    /// Specification: _NALu Video_
1150    pub const MVC4: SampleEntryCode = SampleEntryCode::new(*b"mvc4");
1151    /// MVD stream
1152    ///
1153    /// FourCC: `mvd1`
1154    ///
1155    /// Specification: _NALu Video_
1156    pub const MVD1: SampleEntryCode = SampleEntryCode::new(*b"mvd1");
1157    /// MVD stream
1158    ///
1159    /// FourCC: `mvd2`
1160    ///
1161    /// Specification: _NALu Video_
1162    pub const MVD2: SampleEntryCode = SampleEntryCode::new(*b"mvd2");
1163    /// MVD stream
1164    ///
1165    /// FourCC: `mvd3`
1166    ///
1167    /// Specification: _NALu Video_
1168    pub const MVD3: SampleEntryCode = SampleEntryCode::new(*b"mvd3");
1169    /// MVD stream
1170    ///
1171    /// FourCC: `mvd4`
1172    ///
1173    /// Specification: _NALu Video_
1174    pub const MVD4: SampleEntryCode = SampleEntryCode::new(*b"mvd4");
1175    /// Object centre points correspondence between viewpoints
1176    ///
1177    /// FourCC: `ocpc`
1178    ///
1179    /// Specification: _OMAF_
1180    pub const OCPC: SampleEntryCode = SampleEntryCode::new(*b"ocpc");
1181    /// OMA Keys
1182    ///
1183    /// FourCC: `oksd`
1184    ///
1185    /// Specification: _OMA DRM XBS_
1186    pub const OKSD: SampleEntryCode = SampleEntryCode::new(*b"oksd");
1187    /// Opus audio coding
1188    ///
1189    /// FourCC: `Opus`
1190    ///
1191    /// Specification: _Opus_
1192    pub const OPUS: SampleEntryCode = SampleEntryCode::new(*b"Opus");
1193    /// Protected MPEG-2 Transport
1194    ///
1195    /// FourCC: `pm2t`
1196    ///
1197    /// Specification: _ISO_
1198    pub const PM2T: SampleEntryCode = SampleEntryCode::new(*b"pm2t");
1199    /// Protected RTP Reception
1200    ///
1201    /// FourCC: `prtp`
1202    ///
1203    /// Specification: _ISO_
1204    pub const PRTP: SampleEntryCode = SampleEntryCode::new(*b"prtp");
1205    /// Uncompressed audio
1206    ///
1207    /// FourCC: `raw `
1208    ///
1209    /// Specification: _MJ2_
1210    pub const RAW: SampleEntryCode = SampleEntryCode::new(*b"raw ");
1211    /// Recommended viewport without indicating a viewpoint
1212    ///
1213    /// FourCC: `rcvp`
1214    ///
1215    /// Specification: _OMAF_
1216    pub const RCVP: SampleEntryCode = SampleEntryCode::new(*b"rcvp");
1217    /// Restricted Video
1218    ///
1219    /// FourCC: `resv`
1220    ///
1221    /// Specification: _ISO_
1222    pub const RESV: SampleEntryCode = SampleEntryCode::new(*b"resv");
1223    /// Restricted Audio
1224    ///
1225    /// FourCC: `resa`
1226    ///
1227    /// Specification: _ISO_
1228    pub const RESA: SampleEntryCode = SampleEntryCode::new(*b"resa");
1229    /// MPEG-2 Transport Reception
1230    ///
1231    /// FourCC: `rm2t`
1232    ///
1233    /// Specification: _ISO_
1234    pub const RM2T: SampleEntryCode = SampleEntryCode::new(*b"rm2t");
1235    /// RTP reception
1236    ///
1237    /// FourCC: `rrtp`
1238    ///
1239    /// Specification: _ISO_
1240    pub const RRTP: SampleEntryCode = SampleEntryCode::new(*b"rrtp");
1241    /// SRTP Reception
1242    ///
1243    /// FourCC: `rsrp`
1244    ///
1245    /// Specification: _ISO_
1246    pub const RSRP: SampleEntryCode = SampleEntryCode::new(*b"rsrp");
1247    /// RTCP reception hint track
1248    ///
1249    /// FourCC: `rtcp`
1250    ///
1251    /// Specification: _ISO_
1252    pub const RTCP: SampleEntryCode = SampleEntryCode::new(*b"rtcp");
1253    /// Real Time Metadata Sample Entry(XAVC Format)
1254    ///
1255    /// FourCC: `rtmd`
1256    ///
1257    /// Specification: _Sony_
1258    pub const RTMD: SampleEntryCode = SampleEntryCode::new(*b"rtmd");
1259    /// RTP Hints
1260    ///
1261    /// FourCC: `rtp `
1262    ///
1263    /// Specification: _ISO_
1264    pub const RTP: SampleEntryCode = SampleEntryCode::new(*b"rtp ");
1265    /// RealVideo Codec 11
1266    ///
1267    /// FourCC: `rv60`
1268    ///
1269    /// Specification: _RealHD_
1270    pub const RV60: SampleEntryCode = SampleEntryCode::new(*b"rv60");
1271    /// Recommended viewport concerning one or more indicated viewpoints
1272    ///
1273    /// FourCC: `rvp2`
1274    ///
1275    /// Specification: _OMAF_
1276    pub const RVP2: SampleEntryCode = SampleEntryCode::new(*b"rvp2");
1277    /// ITU H.263 video (3GPP format)
1278    ///
1279    /// FourCC: `s263`
1280    ///
1281    /// Specification: _3GPP_
1282    pub const S263: SampleEntryCode = SampleEntryCode::new(*b"s263");
1283    /// Narrowband AMR voice
1284    ///
1285    /// FourCC: `samr`
1286    ///
1287    /// Specification: _3GPP_
1288    pub const SAMR: SampleEntryCode = SampleEntryCode::new(*b"samr");
1289    /// Wideband AMR voice
1290    ///
1291    /// FourCC: `sawb`
1292    ///
1293    /// Specification: _3GPP_
1294    pub const SAWB: SampleEntryCode = SampleEntryCode::new(*b"sawb");
1295    /// Extended AMR-WB (AMR-WB+)
1296    ///
1297    /// FourCC: `sawp`
1298    ///
1299    /// Specification: _3GPP_
1300    pub const SAWP: SampleEntryCode = SampleEntryCode::new(*b"sawp");
1301    /// Text subtitles
1302    ///
1303    /// FourCC: `sbtt`
1304    ///
1305    /// Specification: _ISO_
1306    pub const SBTT: SampleEntryCode = SampleEntryCode::new(*b"sbtt");
1307    /// EVRC Voice
1308    ///
1309    /// FourCC: `sevc`
1310    ///
1311    /// Specification: _3GPP2_
1312    pub const SEVC: SampleEntryCode = SampleEntryCode::new(*b"sevc");
1313    /// Enhanced Voice Services (EVS)
1314    ///
1315    /// FourCC: `sevs`
1316    ///
1317    /// Specification: _3GPP_
1318    pub const SEVS: SampleEntryCode = SampleEntryCode::new(*b"sevs");
1319    /// MPEG-2 Transport Server
1320    ///
1321    /// FourCC: `sm2t`
1322    ///
1323    /// Specification: _ISO_
1324    pub const SM2T: SampleEntryCode = SampleEntryCode::new(*b"sm2t");
1325    /// 13K Voice
1326    ///
1327    /// FourCC: `sqcp`
1328    ///
1329    /// Specification: _3GPP2_
1330    pub const SQCP: SampleEntryCode = SampleEntryCode::new(*b"sqcp");
1331    /// SRTP Hints
1332    ///
1333    /// FourCC: `srtp`
1334    ///
1335    /// Specification: _ISO_
1336    pub const SRTP: SampleEntryCode = SampleEntryCode::new(*b"srtp");
1337    /// SMV Voice
1338    ///
1339    /// FourCC: `ssmv`
1340    ///
1341    /// Specification: _3GPP2_
1342    pub const SSMV: SampleEntryCode = SampleEntryCode::new(*b"ssmv");
1343    /// SRTCP reception hint track
1344    ///
1345    /// FourCC: `stcp`
1346    ///
1347    /// Specification: _ISO_
1348    pub const STCP: SampleEntryCode = SampleEntryCode::new(*b"stcp");
1349    /// Subtitle Sample Entry (HMMP)
1350    ///
1351    /// FourCC: `STGS`
1352    ///
1353    /// Specification: _Sony_
1354    pub const STGS: SampleEntryCode = SampleEntryCode::new(*b"STGS");
1355    /// Metadata for ERP (equirectangular projection) regions
1356    ///
1357    /// FourCC: `stmd`
1358    ///
1359    /// Specification: _OMAF_
1360    pub const STMD: SampleEntryCode = SampleEntryCode::new(*b"stmd");
1361    /// Subtitles (Timed Text)
1362    ///
1363    /// FourCC: `stpp`
1364    ///
1365    /// Specification: _ISO_
1366    pub const STPP: SampleEntryCode = SampleEntryCode::new(*b"stpp");
1367    /// Simple timed text
1368    ///
1369    /// FourCC: `stxt`
1370    ///
1371    /// Specification: _ISO_
1372    pub const STXT: SampleEntryCode = SampleEntryCode::new(*b"stxt");
1373    /// Scalable Video Coding
1374    ///
1375    /// FourCC: `svc1`
1376    ///
1377    /// Specification: _NALu Video_
1378    pub const SVC1: SampleEntryCode = SampleEntryCode::new(*b"svc1");
1379    /// Scalable Video Coding
1380    ///
1381    /// FourCC: `svc2`
1382    ///
1383    /// Specification: _NALu Video_
1384    pub const SVC2: SampleEntryCode = SampleEntryCode::new(*b"svc2");
1385    /// SVC metadata
1386    ///
1387    /// FourCC: `svcM`
1388    ///
1389    /// Specification: _NALu Video_
1390    pub const SVCM: SampleEntryCode = SampleEntryCode::new(*b"svcM");
1391    /// 64 bit timecode samples
1392    ///
1393    /// FourCC: `tc64`
1394    ///
1395    /// Specification: _Apple_
1396    pub const TC64: SampleEntryCode = SampleEntryCode::new(*b"tc64");
1397    /// 32 bit timecode samples
1398    ///
1399    /// FourCC: `tmcd`
1400    ///
1401    /// Specification: _Apple_
1402    pub const TMCD: SampleEntryCode = SampleEntryCode::new(*b"tmcd");
1403    /// Sphere location for timed text
1404    ///
1405    /// FourCC: `ttsl`
1406    ///
1407    /// Specification: _OMAF_
1408    pub const TTSL: SampleEntryCode = SampleEntryCode::new(*b"ttsl");
1409    /// Uncompressed 16-bit audio
1410    ///
1411    /// FourCC: `twos`
1412    ///
1413    /// Specification: _MJ2_
1414    pub const TWOS: SampleEntryCode = SampleEntryCode::new(*b"twos");
1415    /// Timed Text stream
1416    ///
1417    /// FourCC: `tx3g`
1418    ///
1419    /// Specification: _3GPP_
1420    pub const TX3G: SampleEntryCode = SampleEntryCode::new(*b"tx3g");
1421    /// Samples have been compressed using uLaw 2:1.
1422    ///
1423    /// FourCC: `ulaw`
1424    ///
1425    /// Specification: _QT_
1426    pub const ULAW: SampleEntryCode = SampleEntryCode::new(*b"ulaw");
1427    /// Dynamic Range Control (DRC) data
1428    ///
1429    /// FourCC: `unid`
1430    ///
1431    /// Specification: _DRC_
1432    pub const UNID: SampleEntryCode = SampleEntryCode::new(*b"unid");
1433    /// Binary timed metadata identified by URI
1434    ///
1435    /// FourCC: `urim`
1436    ///
1437    /// Specification: _ISO_
1438    pub const URIM: SampleEntryCode = SampleEntryCode::new(*b"urim");
1439    /// V3C atlas track with atlas parameter sets only in sample entries
1440    ///
1441    /// FourCC: `v3a1`
1442    ///
1443    /// Specification: _V3C-SYS_
1444    pub const V3A1: SampleEntryCode = SampleEntryCode::new(*b"v3a1");
1445    /// V3C atlas track with atlas parameter sets in sample entries or samples
1446    ///
1447    /// FourCC: `v3ag`
1448    ///
1449    /// Specification: _V3C-SYS_
1450    pub const V3AG: SampleEntryCode = SampleEntryCode::new(*b"v3ag");
1451    /// V3C atlas track with a single atlas and atlas parameter sets only in sample entries
1452    ///
1453    /// FourCC: `v3c1`
1454    ///
1455    /// Specification: _V3C-SYS_
1456    pub const V3C1: SampleEntryCode = SampleEntryCode::new(*b"v3c1");
1457    /// V3C atlas base track with common atlas data
1458    ///
1459    /// FourCC: `v3cb`
1460    ///
1461    /// Specification: _V3C-SYS_
1462    pub const V3CB: SampleEntryCode = SampleEntryCode::new(*b"v3cb");
1463    /// V3C atlas track with a single atlas and atlas parameter sets in sample entries or samples
1464    ///
1465    /// FourCC: `v3cg`
1466    ///
1467    /// Specification: _V3C-SYS_
1468    pub const V3CG: SampleEntryCode = SampleEntryCode::new(*b"v3cg");
1469    /// V3C bitstream track with atlas parameter sets only in sample entries
1470    ///
1471    /// FourCC: `v3e1`
1472    ///
1473    /// Specification: _V3C-SYS_
1474    pub const V3E1: SampleEntryCode = SampleEntryCode::new(*b"v3e1");
1475    /// V3C bitstream track with atlas parameter sets in sample entries or samples
1476    ///
1477    /// FourCC: `v3eg`
1478    ///
1479    /// Specification: _V3C-SYS_
1480    pub const V3EG: SampleEntryCode = SampleEntryCode::new(*b"v3eg");
1481    /// V3C atlas tile track with atlas tile data
1482    ///
1483    /// FourCC: `v3t1`
1484    ///
1485    /// Specification: _V3C-SYS_
1486    pub const V3T1: SampleEntryCode = SampleEntryCode::new(*b"v3t1");
1487    /// SMPTE VC-1
1488    ///
1489    /// FourCC: `vc-1`
1490    ///
1491    /// Specification: _SMPTE_
1492    pub const VC_1: SampleEntryCode = SampleEntryCode::new(*b"vc-1");
1493    /// VP8 video
1494    ///
1495    /// FourCC: `vp08`
1496    ///
1497    /// Specification: _VPxx_
1498    pub const VP08: SampleEntryCode = SampleEntryCode::new(*b"vp08");
1499    /// VP9 video
1500    ///
1501    /// FourCC: `vp09`
1502    ///
1503    /// Specification: _VPxx_
1504    pub const VP09: SampleEntryCode = SampleEntryCode::new(*b"vp09");
1505    /// Quality metrics
1506    ///
1507    /// FourCC: `vqme`
1508    ///
1509    /// Specification: _Metrics_
1510    pub const VQME: SampleEntryCode = SampleEntryCode::new(*b"vqme");
1511    /// Viewing space
1512    ///
1513    /// FourCC: `vrsp`
1514    ///
1515    /// Specification: _OMAF_
1516    pub const VRSP: SampleEntryCode = SampleEntryCode::new(*b"vrsp");
1517    /// Versatile Video Coding with non-VCL (Video Coding Layer) NAL (Network Abstraction Layer) units only
1518    ///
1519    /// FourCC: `vvcN`
1520    ///
1521    /// Specification: _NALu Video_
1522    pub const VVCN: SampleEntryCode = SampleEntryCode::new(*b"vvcN");
1523    /// Versatile Video Coding with parameter sets only in sample entries
1524    ///
1525    /// FourCC: `vvc1`
1526    ///
1527    /// Specification: _NALu Video_
1528    pub const VVC1: SampleEntryCode = SampleEntryCode::new(*b"vvc1");
1529    /// Versatile Video Coding with parameter sets in sample entries or samples
1530    ///
1531    /// FourCC: `vvi1`
1532    ///
1533    /// Specification: _NALu Video_
1534    pub const VVI1: SampleEntryCode = SampleEntryCode::new(*b"vvi1");
1535    /// Versatile Video Coding (VVC) subpicture track that does not contain a conforming VVC bitstream
1536    ///
1537    /// FourCC: `vvs1`
1538    ///
1539    /// Specification: _NALu Video_
1540    pub const VVS1: SampleEntryCode = SampleEntryCode::new(*b"vvs1");
1541    /// WebVTT data
1542    ///
1543    /// FourCC: `wvtt`
1544    ///
1545    /// Specification: _ISO-Text_
1546    pub const WVTT: SampleEntryCode = SampleEntryCode::new(*b"wvtt");
1547    /// Encrypted/protected subtitles
1548    ///
1549    /// FourCC: `encu`
1550    ///
1551    /// Specification: _ISO_
1552    pub const ENCU: SampleEntryCode = SampleEntryCode::new(*b"encu");
1553    /// Encrypted/protected haptics
1554    ///
1555    /// FourCC: `encp`
1556    ///
1557    /// Specification: _ISO_
1558    pub const ENCP: SampleEntryCode = SampleEntryCode::new(*b"encp");
1559    /// Encrypted/protected volumetric visual
1560    ///
1561    /// FourCC: `enc3`
1562    ///
1563    /// Specification: _ISO_
1564    pub const ENC3: SampleEntryCode = SampleEntryCode::new(*b"enc3");
1565    /// Uncompressed Video
1566    ///
1567    /// FourCC: `uncv`
1568    ///
1569    /// Specification: _UNCV_
1570    pub const UNCV: SampleEntryCode = SampleEntryCode::new(*b"uncv");
1571    /// Immersive Audio Model and Formats - Encapsulated IA Sequence
1572    ///
1573    /// FourCC: `iamf`
1574    ///
1575    /// Specification: _AOM-IAMF_
1576    pub const IAMF: SampleEntryCode = SampleEntryCode::new(*b"iamf");
1577    /// Integer based PCM format for audio
1578    ///
1579    /// FourCC: `ipcm`
1580    ///
1581    /// Specification: _ISO-UNCA_
1582    pub const IPCM: SampleEntryCode = SampleEntryCode::new(*b"ipcm");
1583    /// Floating-point based PCM format for audio
1584    ///
1585    /// FourCC: `fpcm`
1586    ///
1587    /// Specification: _ISO-UNCA_
1588    pub const FPCM: SampleEntryCode = SampleEntryCode::new(*b"fpcm");
1589    /// Dynamic Metadata Sample Entry(XF-AVC S/XF-HEVC S File Format)
1590    ///
1591    /// FourCC: `cndm`
1592    ///
1593    /// Specification: _Canon_
1594    pub const CNDM: SampleEntryCode = SampleEntryCode::new(*b"cndm");
1595    /// LCEVC video track
1596    ///
1597    /// FourCC: `lvc1`
1598    ///
1599    /// Specification: _NALu Video_
1600    pub const LVC1: SampleEntryCode = SampleEntryCode::new(*b"lvc1");
1601    /// Apple Positional Audio Codec
1602    ///
1603    /// FourCC: `apac`
1604    ///
1605    /// Specification: _Apple_
1606    pub const APAC: SampleEntryCode = SampleEntryCode::new(*b"apac");
1607    /// APV mezzanine video codec for storage exchange and editing of professional quality video
1608    ///
1609    /// FourCC: `apv1`
1610    ///
1611    /// Specification: _OpenAPV_
1612    pub const APV1: SampleEntryCode = SampleEntryCode::new(*b"apv1");
1613}
1614/// Return the handler type for a box code that appears inside a sample entry, if one is defined.
1615pub fn sample_entry_box_handler(code: BoxCode) -> Option<HandlerCode> {
1616    match code {
1617        BoxCode::THREE_SIB => Some(HandlerCode::VIDE),
1618        BoxCode::SIX_VPC => Some(HandlerCode::VOLV),
1619        BoxCode::A3DC => Some(HandlerCode::VIDE),
1620        BoxCode::AUXI => Some(HandlerCode::VIDE),
1621        BoxCode::AV1C => Some(HandlerCode::VIDE),
1622        BoxCode::AVCC => Some(HandlerCode::VIDE),
1623        BoxCode::BTRT => None,
1624        BoxCode::CCLV => Some(HandlerCode::VIDE),
1625        BoxCode::CCST => Some(HandlerCode::VIDE),
1626        BoxCode::CHNL => Some(HandlerCode::SOUN),
1627        BoxCode::CLAP => Some(HandlerCode::VIDE),
1628        BoxCode::CLLI => Some(HandlerCode::VIDE),
1629        BoxCode::COLR => Some(HandlerCode::VIDE),
1630        BoxCode::COLL => Some(HandlerCode::VIDE),
1631        BoxCode::DAC3 => Some(HandlerCode::SOUN),
1632        BoxCode::DAC4 => Some(HandlerCode::SOUN),
1633        BoxCode::DEC3 => Some(HandlerCode::SOUN),
1634        BoxCode::DFLA => Some(HandlerCode::SOUN),
1635        BoxCode::DHEC => Some(HandlerCode::VIDE),
1636        BoxCode::DMIX => Some(HandlerCode::SOUN),
1637        BoxCode::DMLP => Some(HandlerCode::SOUN),
1638        BoxCode::DVCC => Some(HandlerCode::VIDE),
1639        BoxCode::DVVC => Some(HandlerCode::VIDE),
1640        BoxCode::DVWC => Some(HandlerCode::VIDE),
1641        BoxCode::ECAM => Some(HandlerCode::VIDE),
1642        BoxCode::ESDS => None,
1643        BoxCode::EVCC => Some(HandlerCode::VIDE),
1644        BoxCode::EVSC => Some(HandlerCode::VIDE),
1645        BoxCode::FIEL => Some(HandlerCode::VIDE),
1646        BoxCode::HVCC => Some(HandlerCode::VIDE),
1647        BoxCode::HVTC => Some(HandlerCode::VIDE),
1648        BoxCode::ICAM => Some(HandlerCode::VIDE),
1649        BoxCode::JPGC => Some(HandlerCode::PICT),
1650        BoxCode::LEQI => Some(HandlerCode::SOUN),
1651        BoxCode::LHVC => Some(HandlerCode::VIDE),
1652        BoxCode::M4DS => None,
1653        BoxCode::MAEI => Some(HandlerCode::SOUN),
1654        BoxCode::MAEM => Some(HandlerCode::SOUN),
1655        BoxCode::MDCV => Some(HandlerCode::VIDE),
1656        BoxCode::MHAC => Some(HandlerCode::SOUN),
1657        BoxCode::MHAD => Some(HandlerCode::SOUN),
1658        BoxCode::MHAP => Some(HandlerCode::SOUN),
1659        BoxCode::MVCC => Some(HandlerCode::VIDE),
1660        BoxCode::MVCP => Some(HandlerCode::VIDE),
1661        BoxCode::MVDC => Some(HandlerCode::VIDE),
1662        BoxCode::PASP => Some(HandlerCode::VIDE),
1663        BoxCode::PDC1 => Some(HandlerCode::SOUN),
1664        BoxCode::PDI1 => Some(HandlerCode::SOUN),
1665        BoxCode::PRMR => Some(HandlerCode::VIDE),
1666        BoxCode::QLIF => Some(HandlerCode::VIDE),
1667        BoxCode::SCRB => Some(HandlerCode::VIDE),
1668        BoxCode::SEIB => Some(HandlerCode::VIDE),
1669        BoxCode::SILB => Some(HandlerCode::META),
1670        BoxCode::SMDM => Some(HandlerCode::VIDE),
1671        BoxCode::SRAT => Some(HandlerCode::SOUN),
1672        BoxCode::SVCC => Some(HandlerCode::VIDE),
1673        BoxCode::SVCP => Some(HandlerCode::VIDE),
1674        BoxCode::SVMC => Some(HandlerCode::META),
1675        BoxCode::TXTC => Some(HandlerCode::TEXT),
1676        BoxCode::UDC1 => Some(HandlerCode::SOUN),
1677        BoxCode::UDC2 => Some(HandlerCode::SOUN),
1678        BoxCode::UDEX => Some(HandlerCode::SOUN),
1679        BoxCode::UDI1 => Some(HandlerCode::SOUN),
1680        BoxCode::UDI2 => Some(HandlerCode::SOUN),
1681        BoxCode::UEQC => Some(HandlerCode::SOUN),
1682        BoxCode::UEQI => Some(HandlerCode::SOUN),
1683        BoxCode::URII => Some(HandlerCode::META),
1684        BoxCode::V3CC => Some(HandlerCode::VOLV),
1685        BoxCode::V3TC => Some(HandlerCode::VOLV),
1686        BoxCode::VEXU => Some(HandlerCode::VIDE),
1687        BoxCode::VPCC => Some(HandlerCode::VIDE),
1688        BoxCode::VSIB => Some(HandlerCode::VIDE),
1689        BoxCode::VTTC => Some(HandlerCode::TEXT),
1690        BoxCode::VVNC => Some(HandlerCode::VIDE),
1691        BoxCode::VVCC => Some(HandlerCode::VIDE),
1692        BoxCode::VWID => Some(HandlerCode::VIDE),
1693        BoxCode::VLAB => Some(HandlerCode::TEXT),
1694        BoxCode::CUVV => Some(HandlerCode::VIDE),
1695        BoxCode::CMPD => Some(HandlerCode::VIDE),
1696        BoxCode::UNCC => Some(HandlerCode::VIDE),
1697        BoxCode::CPAL => Some(HandlerCode::VIDE),
1698        BoxCode::CPAT => Some(HandlerCode::VIDE),
1699        BoxCode::CLEV => Some(HandlerCode::VIDE),
1700        BoxCode::SPLZ => Some(HandlerCode::VIDE),
1701        BoxCode::SNUC => Some(HandlerCode::VIDE),
1702        BoxCode::SBPM => Some(HandlerCode::VIDE),
1703        BoxCode::CLOC => Some(HandlerCode::VIDE),
1704        BoxCode::FPAC => Some(HandlerCode::VIDE),
1705        BoxCode::DISI => Some(HandlerCode::VIDE),
1706        BoxCode::PCMC => Some(HandlerCode::SOUN),
1707        BoxCode::LVCC => Some(HandlerCode::VIDE),
1708        BoxCode::ACXD => Some(HandlerCode::SOUN),
1709        BoxCode::DCA3 => Some(HandlerCode::SOUN),
1710        BoxCode::APVC => Some(HandlerCode::VIDE),
1711        BoxCode::AMVE => Some(HandlerCode::VIDE),
1712        BoxCode::ALMO => Some(HandlerCode::VIDE),
1713        _ => None,
1714    }
1715}
1716impl BoxCode {
1717    /// Compressed movie fragment
1718    ///
1719    /// FourCC: `!mof`
1720    ///
1721    /// Specification: _ISO_
1722    pub const COMPRESSED_MOF: BoxCode = BoxCode::new(*b"!mof");
1723    /// Compressed movie
1724    ///
1725    /// FourCC: `!mov`
1726    ///
1727    /// Specification: _ISO_
1728    pub const COMPRESSED_MOV: BoxCode = BoxCode::new(*b"!mov");
1729    /// Compressed segment index
1730    ///
1731    /// FourCC: `!six`
1732    ///
1733    /// Specification: _ISO_
1734    pub const COMPRESSED_SIX: BoxCode = BoxCode::new(*b"!six");
1735    /// Compressed subsegment index
1736    ///
1737    /// FourCC: `!ssx`
1738    ///
1739    /// Specification: _ISO_
1740    pub const COMPRESSED_SSX: BoxCode = BoxCode::new(*b"!ssx");
1741    /// 2D region quality ranking
1742    ///
1743    /// FourCC: `2dqr`
1744    ///
1745    /// Specification: _OMAF_
1746    pub const TWO_DQR: BoxCode = BoxCode::new(*b"2dqr");
1747    /// spatial relationship 2D source
1748    ///
1749    /// FourCC: `2dss`
1750    ///
1751    /// Specification: _OMAF_
1752    pub const TWO_DSS: BoxCode = BoxCode::new(*b"2dss");
1753    /// MVDDepthResolutionBox
1754    ///
1755    /// FourCC: `3dpr`
1756    ///
1757    /// Specification: _NALu Video_
1758    pub const THREE_DPR: BoxCode = BoxCode::new(*b"3dpr");
1759    /// MVD Scalability Information SEI Message Box
1760    ///
1761    /// FourCC: `3sib`
1762    ///
1763    /// Specification: _NALu Video_
1764    ///
1765    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1766    pub const THREE_SIB: BoxCode = BoxCode::new(*b"3sib");
1767    /// Viewport Configuration
1768    ///
1769    /// FourCC: `6vpC`
1770    ///
1771    /// Specification: _V3C-SYS_
1772    ///
1773    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1774    pub const SIX_VPC: BoxCode = BoxCode::new(*b"6vpC");
1775    /// Exif Metadata
1776    ///
1777    /// FourCC: `Exif`
1778    ///
1779    /// Specification: _JPXS_
1780    pub const EXIF: BoxCode = BoxCode::new(*b"Exif");
1781    /// ID3 version 2 container
1782    ///
1783    /// FourCC: `ID32`
1784    ///
1785    /// Specification: _id3v2_
1786    pub const ID32: BoxCode = BoxCode::new(*b"ID32");
1787    /// JPEG XL Signature
1788    ///
1789    /// FourCC: `JXL `
1790    ///
1791    /// Specification: _JPEG XL_
1792    pub const JXL: BoxCode = BoxCode::new(*b"JXL ");
1793    /// JPEG XS Signature
1794    ///
1795    /// FourCC: `JXS `
1796    ///
1797    /// Specification: _JPXS_
1798    pub const JXS: BoxCode = BoxCode::new(*b"JXS ");
1799    /// Mastering Display Metadata Box
1800    ///
1801    /// FourCC: `SmDm`
1802    ///
1803    /// Specification: _VPxx_
1804    ///
1805    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1806    pub const SMDM: BoxCode = BoxCode::new(*b"SmDm");
1807    /// Unique Identifier Technology Solution
1808    ///
1809    /// FourCC: `UITS`
1810    ///
1811    /// Specification: _Universal Music Group_
1812    pub const UITS: BoxCode = BoxCode::new(*b"UITS");
1813    /// A3DConfigurationBox
1814    ///
1815    /// FourCC: `a3dC`
1816    ///
1817    /// Specification: _NALu Video_
1818    ///
1819    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1820    pub const A3DC: BoxCode = BoxCode::new(*b"a3dC");
1821    /// Decoder-specific info for Auro-Cx audio
1822    ///
1823    /// FourCC: `acxd`
1824    ///
1825    /// Specification: _Auro_
1826    ///
1827    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1828    pub const ACXD: BoxCode = BoxCode::new(*b"acxd");
1829    /// description of the content for accessibility purposes (similar to the HTML alt attribute); formatted as for the cprt user-data item
1830    ///
1831    /// FourCC: `ades`
1832    ///
1833    /// Specification: _Apple_
1834    pub const ADES: BoxCode = BoxCode::new(*b"ades");
1835    /// audio element description
1836    ///
1837    /// FourCC: `aedb`
1838    ///
1839    /// Specification: _ISO_
1840    pub const AEDB: BoxCode = BoxCode::new(*b"aedb");
1841    /// audio element box
1842    ///
1843    /// FourCC: `aelm`
1844    ///
1845    /// Specification: _ISO_
1846    pub const AELM: BoxCode = BoxCode::new(*b"aelm");
1847    /// audio element positioning interactivity polar box
1848    ///
1849    /// FourCC: `aepp`
1850    ///
1851    /// Specification: _ISO_
1852    pub const AEPP: BoxCode = BoxCode::new(*b"aepp");
1853    /// audio element prominence interactivity box
1854    ///
1855    /// FourCC: `aepr`
1856    ///
1857    /// Specification: _ISO_
1858    pub const AEPR: BoxCode = BoxCode::new(*b"aepr");
1859    /// audio element selection box
1860    ///
1861    /// FourCC: `aesb`
1862    ///
1863    /// Specification: _ISO_
1864    pub const AESB: BoxCode = BoxCode::new(*b"aesb");
1865    /// audio element selection description box
1866    ///
1867    /// FourCC: `aesd`
1868    ///
1869    /// Specification: _ISO_
1870    pub const AESD: BoxCode = BoxCode::new(*b"aesd");
1871    /// Asset information to identify, license and play
1872    ///
1873    /// FourCC: `ainf`
1874    ///
1875    /// Specification: _DECE_
1876    pub const AINF: BoxCode = BoxCode::new(*b"ainf");
1877    /// Album title and track number for media
1878    ///
1879    /// FourCC: `albm`
1880    ///
1881    /// Specification: _3GPP_
1882    pub const ALBM: BoxCode = BoxCode::new(*b"albm");
1883    /// Alpha mode (straight vs premultiplied alpha) signaling
1884    ///
1885    /// FourCC: `almo`
1886    ///
1887    /// Specification: _Apple_
1888    ///
1889    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1890    pub const ALMO: BoxCode = BoxCode::new(*b"almo");
1891    /// Album loudness base
1892    ///
1893    /// FourCC: `alou`
1894    ///
1895    /// Specification: _ISO_
1896    pub const ALOU: BoxCode = BoxCode::new(*b"alou");
1897    /// Ambient viewing environment
1898    ///
1899    /// FourCC: `amve`
1900    ///
1901    /// Specification: _ISO_
1902    ///
1903    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1904    pub const AMVE: BoxCode = BoxCode::new(*b"amve");
1905    /// Name of the camera angle through which the clip was shot
1906    ///
1907    /// FourCC: `angl`
1908    ///
1909    /// Specification: _Apple_
1910    pub const ANGL: BoxCode = BoxCode::new(*b"angl");
1911    /// APV Codec Configuration Box
1912    ///
1913    /// FourCC: `apvC`
1914    ///
1915    /// Specification: _OpenAPV_
1916    ///
1917    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1918    pub const APVC: BoxCode = BoxCode::new(*b"apvC");
1919    /// audio rendering indication
1920    ///
1921    /// FourCC: `ardi`
1922    ///
1923    /// Specification: _ISO_
1924    pub const ARDI: BoxCode = BoxCode::new(*b"ardi");
1925    /// alternative startup sequence properties
1926    ///
1927    /// FourCC: `assp`
1928    ///
1929    /// Specification: _ISO_
1930    pub const ASSP: BoxCode = BoxCode::new(*b"assp");
1931    /// Author of the media
1932    ///
1933    /// FourCC: `auth`
1934    ///
1935    /// Specification: _3GPP_
1936    pub const AUTH: BoxCode = BoxCode::new(*b"auth");
1937    /// Auxiliary track type information
1938    ///
1939    /// FourCC: `auxi`
1940    ///
1941    /// Specification: _HEIF_
1942    ///
1943    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1944    pub const AUXI: BoxCode = BoxCode::new(*b"auxi");
1945    /// AOM Video Codec Configuration
1946    ///
1947    /// FourCC: `av1C`
1948    ///
1949    /// Specification: _AV1-ISOBMFF_
1950    ///
1951    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1952    pub const AV1C: BoxCode = BoxCode::new(*b"av1C");
1953    /// AVC Configuration
1954    ///
1955    /// FourCC: `avcC`
1956    ///
1957    /// Specification: _NALu Video_
1958    ///
1959    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
1960    pub const AVCC: BoxCode = BoxCode::new(*b"avcC");
1961    /// AVC NAL Unit Storage Box
1962    ///
1963    /// FourCC: `avcn`
1964    ///
1965    /// Specification: _DECE_
1966    pub const AVCN: BoxCode = BoxCode::new(*b"avcn");
1967    /// Box Index
1968    ///
1969    /// FourCC: `bidx`
1970    ///
1971    /// Specification: _ISO-Partial_
1972    pub const BIDX: BoxCode = BoxCode::new(*b"bidx");
1973    /// Base location and purchase location for license acquisition
1974    ///
1975    /// FourCC: `bloc`
1976    ///
1977    /// Specification: _DECE_
1978    pub const BLOC: BoxCode = BoxCode::new(*b"bloc");
1979    /// Buffer Model Description
1980    ///
1981    /// FourCC: `bmdm`
1982    ///
1983    /// Specification: _JPXS_
1984    pub const BMDM: BoxCode = BoxCode::new(*b"bmdm");
1985    /// Bits per component
1986    ///
1987    /// FourCC: `bpcc`
1988    ///
1989    /// Specification: _JPEG2000_
1990    pub const BPCC: BoxCode = BoxCode::new(*b"bpcc");
1991    /// Brotli-compressed box
1992    ///
1993    /// FourCC: `brob`
1994    ///
1995    /// Specification: _JPEG XL_
1996    pub const BROB: BoxCode = BoxCode::new(*b"brob");
1997    /// Bit-rate information
1998    ///
1999    /// FourCC: `btrt`
2000    ///
2001    /// Specification: _ISO_
2002    ///
2003    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2004    pub const BTRT: BoxCode = BoxCode::new(*b"btrt");
2005    /// Buffering information
2006    ///
2007    /// FourCC: `buff`
2008    ///
2009    /// Specification: _NALu Video_
2010    pub const BUFF: BoxCode = BoxCode::new(*b"buff");
2011    /// binary XML container
2012    ///
2013    /// FourCC: `bxml`
2014    ///
2015    /// Specification: _ISO_
2016    pub const BXML: BoxCode = BoxCode::new(*b"bxml");
2017    /// OMA DRM Content ID
2018    ///
2019    /// FourCC: `ccid`
2020    ///
2021    /// Specification: _OMA DRM 2.1_
2022    pub const CCID: BoxCode = BoxCode::new(*b"ccid");
2023    /// Content colour volume
2024    ///
2025    /// FourCC: `cclv`
2026    ///
2027    /// Specification: _ISO_
2028    ///
2029    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2030    pub const CCLV: BoxCode = BoxCode::new(*b"cclv");
2031    /// Coding constraints box
2032    ///
2033    /// FourCC: `ccst`
2034    ///
2035    /// Specification: _HEIF_
2036    ///
2037    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2038    pub const CCST: BoxCode = BoxCode::new(*b"ccst");
2039    /// type and ordering of the components within the codestream
2040    ///
2041    /// FourCC: `cdef`
2042    ///
2043    /// Specification: _JPEG2000_
2044    pub const CDEF: BoxCode = BoxCode::new(*b"cdef");
2045    /// Channel layout
2046    ///
2047    /// FourCC: `chnl`
2048    ///
2049    /// Specification: _ISO_
2050    ///
2051    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2052    pub const CHNL: BoxCode = BoxCode::new(*b"chnl");
2053    /// complete track information
2054    ///
2055    /// FourCC: `cinf`
2056    ///
2057    /// Specification: _ISO_
2058    pub const CINF: BoxCode = BoxCode::new(*b"cinf");
2059    /// Clean aperture
2060    ///
2061    /// FourCC: `clap`
2062    ///
2063    /// Specification: _ISO_
2064    ///
2065    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2066    pub const CLAP: BoxCode = BoxCode::new(*b"clap");
2067    /// Component Reference Level
2068    ///
2069    /// FourCC: `clev`
2070    ///
2071    /// Specification: _UNCV_
2072    ///
2073    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2074    pub const CLEV: BoxCode = BoxCode::new(*b"clev");
2075    /// Name of the clip file
2076    ///
2077    /// FourCC: `clfn`
2078    ///
2079    /// Specification: _Apple_
2080    pub const CLFN: BoxCode = BoxCode::new(*b"clfn");
2081    /// Identifier of the clip
2082    ///
2083    /// FourCC: `clid`
2084    ///
2085    /// Specification: _Apple_
2086    pub const CLID: BoxCode = BoxCode::new(*b"clid");
2087    /// Visual clipping region container
2088    ///
2089    /// FourCC: `clip`
2090    ///
2091    /// Specification: _QT_
2092    pub const CLIP: BoxCode = BoxCode::new(*b"clip");
2093    /// Content Light Level
2094    ///
2095    /// FourCC: `clli`
2096    ///
2097    /// Specification: _ISO_
2098    ///
2099    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2100    pub const CLLI: BoxCode = BoxCode::new(*b"clli");
2101    /// Chroma Location
2102    ///
2103    /// FourCC: `cloc`
2104    ///
2105    /// Specification: _UNCV_
2106    ///
2107    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2108    pub const CLOC: BoxCode = BoxCode::new(*b"cloc");
2109    /// Classification of the media
2110    ///
2111    /// FourCC: `clsf`
2112    ///
2113    /// Specification: _3GPP_
2114    pub const CLSF: BoxCode = BoxCode::new(*b"clsf");
2115    /// mapping between a palette and codestream components
2116    ///
2117    /// FourCC: `cmap`
2118    ///
2119    /// Specification: _JPEG2000_
2120    pub const CMAP: BoxCode = BoxCode::new(*b"cmap");
2121    /// Identifier of the camera
2122    ///
2123    /// FourCC: `cmid`
2124    ///
2125    /// Specification: _Apple_
2126    pub const CMID: BoxCode = BoxCode::new(*b"cmid");
2127    /// Name that identifies the camera
2128    ///
2129    /// FourCC: `cmnm`
2130    ///
2131    /// Specification: _Apple_
2132    pub const CMNM: BoxCode = BoxCode::new(*b"cmnm");
2133    /// Component Definition
2134    ///
2135    /// FourCC: `cmpd`
2136    ///
2137    /// Specification: _UNCV_
2138    ///
2139    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2140    pub const CMPD: BoxCode = BoxCode::new(*b"cmpd");
2141    /// 64-bit chunk offset
2142    ///
2143    /// FourCC: `co64`
2144    ///
2145    /// Specification: _ISO_
2146    pub const CO64: BoxCode = BoxCode::new(*b"co64");
2147    /// composition information
2148    ///
2149    /// FourCC: `coif`
2150    ///
2151    /// Specification: _OMAF_
2152    pub const COIF: BoxCode = BoxCode::new(*b"coif");
2153    /// Content Information Box
2154    ///
2155    /// FourCC: `coin`
2156    ///
2157    /// Specification: _DECE_
2158    pub const COIN: BoxCode = BoxCode::new(*b"coin");
2159    /// Name of the collection from which the media comes
2160    ///
2161    /// FourCC: `coll`
2162    ///
2163    /// Specification: _3GPP_
2164    ///
2165    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2166    pub const COLL: BoxCode = BoxCode::new(*b"coll");
2167    /// specifies the colourspace of the image
2168    ///
2169    /// FourCC: `colr`
2170    ///
2171    /// Specification: _JPEG2000_
2172    ///
2173    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2174    pub const COLR: BoxCode = BoxCode::new(*b"colr");
2175    /// coverage information
2176    ///
2177    /// FourCC: `covi`
2178    ///
2179    /// Specification: _OMAF_
2180    pub const COVI: BoxCode = BoxCode::new(*b"covi");
2181    /// Component Palette Configuration
2182    ///
2183    /// FourCC: `cpal`
2184    ///
2185    /// Specification: _UNCV_
2186    ///
2187    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2188    pub const CPAL: BoxCode = BoxCode::new(*b"cpal");
2189    /// Component Pattern Definition
2190    ///
2191    /// FourCC: `cpat`
2192    ///
2193    /// Specification: _UNCV_
2194    ///
2195    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2196    pub const CPAT: BoxCode = BoxCode::new(*b"cpat");
2197    /// copyright etc.
2198    ///
2199    /// FourCC: `cprt`
2200    ///
2201    /// Specification: _ISO_
2202    pub const CPRT: BoxCode = BoxCode::new(*b"cprt");
2203    /// Visual clipping region definition
2204    ///
2205    /// FourCC: `crgn`
2206    ///
2207    /// Specification: _QT_
2208    pub const CRGN: BoxCode = BoxCode::new(*b"crgn");
2209    /// reserved for ClockReferenceStream header
2210    ///
2211    /// FourCC: `crhd`
2212    ///
2213    /// Specification: _MP4v2_
2214    pub const CRHD: BoxCode = BoxCode::new(*b"crhd");
2215    /// Compact sample to group used in QuickTime File Format
2216    ///
2217    /// FourCC: `csgm`
2218    ///
2219    /// Specification: _QT_
2220    pub const CSGM: BoxCode = BoxCode::new(*b"csgm");
2221    /// compact sample to group
2222    ///
2223    /// FourCC: `csgp`
2224    ///
2225    /// Specification: _ISO_
2226    pub const CSGP: BoxCode = BoxCode::new(*b"csgp");
2227    /// composition to decode timeline mapping
2228    ///
2229    /// FourCC: `cslg`
2230    ///
2231    /// Specification: _ISO_
2232    pub const CSLG: BoxCode = BoxCode::new(*b"cslg");
2233    /// corrected wall clock start time
2234    ///
2235    /// FourCC: `cstb`
2236    ///
2237    /// Specification: _ONVIF_
2238    pub const CSTB: BoxCode = BoxCode::new(*b"cstb");
2239    /// Track color-table
2240    ///
2241    /// FourCC: `ctab`
2242    ///
2243    /// Specification: _QT_
2244    pub const CTAB: BoxCode = BoxCode::new(*b"ctab");
2245    /// (composition) time to sample
2246    ///
2247    /// FourCC: `ctts`
2248    ///
2249    /// Specification: _ISO_
2250    pub const CTTS: BoxCode = BoxCode::new(*b"ctts");
2251    /// HDR Vivid Configuration
2252    ///
2253    /// FourCC: `cuvv`
2254    ///
2255    /// Specification: _UWA_
2256    ///
2257    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2258    pub const CUVV: BoxCode = BoxCode::new(*b"cuvv");
2259    /// OMA DRM Cover URI
2260    ///
2261    /// FourCC: `cvru`
2262    ///
2263    /// Specification: _OMA DRM 2.1_
2264    pub const CVRU: BoxCode = BoxCode::new(*b"cvru");
2265    /// Decoder specific info for AC-3 audio
2266    ///
2267    /// FourCC: `dac3`
2268    ///
2269    /// Specification: _ETSI AC-3_
2270    ///
2271    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2272    pub const DAC3: BoxCode = BoxCode::new(*b"dac3");
2273    /// Decoder specific info for AC-4 audio
2274    ///
2275    /// FourCC: `dac4`
2276    ///
2277    /// Specification: _ETSI AC-4_
2278    ///
2279    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2280    pub const DAC4: BoxCode = BoxCode::new(*b"dac4");
2281    /// Date and time, formatted according to ISO 8601, when the content was created. For clips captured by recording devices, this is typically the date and time when the clip’s recording started.
2282    ///
2283    /// FourCC: `date`
2284    ///
2285    /// Specification: _Apple_
2286    pub const DATE: BoxCode = BoxCode::new(*b"date");
2287    /// Decoder configuration for AVS3-P3 Codec
2288    ///
2289    /// FourCC: `dca3`
2290    ///
2291    /// Specification: _T-AI-109.7_
2292    ///
2293    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2294    pub const DCA3: BoxCode = BoxCode::new(*b"dca3");
2295    /// Marlin DCF Duration, user-data atom type
2296    ///
2297    /// FourCC: `dcfD`
2298    ///
2299    /// Specification: _OMArlin_
2300    pub const DCFD: BoxCode = BoxCode::new(*b"dcfD");
2301    /// Decoder specific info for Enhanced AC-3 audio
2302    ///
2303    /// FourCC: `dec3`
2304    ///
2305    /// Specification: _ETSI AC-3_
2306    ///
2307    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2308    pub const DEC3: BoxCode = BoxCode::new(*b"dec3");
2309    /// Free Lossless Audio Codec (FLAC) specific data
2310    ///
2311    /// FourCC: `dfLa`
2312    ///
2313    /// Specification: _FLAC_
2314    ///
2315    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2316    pub const DFLA: BoxCode = BoxCode::new(*b"dfLa");
2317    /// Default HEVC extractor constructor box
2318    ///
2319    /// FourCC: `dhec`
2320    ///
2321    /// Specification: _NALu Video_
2322    ///
2323    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2324    pub const DHEC: BoxCode = BoxCode::new(*b"dhec");
2325    /// Data Integrity Hash
2326    ///
2327    /// FourCC: `dihd`
2328    ///
2329    /// Specification: _ISO-Partial_
2330    pub const DIHD: BoxCode = BoxCode::new(*b"dihd");
2331    /// data information box, container
2332    ///
2333    /// FourCC: `dinf`
2334    ///
2335    /// Specification: _ISO_
2336    pub const DINF: BoxCode = BoxCode::new(*b"dinf");
2337    /// Data Integrity
2338    ///
2339    /// FourCC: `dint`
2340    ///
2341    /// Specification: _ISO-Partial_
2342    pub const DINT: BoxCode = BoxCode::new(*b"dint");
2343    /// Disparity Information
2344    ///
2345    /// FourCC: `disi`
2346    ///
2347    /// Specification: _UNCV_
2348    ///
2349    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2350    pub const DISI: BoxCode = BoxCode::new(*b"disi");
2351    /// Downmix instructions
2352    ///
2353    /// FourCC: `dmix`
2354    ///
2355    /// Specification: _ISO_
2356    ///
2357    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2358    pub const DMIX: BoxCode = BoxCode::new(*b"dmix");
2359    /// Decoder specific info for MLP audio
2360    ///
2361    /// FourCC: `dmlp`
2362    ///
2363    /// Specification: _Dolby MLP_
2364    ///
2365    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2366    pub const DMLP: BoxCode = BoxCode::new(*b"dmlp");
2367    /// Mastering Display Metadata
2368    ///
2369    /// FourCC: `dmon`
2370    ///
2371    /// Specification: _JPXS_
2372    pub const DMON: BoxCode = BoxCode::new(*b"dmon");
2373    /// data reference box, declares source(s) of media data in track
2374    ///
2375    /// FourCC: `dref`
2376    ///
2377    /// Specification: _ISO_
2378    pub const DREF: BoxCode = BoxCode::new(*b"dref");
2379    /// Media description
2380    ///
2381    /// FourCC: `dscp`
2382    ///
2383    /// Specification: _3GPP_
2384    pub const DSCP: BoxCode = BoxCode::new(*b"dscp");
2385    /// DVB Sample Group Description Box
2386    ///
2387    /// FourCC: `dsgd`
2388    ///
2389    /// Specification: _DVB_
2390    pub const DSGD: BoxCode = BoxCode::new(*b"dsgd");
2391    /// DVB Sample to Group Box
2392    ///
2393    /// FourCC: `dstg`
2394    ///
2395    /// Specification: _DVB_
2396    pub const DSTG: BoxCode = BoxCode::new(*b"dstg");
2397    /// Dolby Vision Configuration
2398    ///
2399    /// FourCC: `dvcC`
2400    ///
2401    /// Specification: _Dolby Vision_
2402    ///
2403    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2404    pub const DVCC: BoxCode = BoxCode::new(*b"dvcC");
2405    /// Dolby Vision Extended Configuration
2406    ///
2407    /// FourCC: `dvvC`
2408    ///
2409    /// Specification: _Dolby Vision_
2410    ///
2411    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2412    pub const DVVC: BoxCode = BoxCode::new(*b"dvvC");
2413    /// Dolby Vision Extended Configuration 2
2414    ///
2415    /// FourCC: `dvwC`
2416    ///
2417    /// Specification: _Dolby Vision_
2418    ///
2419    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2420    pub const DVWC: BoxCode = BoxCode::new(*b"dvwC");
2421    /// Extrinsic camera parameters
2422    ///
2423    /// FourCC: `ecam`
2424    ///
2425    /// Specification: _NALu Video_
2426    ///
2427    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2428    pub const ECAM: BoxCode = BoxCode::new(*b"ecam");
2429    /// edit list container
2430    ///
2431    /// FourCC: `edts`
2432    ///
2433    /// Specification: _ISO_
2434    pub const EDTS: BoxCode = BoxCode::new(*b"edts");
2435    /// Extended Language Tag
2436    ///
2437    /// FourCC: `elng`
2438    ///
2439    /// Specification: _QT_
2440    pub const ELNG: BoxCode = BoxCode::new(*b"elng");
2441    /// an edit list
2442    ///
2443    /// FourCC: `elst`
2444    ///
2445    /// Specification: _ISO_
2446    pub const ELST: BoxCode = BoxCode::new(*b"elst");
2447    /// event message
2448    ///
2449    /// FourCC: `emsg`
2450    ///
2451    /// Specification: _DASH_
2452    pub const EMSG: BoxCode = BoxCode::new(*b"emsg");
2453    /// Elementary stream descriptor
2454    ///
2455    /// FourCC: `esds`
2456    ///
2457    /// Specification: _MP4v2_
2458    ///
2459    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2460    pub const ESDS: BoxCode = BoxCode::new(*b"esds");
2461    /// extended type and type combination
2462    ///
2463    /// FourCC: `etyp`
2464    ///
2465    /// Specification: _ISO_
2466    pub const ETYP: BoxCode = BoxCode::new(*b"etyp");
2467    /// EVC configuration
2468    ///
2469    /// FourCC: `evcC`
2470    ///
2471    /// Specification: _NALu Video_
2472    ///
2473    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2474    pub const EVCC: BoxCode = BoxCode::new(*b"evcC");
2475    /// Configuration for EVC slice component track
2476    ///
2477    /// FourCC: `evsC`
2478    ///
2479    /// Specification: _NALu Video_
2480    ///
2481    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2482    pub const EVSC: BoxCode = BoxCode::new(*b"evsC");
2483    /// Event information
2484    ///
2485    /// FourCC: `evti`
2486    ///
2487    /// Specification: _ATSC 3.0 A337_
2488    pub const EVTI: BoxCode = BoxCode::new(*b"evti");
2489    /// File delivery information (item info extension)
2490    ///
2491    /// FourCC: `fdel`
2492    ///
2493    /// Specification: _ISO_
2494    pub const FDEL: BoxCode = BoxCode::new(*b"fdel");
2495    /// FEC Informatiom
2496    ///
2497    /// FourCC: `feci`
2498    ///
2499    /// Specification: _ISO_
2500    pub const FECI: BoxCode = BoxCode::new(*b"feci");
2501    /// FEC Reservoir
2502    ///
2503    /// FourCC: `fecr`
2504    ///
2505    /// Specification: _ISO_
2506    pub const FECR: BoxCode = BoxCode::new(*b"fecr");
2507    /// Box File Index
2508    ///
2509    /// FourCC: `fidx`
2510    ///
2511    /// Specification: _ISO-Partial_
2512    pub const FIDX: BoxCode = BoxCode::new(*b"fidx");
2513    /// Field Coding
2514    ///
2515    /// FourCC: `fiel`
2516    ///
2517    /// Specification: _MJ2_
2518    ///
2519    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2520    pub const FIEL: BoxCode = BoxCode::new(*b"fiel");
2521    /// FD Item Information
2522    ///
2523    /// FourCC: `fiin`
2524    ///
2525    /// Specification: _ISO_
2526    pub const FIIN: BoxCode = BoxCode::new(*b"fiin");
2527    /// File Reservoir
2528    ///
2529    /// FourCC: `fire`
2530    ///
2531    /// Specification: _ISO_
2532    pub const FIRE: BoxCode = BoxCode::new(*b"fire");
2533    /// fisheye omnidirectional video
2534    ///
2535    /// FourCC: `fovd`
2536    ///
2537    /// Specification: _OMAF_
2538    pub const FOVD: BoxCode = BoxCode::new(*b"fovd");
2539    /// fisheye video essential info
2540    ///
2541    /// FourCC: `fovi`
2542    ///
2543    /// Specification: _OMAF_
2544    pub const FOVI: BoxCode = BoxCode::new(*b"fovi");
2545    /// Frame Packing Information
2546    ///
2547    /// FourCC: `fpac`
2548    ///
2549    /// Specification: _UNCV_
2550    ///
2551    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2552    pub const FPAC: BoxCode = BoxCode::new(*b"fpac");
2553    /// File Partition
2554    ///
2555    /// FourCC: `fpar`
2556    ///
2557    /// Specification: _ISO_
2558    pub const FPAR: BoxCode = BoxCode::new(*b"fpar");
2559    /// free space
2560    ///
2561    /// FourCC: `free`
2562    ///
2563    /// Specification: _ISO_
2564    pub const FREE: BoxCode = BoxCode::new(*b"free");
2565    /// original format box
2566    ///
2567    /// FourCC: `frma`
2568    ///
2569    /// Specification: _ISO_
2570    pub const FRMA: BoxCode = BoxCode::new(*b"frma");
2571    /// Front Part
2572    ///
2573    /// FourCC: `frpa`
2574    ///
2575    /// Specification: _ISO-Partial_
2576    pub const FRPA: BoxCode = BoxCode::new(*b"frpa");
2577    /// file type and compatibility
2578    ///
2579    /// FourCC: `ftyp`
2580    ///
2581    /// Specification: _ISO_
2582    pub const FTYP: BoxCode = BoxCode::new(*b"ftyp");
2583    /// fisheye video supplemental info
2584    ///
2585    /// FourCC: `fvsi`
2586    ///
2587    /// Specification: _OMAF_
2588    pub const FVSI: BoxCode = BoxCode::new(*b"fvsi");
2589    /// Group ID to name
2590    ///
2591    /// FourCC: `gitn`
2592    ///
2593    /// Specification: _ISO_
2594    pub const GITN: BoxCode = BoxCode::new(*b"gitn");
2595    /// Media genre
2596    ///
2597    /// FourCC: `gnre`
2598    ///
2599    /// Specification: _3GPP_
2600    pub const GNRE: BoxCode = BoxCode::new(*b"gnre");
2601    /// OMA DRM Group ID
2602    ///
2603    /// FourCC: `grpi`
2604    ///
2605    /// Specification: _OMA DRM 2.0_
2606    pub const GRPI: BoxCode = BoxCode::new(*b"grpi");
2607    /// Groups list box
2608    ///
2609    /// FourCC: `grpl`
2610    ///
2611    /// Specification: _ISO_
2612    pub const GRPL: BoxCode = BoxCode::new(*b"grpl");
2613    /// handler, declares the media (handler) type
2614    ///
2615    /// FourCC: `hdlr`
2616    ///
2617    /// Specification: _ISO_
2618    pub const HDLR: BoxCode = BoxCode::new(*b"hdlr");
2619    /// hint information
2620    ///
2621    /// FourCC: `hinf`
2622    ///
2623    /// Specification: _ISO_
2624    pub const HINF: BoxCode = BoxCode::new(*b"hinf");
2625    /// hint media header, overall information (hint track only)
2626    ///
2627    /// FourCC: `hmhd`
2628    ///
2629    /// Specification: _ISO_
2630    pub const HMHD: BoxCode = BoxCode::new(*b"hmhd");
2631    /// Hint information
2632    ///
2633    /// FourCC: `hnti`
2634    ///
2635    /// Specification: _ISO_
2636    pub const HNTI: BoxCode = BoxCode::new(*b"hnti");
2637    /// Hipix Rich Picture (user-data or meta-data)
2638    ///
2639    /// FourCC: `hpix`
2640    ///
2641    /// Specification: _Hipix_
2642    pub const HPIX: BoxCode = BoxCode::new(*b"hpix");
2643    /// HEVC Configuration
2644    ///
2645    /// FourCC: `hvcC`
2646    ///
2647    /// Specification: _NALu Video_
2648    ///
2649    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2650    pub const HVCC: BoxCode = BoxCode::new(*b"hvcC");
2651    /// HEVC Tile Configuration
2652    ///
2653    /// FourCC: `hvtC`
2654    ///
2655    /// Specification: _NALu Video_
2656    ///
2657    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2658    pub const HVTC: BoxCode = BoxCode::new(*b"hvtC");
2659    /// Intrinsic camera parameters
2660    ///
2661    /// FourCC: `icam`
2662    ///
2663    /// Specification: _NALu Video_
2664    ///
2665    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2666    pub const ICAM: BoxCode = BoxCode::new(*b"icam");
2667    /// OMA DRM Icon URI
2668    ///
2669    /// FourCC: `icnu`
2670    ///
2671    /// Specification: _OMA DRM 2.0_
2672    pub const ICNU: BoxCode = BoxCode::new(*b"icnu");
2673    /// Item data
2674    ///
2675    /// FourCC: `idat`
2676    ///
2677    /// Specification: _ISO_
2678    pub const IDAT: BoxCode = BoxCode::new(*b"idat");
2679    /// Image Header
2680    ///
2681    /// FourCC: `ihdr`
2682    ///
2683    /// Specification: _JPEG2000_
2684    pub const IHDR: BoxCode = BoxCode::new(*b"ihdr");
2685    /// item information
2686    ///
2687    /// FourCC: `iinf`
2688    ///
2689    /// Specification: _ISO_
2690    pub const IINF: BoxCode = BoxCode::new(*b"iinf");
2691    /// item location
2692    ///
2693    /// FourCC: `iloc`
2694    ///
2695    /// Specification: _ISO_
2696    pub const ILOC: BoxCode = BoxCode::new(*b"iloc");
2697    /// Track input map definition
2698    ///
2699    /// FourCC: `imap`
2700    ///
2701    /// Specification: _QT_
2702    pub const IMAP: BoxCode = BoxCode::new(*b"imap");
2703    /// Identified media data
2704    ///
2705    /// FourCC: `imda`
2706    ///
2707    /// Specification: _ISO_
2708    pub const IMDA: BoxCode = BoxCode::new(*b"imda");
2709    /// IPMP Information box
2710    ///
2711    /// FourCC: `imif`
2712    ///
2713    /// Specification: _ISO_
2714    pub const IMIF: BoxCode = BoxCode::new(*b"imif");
2715    /// Item information entry
2716    ///
2717    /// FourCC: `infe`
2718    ///
2719    /// Specification: _ISO_
2720    pub const INFE: BoxCode = BoxCode::new(*b"infe");
2721    /// OMA DRM Info URL
2722    ///
2723    /// FourCC: `infu`
2724    ///
2725    /// Specification: _OMA DRM 2.0_
2726    pub const INFU: BoxCode = BoxCode::new(*b"infu");
2727    /// Object Descriptor container box
2728    ///
2729    /// FourCC: `iods`
2730    ///
2731    /// Specification: _MP4v2_
2732    pub const IODS: BoxCode = BoxCode::new(*b"iods");
2733    /// ItemPropertyContainerBox
2734    ///
2735    /// FourCC: `ipco`
2736    ///
2737    /// Specification: _ISO_
2738    pub const IPCO: BoxCode = BoxCode::new(*b"ipco");
2739    /// reserved for IPMP Stream header
2740    ///
2741    /// FourCC: `iphd`
2742    ///
2743    /// Specification: _MP4v2_
2744    pub const IPHD: BoxCode = BoxCode::new(*b"iphd");
2745    /// ItemPropertyAssociation
2746    ///
2747    /// FourCC: `ipma`
2748    ///
2749    /// Specification: _ISO_
2750    pub const IPMA: BoxCode = BoxCode::new(*b"ipma");
2751    /// IPMP Control Box
2752    ///
2753    /// FourCC: `ipmc`
2754    ///
2755    /// Specification: _ISO_
2756    pub const IPMC: BoxCode = BoxCode::new(*b"ipmc");
2757    /// item protection
2758    ///
2759    /// FourCC: `ipro`
2760    ///
2761    /// Specification: _ISO_
2762    pub const IPRO: BoxCode = BoxCode::new(*b"ipro");
2763    /// Item Properties Box
2764    ///
2765    /// FourCC: `iprp`
2766    ///
2767    /// Specification: _ISO_
2768    pub const IPRP: BoxCode = BoxCode::new(*b"iprp");
2769    /// Item reference
2770    ///
2771    /// FourCC: `iref`
2772    ///
2773    /// Specification: _ISO_
2774    pub const IREF: BoxCode = BoxCode::new(*b"iref");
2775    /// SVC region of interest box
2776    ///
2777    /// FourCC: `iroi`
2778    ///
2779    /// Specification: _NALu Video_
2780    pub const IROI: BoxCode = BoxCode::new(*b"iroi");
2781    /// JPEG 2000 header info
2782    ///
2783    /// FourCC: `j2kH`
2784    ///
2785    /// Specification: _J2KHEIF_
2786    pub const J2KH: BoxCode = BoxCode::new(*b"j2kH");
2787    /// JPEG 2000 prefix
2788    ///
2789    /// FourCC: `j2kP`
2790    ///
2791    /// Specification: _J2KHEIF_
2792    pub const J2KP: BoxCode = BoxCode::new(*b"j2kP");
2793    /// JPEG 2000 Signature
2794    ///
2795    /// FourCC: `jP  `
2796    ///
2797    /// Specification: _JPEG2000_
2798    pub const JP: BoxCode = BoxCode::new(*b"jP  ");
2799    /// JPEG bitstream reconstruction data
2800    ///
2801    /// FourCC: `jbrd`
2802    ///
2803    /// Specification: _JPEG XL_
2804    pub const JBRD: BoxCode = BoxCode::new(*b"jbrd");
2805    /// JPEG 2000 contiguous codestream
2806    ///
2807    /// FourCC: `jp2c`
2808    ///
2809    /// Specification: _JPEG2000_
2810    pub const JP2C: BoxCode = BoxCode::new(*b"jp2c");
2811    /// Header
2812    ///
2813    /// FourCC: `jp2h`
2814    ///
2815    /// Specification: _JPEG2000_
2816    pub const JP2H: BoxCode = BoxCode::new(*b"jp2h");
2817    /// intellectual property information
2818    ///
2819    /// FourCC: `jp2i`
2820    ///
2821    /// Specification: _JPEG2000_
2822    pub const JP2I: BoxCode = BoxCode::new(*b"jp2i");
2823    /// JPEG Configuration
2824    ///
2825    /// FourCC: `jpgC`
2826    ///
2827    /// Specification: _HEIF_
2828    ///
2829    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2830    pub const JPGC: BoxCode = BoxCode::new(*b"jpgC");
2831    /// JPEG XS Video Transport Parameter
2832    ///
2833    /// FourCC: `jptp`
2834    ///
2835    /// Specification: _JPXS_
2836    pub const JPTP: BoxCode = BoxCode::new(*b"jptp");
2837    /// JPEG XS Video Information
2838    ///
2839    /// FourCC: `jpvi`
2840    ///
2841    /// Specification: _JPXS_
2842    pub const JPVI: BoxCode = BoxCode::new(*b"jpvi");
2843    /// JPEG XS Video Support
2844    ///
2845    /// FourCC: `jpvs`
2846    ///
2847    /// Specification: _JPXS_
2848    pub const JPVS: BoxCode = BoxCode::new(*b"jpvs");
2849    /// JPEG Universal Metadata Box Format (JUMBF)
2850    ///
2851    /// FourCC: `jumb`
2852    ///
2853    /// Specification: _JPEG Systems_
2854    pub const JUMB: BoxCode = BoxCode::new(*b"jumb");
2855    /// JPEG XL Codestream
2856    ///
2857    /// FourCC: `jxlc`
2858    ///
2859    /// Specification: _JPEG XL_
2860    pub const JXLC: BoxCode = BoxCode::new(*b"jxlc");
2861    /// JPEG XL Frame Index
2862    ///
2863    /// FourCC: `jxli`
2864    ///
2865    /// Specification: _JPEG XL_
2866    pub const JXLI: BoxCode = BoxCode::new(*b"jxli");
2867    /// JPEG XL Level
2868    ///
2869    /// FourCC: `jxll`
2870    ///
2871    /// Specification: _JPEG XL_
2872    pub const JXLL: BoxCode = BoxCode::new(*b"jxll");
2873    /// JPEG XL Partial Codestream
2874    ///
2875    /// FourCC: `jxlp`
2876    ///
2877    /// Specification: _JPEG XL_
2878    pub const JXLP: BoxCode = BoxCode::new(*b"jxlp");
2879    /// JPEG XS Profile and Level
2880    ///
2881    /// FourCC: `jxpl`
2882    ///
2883    /// Specification: _JPXS_
2884    pub const JXPL: BoxCode = BoxCode::new(*b"jxpl");
2885    /// Track kind
2886    ///
2887    /// FourCC: `kind`
2888    ///
2889    /// Specification: _ISO_
2890    pub const KIND: BoxCode = BoxCode::new(*b"kind");
2891    /// Compressed visual track matte
2892    ///
2893    /// FourCC: `kmat`
2894    ///
2895    /// Specification: _QT_
2896    pub const KMAT: BoxCode = BoxCode::new(*b"kmat");
2897    /// Media keywords
2898    ///
2899    /// FourCC: `kywd`
2900    ///
2901    /// Specification: _3GPP_
2902    pub const KYWD: BoxCode = BoxCode::new(*b"kywd");
2903    /// Label box
2904    ///
2905    /// FourCC: `labl`
2906    ///
2907    /// Specification: _ISO_
2908    pub const LABL: BoxCode = BoxCode::new(*b"labl");
2909    /// Tier dependency box
2910    ///
2911    /// FourCC: `ldep`
2912    ///
2913    /// Specification: _NALu Video_
2914    pub const LDEP: BoxCode = BoxCode::new(*b"ldep");
2915    /// Loudness equalization instructions
2916    ///
2917    /// FourCC: `leqi`
2918    ///
2919    /// Specification: _DRC_
2920    ///
2921    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2922    pub const LEQI: BoxCode = BoxCode::new(*b"leqi");
2923    /// Leval assignment
2924    ///
2925    /// FourCC: `leva`
2926    ///
2927    /// Specification: _ISO_
2928    pub const LEVA: BoxCode = BoxCode::new(*b"leva");
2929    /// Layered HEVC Configuration
2930    ///
2931    /// FourCC: `lhvC`
2932    ///
2933    /// Specification: _NALu Video_
2934    ///
2935    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2936    pub const LHVC: BoxCode = BoxCode::new(*b"lhvC");
2937    /// Track pre-load definitions
2938    ///
2939    /// FourCC: `load`
2940    ///
2941    /// Specification: _QT_
2942    pub const LOAD: BoxCode = BoxCode::new(*b"load");
2943    /// Media location information
2944    ///
2945    /// FourCC: `loci`
2946    ///
2947    /// Specification: _3GPP_
2948    pub const LOCI: BoxCode = BoxCode::new(*b"loci");
2949    /// Looping behavior
2950    ///
2951    /// FourCC: `loop`
2952    ///
2953    /// Specification: _WhatsApp_
2954    pub const LOOP: BoxCode = BoxCode::new(*b"loop");
2955    /// OMA DRM Lyrics URI
2956    ///
2957    /// FourCC: `lrcu`
2958    ///
2959    /// Specification: _OMA DRM 2.1_
2960    pub const LRCU: BoxCode = BoxCode::new(*b"lrcu");
2961    /// Track loudness container
2962    ///
2963    /// FourCC: `ludt`
2964    ///
2965    /// Specification: _ISO_
2966    pub const LUDT: BoxCode = BoxCode::new(*b"ludt");
2967    /// LCEVC configuration
2968    ///
2969    /// FourCC: `lvcC`
2970    ///
2971    /// Specification: _NALu Video_
2972    ///
2973    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2974    pub const LVCC: BoxCode = BoxCode::new(*b"lvcC");
2975    /// MPEG-4 descriptors
2976    ///
2977    /// FourCC: `m4ds`
2978    ///
2979    /// Specification: _NALu Video_
2980    ///
2981    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2982    pub const M4DS: BoxCode = BoxCode::new(*b"m4ds");
2983    /// reserved for MPEG7Stream header
2984    ///
2985    /// FourCC: `m7hd`
2986    ///
2987    /// Specification: _MP4v2_
2988    pub const M7HD: BoxCode = BoxCode::new(*b"m7hd");
2989    /// MPEG-H Audio scene information
2990    ///
2991    /// FourCC: `maeI`
2992    ///
2993    /// Specification: _MPEG-H_
2994    ///
2995    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
2996    pub const MAEI: BoxCode = BoxCode::new(*b"maeI");
2997    /// MPEG-H Audio multi-stream signalling
2998    ///
2999    /// FourCC: `maeM`
3000    ///
3001    /// Specification: _MPEG-H_
3002    ///
3003    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3004    pub const MAEM: BoxCode = BoxCode::new(*b"maeM");
3005    /// Manufacturer name of the camera
3006    ///
3007    /// FourCC: `manu`
3008    ///
3009    /// Specification: _Apple_
3010    pub const MANU: BoxCode = BoxCode::new(*b"manu");
3011    /// Visual track matte for compositing
3012    ///
3013    /// FourCC: `matt`
3014    ///
3015    /// Specification: _QT_
3016    pub const MATT: BoxCode = BoxCode::new(*b"matt");
3017    /// MD5IntegrityBox
3018    ///
3019    /// FourCC: `md5i`
3020    ///
3021    /// Specification: _HEIF_
3022    pub const MD5I: BoxCode = BoxCode::new(*b"md5i");
3023    /// media data container
3024    ///
3025    /// FourCC: `mdat`
3026    ///
3027    /// Specification: _ISO_
3028    pub const MDAT: BoxCode = BoxCode::new(*b"mdat");
3029    /// mastering display colour volume
3030    ///
3031    /// FourCC: `mdcv`
3032    ///
3033    /// Specification: _ISO_
3034    ///
3035    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3036    pub const MDCV: BoxCode = BoxCode::new(*b"mdcv");
3037    /// media header, overall information about the media
3038    ///
3039    /// FourCC: `mdhd`
3040    ///
3041    /// Specification: _ISO_
3042    pub const MDHD: BoxCode = BoxCode::new(*b"mdhd");
3043    /// container for the media information in a track
3044    ///
3045    /// FourCC: `mdia`
3046    ///
3047    /// Specification: _ISO_
3048    pub const MDIA: BoxCode = BoxCode::new(*b"mdia");
3049    /// Mutable DRM information
3050    ///
3051    /// FourCC: `mdri`
3052    ///
3053    /// Specification: _OMA DRM 2.0_
3054    pub const MDRI: BoxCode = BoxCode::new(*b"mdri");
3055    /// additional metadata container
3056    ///
3057    /// FourCC: `meco`
3058    ///
3059    /// Specification: _ISO_
3060    pub const MECO: BoxCode = BoxCode::new(*b"meco");
3061    /// movie extends header box
3062    ///
3063    /// FourCC: `mehd`
3064    ///
3065    /// Specification: _ISO_
3066    pub const MEHD: BoxCode = BoxCode::new(*b"mehd");
3067    /// media offset
3068    ///
3069    /// FourCC: `meof`
3070    ///
3071    /// Specification: _OMAF_
3072    pub const MEOF: BoxCode = BoxCode::new(*b"meof");
3073    /// metabox relation
3074    ///
3075    /// FourCC: `mere`
3076    ///
3077    /// Specification: _ISO_
3078    pub const MERE: BoxCode = BoxCode::new(*b"mere");
3079    /// mesh box
3080    ///
3081    /// FourCC: `mesh`
3082    ///
3083    /// Specification: _OMAF_
3084    pub const MESH: BoxCode = BoxCode::new(*b"mesh");
3085    /// Metadata container
3086    ///
3087    /// FourCC: `meta`
3088    ///
3089    /// Specification: _ISO_
3090    pub const META: BoxCode = BoxCode::new(*b"meta");
3091    /// movie fragment header
3092    ///
3093    /// FourCC: `mfhd`
3094    ///
3095    /// Specification: _ISO_
3096    pub const MFHD: BoxCode = BoxCode::new(*b"mfhd");
3097    /// Movie fragment random access
3098    ///
3099    /// FourCC: `mfra`
3100    ///
3101    /// Specification: _ISO_
3102    pub const MFRA: BoxCode = BoxCode::new(*b"mfra");
3103    /// Movie fragment random access offset
3104    ///
3105    /// FourCC: `mfro`
3106    ///
3107    /// Specification: _ISO_
3108    pub const MFRO: BoxCode = BoxCode::new(*b"mfro");
3109    /// MPEG-H Audio Decoder Configuration
3110    ///
3111    /// FourCC: `mhaC`
3112    ///
3113    /// Specification: _MPEG-H_
3114    ///
3115    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3116    pub const MHAC: BoxCode = BoxCode::new(*b"mhaC");
3117    /// MPEG-H Audio dynamic range control and loudness
3118    ///
3119    /// FourCC: `mhaD`
3120    ///
3121    /// Specification: _MPEG-H_
3122    ///
3123    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3124    pub const MHAD: BoxCode = BoxCode::new(*b"mhaD");
3125    /// MPEG-H Audio profile and level compatibility set
3126    ///
3127    /// FourCC: `mhaP`
3128    ///
3129    /// Specification: _MPEG-H_
3130    ///
3131    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3132    pub const MHAP: BoxCode = BoxCode::new(*b"mhaP");
3133    /// media information container
3134    ///
3135    /// FourCC: `minf`
3136    ///
3137    /// Specification: _ISO_
3138    pub const MINF: BoxCode = BoxCode::new(*b"minf");
3139    /// The MinimizedImageBox provides a more compact representation of the MetaBox for a subset of use cases
3140    ///
3141    /// FourCC: `mini`
3142    ///
3143    /// Specification: _HEIF_
3144    pub const MINI: BoxCode = BoxCode::new(*b"mini");
3145    /// reserved for MPEG-J Stream header
3146    ///
3147    /// FourCC: `mjhd`
3148    ///
3149    /// Specification: _MP4v2_
3150    pub const MJHD: BoxCode = BoxCode::new(*b"mjhd");
3151    /// multimap video
3152    ///
3153    /// FourCC: `mmvi`
3154    ///
3155    /// Specification: _V3C-SYS_
3156    pub const MMVI: BoxCode = BoxCode::new(*b"mmvi");
3157    /// Model name of the camera
3158    ///
3159    /// FourCC: `modl`
3160    ///
3161    /// Specification: _Apple_
3162    pub const MODL: BoxCode = BoxCode::new(*b"modl");
3163    /// movie fragment
3164    ///
3165    /// FourCC: `moof`
3166    ///
3167    /// Specification: _ISO_
3168    pub const MOOF: BoxCode = BoxCode::new(*b"moof");
3169    /// container for all the meta-data
3170    ///
3171    /// FourCC: `moov`
3172    ///
3173    /// Specification: _ISO_
3174    pub const MOOV: BoxCode = BoxCode::new(*b"moov");
3175    /// mesh omnidirectional video
3176    ///
3177    /// FourCC: `movd`
3178    ///
3179    /// Specification: _OMAF_
3180    pub const MOVD: BoxCode = BoxCode::new(*b"movd");
3181    /// MVC sub track view box
3182    ///
3183    /// FourCC: `mstv`
3184    ///
3185    /// Specification: _NALu Video_
3186    pub const MSTV: BoxCode = BoxCode::new(*b"mstv");
3187    /// MVC configuration
3188    ///
3189    /// FourCC: `mvcC`
3190    ///
3191    /// Specification: _NALu Video_
3192    ///
3193    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3194    pub const MVCC: BoxCode = BoxCode::new(*b"mvcC");
3195    /// MVC priority assignment
3196    ///
3197    /// FourCC: `mvcP`
3198    ///
3199    /// Specification: _NALu Video_
3200    ///
3201    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3202    pub const MVCP: BoxCode = BoxCode::new(*b"mvcP");
3203    /// Multiview group
3204    ///
3205    /// FourCC: `mvcg`
3206    ///
3207    /// Specification: _NALu Video_
3208    pub const MVCG: BoxCode = BoxCode::new(*b"mvcg");
3209    /// Multiview Information
3210    ///
3211    /// FourCC: `mvci`
3212    ///
3213    /// Specification: _NALu Video_
3214    pub const MVCI: BoxCode = BoxCode::new(*b"mvci");
3215    /// MVCDConfigurationBox
3216    ///
3217    /// FourCC: `mvdC`
3218    ///
3219    /// Specification: _NALu Video_
3220    ///
3221    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3222    pub const MVDC: BoxCode = BoxCode::new(*b"mvdC");
3223    /// movie extends box
3224    ///
3225    /// FourCC: `mvex`
3226    ///
3227    /// Specification: _ISO_
3228    pub const MVEX: BoxCode = BoxCode::new(*b"mvex");
3229    /// movie header, overall declarations
3230    ///
3231    /// FourCC: `mvhd`
3232    ///
3233    /// Specification: _ISO_
3234    pub const MVHD: BoxCode = BoxCode::new(*b"mvhd");
3235    /// Multiview Relation Attribute
3236    ///
3237    /// FourCC: `mvra`
3238    ///
3239    /// Specification: _NALu Video_
3240    pub const MVRA: BoxCode = BoxCode::new(*b"mvra");
3241    /// Null media header, overall information (some tracks only)
3242    ///
3243    /// FourCC: `nmhd`
3244    ///
3245    /// Specification: _ISO_
3246    pub const NMHD: BoxCode = BoxCode::new(*b"nmhd");
3247    /// reserved for ObjectContentInfoStream header
3248    ///
3249    /// FourCC: `ochd`
3250    ///
3251    /// Specification: _MP4v2_
3252    pub const OCHD: BoxCode = BoxCode::new(*b"ochd");
3253    /// OMA DRM Access Unit Format
3254    ///
3255    /// FourCC: `odaf`
3256    ///
3257    /// Specification: _OMA DRM 2.0_
3258    pub const ODAF: BoxCode = BoxCode::new(*b"odaf");
3259    /// OMA DRM Content Object
3260    ///
3261    /// FourCC: `odda`
3262    ///
3263    /// Specification: _OMA DRM 2.0_
3264    pub const ODDA: BoxCode = BoxCode::new(*b"odda");
3265    /// reserved for ObjectDescriptorStream header
3266    ///
3267    /// FourCC: `odhd`
3268    ///
3269    /// Specification: _MP4v2_
3270    pub const ODHD: BoxCode = BoxCode::new(*b"odhd");
3271    /// OMA DRM Discrete Media Headers
3272    ///
3273    /// FourCC: `odhe`
3274    ///
3275    /// Specification: _OMA DRM 2.0_
3276    pub const ODHE: BoxCode = BoxCode::new(*b"odhe");
3277    /// OMA DRM Rights Object
3278    ///
3279    /// FourCC: `odrb`
3280    ///
3281    /// Specification: _OMA DRM 2.0_
3282    pub const ODRB: BoxCode = BoxCode::new(*b"odrb");
3283    /// OMA DRM Container
3284    ///
3285    /// FourCC: `odrm`
3286    ///
3287    /// Specification: _OMA DRM 2.0_
3288    pub const ODRM: BoxCode = BoxCode::new(*b"odrm");
3289    /// OMA DRM Transaction Tracking
3290    ///
3291    /// FourCC: `odtt`
3292    ///
3293    /// Specification: _OMA DRM 2.0_
3294    pub const ODTT: BoxCode = BoxCode::new(*b"odtt");
3295    /// OMA DRM Common headers
3296    ///
3297    /// FourCC: `ohdr`
3298    ///
3299    /// Specification: _OMA DRM 2.0_
3300    pub const OHDR: BoxCode = BoxCode::new(*b"ohdr");
3301    /// Orientation information
3302    ///
3303    /// FourCC: `orie`
3304    ///
3305    /// Specification: _3GPP_
3306    pub const ORIE: BoxCode = BoxCode::new(*b"orie");
3307    /// OMAF timed text configuration
3308    ///
3309    /// FourCC: `otcf`
3310    ///
3311    /// Specification: _OMAF_
3312    pub const OTCF: BoxCode = BoxCode::new(*b"otcf");
3313    /// Original file type
3314    ///
3315    /// FourCC: `otyp`
3316    ///
3317    /// Specification: _ISO_
3318    pub const OTYP: BoxCode = BoxCode::new(*b"otyp");
3319    /// overlay configuration
3320    ///
3321    /// FourCC: `ovly`
3322    ///
3323    /// Specification: _OMAF_
3324    pub const OVLY: BoxCode = BoxCode::new(*b"ovly");
3325    /// sample padding bits
3326    ///
3327    /// FourCC: `padb`
3328    ///
3329    /// Specification: _ISO_
3330    pub const PADB: BoxCode = BoxCode::new(*b"padb");
3331    /// Partition Entry
3332    ///
3333    /// FourCC: `paen`
3334    ///
3335    /// Specification: _ISO_
3336    pub const PAEN: BoxCode = BoxCode::new(*b"paen");
3337    /// Pixel aspect ratio
3338    ///
3339    /// FourCC: `pasp`
3340    ///
3341    /// Specification: _ISO_
3342    ///
3343    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3344    pub const PASP: BoxCode = BoxCode::new(*b"pasp");
3345    /// palette which maps a single component in index space to a multiple- component image
3346    ///
3347    /// FourCC: `pclr`
3348    ///
3349    /// Specification: _JPEG2000_
3350    pub const PCLR: BoxCode = BoxCode::new(*b"pclr");
3351    /// Uncompressed audio PCM configuration
3352    ///
3353    /// FourCC: `pcmC`
3354    ///
3355    /// Specification: _ISO-UNCA_
3356    ///
3357    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3358    pub const PCMC: BoxCode = BoxCode::new(*b"pcmC");
3359    /// Partial Data
3360    ///
3361    /// FourCC: `pdat`
3362    ///
3363    /// Specification: _ISO-Partial_
3364    pub const PDAT: BoxCode = BoxCode::new(*b"pdat");
3365    /// Parametric DRC coefficients
3366    ///
3367    /// FourCC: `pdc1`
3368    ///
3369    /// Specification: _DRC_
3370    ///
3371    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3372    pub const PDC1: BoxCode = BoxCode::new(*b"pdc1");
3373    /// Parametric DRC instructions
3374    ///
3375    /// FourCC: `pdi1`
3376    ///
3377    /// Specification: _DRC_
3378    ///
3379    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3380    pub const PDI1: BoxCode = BoxCode::new(*b"pdi1");
3381    /// Progressive download information
3382    ///
3383    /// FourCC: `pdin`
3384    ///
3385    /// Specification: _ISO_
3386    pub const PDIN: BoxCode = BoxCode::new(*b"pdin");
3387    /// Media performer name
3388    ///
3389    /// FourCC: `perf`
3390    ///
3391    /// Specification: _3GPP_
3392    pub const PERF: BoxCode = BoxCode::new(*b"perf");
3393    /// Partial File Header
3394    ///
3395    /// FourCC: `pfhd`
3396    ///
3397    /// Specification: _ISO-Partial_
3398    pub const PFHD: BoxCode = BoxCode::new(*b"pfhd");
3399    /// Partial File
3400    ///
3401    /// FourCC: `pfil`
3402    ///
3403    /// Specification: _ISO-Partial_
3404    pub const PFIL: BoxCode = BoxCode::new(*b"pfil");
3405    /// primary item reference
3406    ///
3407    /// FourCC: `pitm`
3408    ///
3409    /// Specification: _ISO_
3410    pub const PITM: BoxCode = BoxCode::new(*b"pitm");
3411    /// Partial Segment Location
3412    ///
3413    /// FourCC: `ploc`
3414    ///
3415    /// Specification: _ISO-Partial_
3416    pub const PLOC: BoxCode = BoxCode::new(*b"ploc");
3417    /// Preview container
3418    ///
3419    /// FourCC: `pnot`
3420    ///
3421    /// Specification: _QT_
3422    pub const PNOT: BoxCode = BoxCode::new(*b"pnot");
3423    /// projected omnidirectional video
3424    ///
3425    /// FourCC: `povd`
3426    ///
3427    /// Specification: _OMAF_
3428    pub const POVD: BoxCode = BoxCode::new(*b"povd");
3429    /// projection format
3430    ///
3431    /// FourCC: `prfr`
3432    ///
3433    /// Specification: _OMAF_
3434    pub const PRFR: BoxCode = BoxCode::new(*b"prfr");
3435    /// Producer reference time
3436    ///
3437    /// FourCC: `prft`
3438    ///
3439    /// Specification: _ISO_
3440    pub const PRFT: BoxCode = BoxCode::new(*b"prft");
3441    /// Production metadata box
3442    ///
3443    /// FourCC: `prmd`
3444    ///
3445    /// Specification: _Youtube_
3446    pub const PRMD: BoxCode = BoxCode::new(*b"prmd");
3447    /// Production metadata reference box
3448    ///
3449    /// FourCC: `prmr`
3450    ///
3451    /// Specification: _Youtube_
3452    ///
3453    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3454    pub const PRMR: BoxCode = BoxCode::new(*b"prmr");
3455    /// Partial Segment
3456    ///
3457    /// FourCC: `pseg`
3458    ///
3459    /// Specification: _ISO-Partial_
3460    pub const PSEG: BoxCode = BoxCode::new(*b"pseg");
3461    /// Partial Segment Header
3462    ///
3463    /// FourCC: `pshd`
3464    ///
3465    /// Specification: _ISO-Partial_
3466    pub const PSHD: BoxCode = BoxCode::new(*b"pshd");
3467    /// Protection system specific header
3468    ///
3469    /// FourCC: `pssh`
3470    ///
3471    /// Specification: _ISO Common Encryption_
3472    pub const PSSH: BoxCode = BoxCode::new(*b"pssh");
3473    /// Partial Top Level Entry
3474    ///
3475    /// FourCC: `ptle`
3476    ///
3477    /// Specification: _ISO-Partial_
3478    pub const PTLE: BoxCode = BoxCode::new(*b"ptle");
3479    /// Layer quality assignments
3480    ///
3481    /// FourCC: `qlif`
3482    ///
3483    /// Specification: _NALu Video_
3484    ///
3485    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3486    pub const QLIF: BoxCode = BoxCode::new(*b"qlif");
3487    /// Name of the tape reel
3488    ///
3489    /// FourCC: `reel`
3490    ///
3491    /// Specification: _Apple_
3492    pub const REEL: BoxCode = BoxCode::new(*b"reel");
3493    /// grid resolution
3494    ///
3495    /// FourCC: `res `
3496    ///
3497    /// Specification: _JPEG2000_
3498    pub const RES: BoxCode = BoxCode::new(*b"res ");
3499    /// grid resolution at which the image was captured
3500    ///
3501    /// FourCC: `resc`
3502    ///
3503    /// Specification: _JPEG2000_
3504    pub const RESC: BoxCode = BoxCode::new(*b"resc");
3505    /// default grid resolution at which the image should be displayed
3506    ///
3507    /// FourCC: `resd`
3508    ///
3509    /// Specification: _JPEG2000_
3510    pub const RESD: BoxCode = BoxCode::new(*b"resd");
3511    /// restricted scheme information box
3512    ///
3513    /// FourCC: `rinf`
3514    ///
3515    /// Specification: _ISO_
3516    pub const RINF: BoxCode = BoxCode::new(*b"rinf");
3517    /// sphere region configuration
3518    ///
3519    /// FourCC: `rosc`
3520    ///
3521    /// Specification: _OMAF_
3522    pub const ROSC: BoxCode = BoxCode::new(*b"rosc");
3523    /// rotation box
3524    ///
3525    /// FourCC: `rotn`
3526    ///
3527    /// Specification: _OMAF_
3528    pub const ROTN: BoxCode = BoxCode::new(*b"rotn");
3529    /// SVC rect region box
3530    ///
3531    /// FourCC: `rrgn`
3532    ///
3533    /// Specification: _NALu Video_
3534    pub const RRGN: BoxCode = BoxCode::new(*b"rrgn");
3535    /// Redundant Sample Original Timing
3536    ///
3537    /// FourCC: `rsot`
3538    ///
3539    /// Specification: _ISO_
3540    pub const RSOT: BoxCode = BoxCode::new(*b"rsot");
3541    /// Media rating
3542    ///
3543    /// FourCC: `rtng`
3544    ///
3545    /// Specification: _3GPP_
3546    pub const RTNG: BoxCode = BoxCode::new(*b"rtng");
3547    /// recommended viewport information
3548    ///
3549    /// FourCC: `rvif`
3550    ///
3551    /// Specification: _OMAF_
3552    pub const RVIF: BoxCode = BoxCode::new(*b"rvif");
3553    /// region-wise packing
3554    ///
3555    /// FourCC: `rwpk`
3556    ///
3557    /// Specification: _OMAF_
3558    pub const RWPK: BoxCode = BoxCode::new(*b"rwpk");
3559    /// Sample auxiliary information offsets
3560    ///
3561    /// FourCC: `saio`
3562    ///
3563    /// Specification: _ISO_
3564    pub const SAIO: BoxCode = BoxCode::new(*b"saio");
3565    /// Sample auxiliary information sizes
3566    ///
3567    /// FourCC: `saiz`
3568    ///
3569    /// Specification: _ISO_
3570    pub const SAIZ: BoxCode = BoxCode::new(*b"saiz");
3571    /// Sample to Group box
3572    ///
3573    /// FourCC: `sbgp`
3574    ///
3575    /// Specification: _ISO_
3576    pub const SBGP: BoxCode = BoxCode::new(*b"sbgp");
3577    /// Sensor Bad Pixels Map
3578    ///
3579    /// FourCC: `sbpm`
3580    ///
3581    /// Specification: _UNCV_
3582    ///
3583    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3584    pub const SBPM: BoxCode = BoxCode::new(*b"sbpm");
3585    /// Name of the scene for which the clip was shot
3586    ///
3587    /// FourCC: `scen`
3588    ///
3589    /// Specification: _Apple_
3590    pub const SCEN: BoxCode = BoxCode::new(*b"scen");
3591    /// scheme information box
3592    ///
3593    /// FourCC: `schi`
3594    ///
3595    /// Specification: _ISO_
3596    pub const SCHI: BoxCode = BoxCode::new(*b"schi");
3597    /// scheme type box
3598    ///
3599    /// FourCC: `schm`
3600    ///
3601    /// Specification: _ISO_
3602    pub const SCHM: BoxCode = BoxCode::new(*b"schm");
3603    /// Scramble scheme information
3604    ///
3605    /// FourCC: `scrb`
3606    ///
3607    /// Specification: _ISO_
3608    ///
3609    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3610    pub const SCRB: BoxCode = BoxCode::new(*b"scrb");
3611    /// Sample dependency
3612    ///
3613    /// FourCC: `sdep`
3614    ///
3615    /// Specification: _NALu Video_
3616    pub const SDEP: BoxCode = BoxCode::new(*b"sdep");
3617    /// reserved for SceneDescriptionStream header
3618    ///
3619    /// FourCC: `sdhd`
3620    ///
3621    /// Specification: _MP4v2_
3622    pub const SDHD: BoxCode = BoxCode::new(*b"sdhd");
3623    /// SDP information
3624    ///
3625    /// FourCC: `sdp `
3626    ///
3627    /// Specification: _ISO_
3628    pub const SDP: BoxCode = BoxCode::new(*b"sdp ");
3629    /// Independent and Disposable Samples Box
3630    ///
3631    /// FourCC: `sdtp`
3632    ///
3633    /// Specification: _ISO_
3634    pub const SDTP: BoxCode = BoxCode::new(*b"sdtp");
3635    /// SD Profile Box
3636    ///
3637    /// FourCC: `sdvp`
3638    ///
3639    /// Specification: _SDV_
3640    pub const SDVP: BoxCode = BoxCode::new(*b"sdvp");
3641    /// file delivery session group
3642    ///
3643    /// FourCC: `segr`
3644    ///
3645    /// Specification: _ISO_
3646    pub const SEGR: BoxCode = BoxCode::new(*b"segr");
3647    /// Scalability information
3648    ///
3649    /// FourCC: `seib`
3650    ///
3651    /// Specification: _NALu Video_
3652    ///
3653    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3654    pub const SEIB: BoxCode = BoxCode::new(*b"seib");
3655    /// SEI information box
3656    ///
3657    /// FourCC: `seii`
3658    ///
3659    /// Specification: _NALu Video_
3660    pub const SEII: BoxCode = BoxCode::new(*b"seii");
3661    /// Sample specific encryption data
3662    ///
3663    /// FourCC: `senc`
3664    ///
3665    /// Specification: _ISO Common Encryption_
3666    pub const SENC: BoxCode = BoxCode::new(*b"senc");
3667    /// Sample group definition box
3668    ///
3669    /// FourCC: `sgpd`
3670    ///
3671    /// Specification: _ISO_
3672    pub const SGPD: BoxCode = BoxCode::new(*b"sgpd");
3673    /// Name that identifies the shot
3674    ///
3675    /// FourCC: `shot`
3676    ///
3677    /// Specification: _Apple_
3678    pub const SHOT: BoxCode = BoxCode::new(*b"shot");
3679    /// Segment Index Box
3680    ///
3681    /// FourCC: `sidx`
3682    ///
3683    /// Specification: _ISO_
3684    pub const SIDX: BoxCode = BoxCode::new(*b"sidx");
3685    /// Scheme ID list Box
3686    ///
3687    /// FourCC: `silb`
3688    ///
3689    /// Specification: _Event Message_
3690    ///
3691    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3692    pub const SILB: BoxCode = BoxCode::new(*b"silb");
3693    /// protection scheme information box
3694    ///
3695    /// FourCC: `sinf`
3696    ///
3697    /// Specification: _ISO_
3698    pub const SINF: BoxCode = BoxCode::new(*b"sinf");
3699    /// free space
3700    ///
3701    /// FourCC: `skip`
3702    ///
3703    /// Specification: _ISO_
3704    pub const SKIP: BoxCode = BoxCode::new(*b"skip");
3705    /// Serial number of the camera
3706    ///
3707    /// FourCC: `slno`
3708    ///
3709    /// Specification: _Apple_
3710    pub const SLNO: BoxCode = BoxCode::new(*b"slno");
3711    /// sound media header, overall information (sound track only)
3712    ///
3713    /// FourCC: `smhd`
3714    ///
3715    /// Specification: _ISO_
3716    pub const SMHD: BoxCode = BoxCode::new(*b"smhd");
3717    /// Sensor Non-Uniformity Correction
3718    ///
3719    /// FourCC: `snuc`
3720    ///
3721    /// Specification: _UNCV_
3722    ///
3723    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3724    pub const SNUC: BoxCode = BoxCode::new(*b"snuc");
3725    /// Sample packing information box
3726    ///
3727    /// FourCC: `spki`
3728    ///
3729    /// Specification: _ISO_
3730    pub const SPKI: BoxCode = BoxCode::new(*b"spki");
3731    /// Polarization Pattern Definition
3732    ///
3733    /// FourCC: `splz`
3734    ///
3735    /// Specification: _UNCV_
3736    ///
3737    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3738    pub const SPLZ: BoxCode = BoxCode::new(*b"splz");
3739    /// sub-picture region
3740    ///
3741    /// FourCC: `sprg`
3742    ///
3743    /// Specification: _OMAF_
3744    pub const SPRG: BoxCode = BoxCode::new(*b"sprg");
3745    /// Sampling rate
3746    ///
3747    /// FourCC: `srat`
3748    ///
3749    /// Specification: _ISO_
3750    ///
3751    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3752    pub const SRAT: BoxCode = BoxCode::new(*b"srat");
3753    /// System Renewability Message
3754    ///
3755    /// FourCC: `srmb`
3756    ///
3757    /// Specification: _DVB_
3758    pub const SRMB: BoxCode = BoxCode::new(*b"srmb");
3759    /// System Renewability Message container
3760    ///
3761    /// FourCC: `srmc`
3762    ///
3763    /// Specification: _DVB_
3764    pub const SRMC: BoxCode = BoxCode::new(*b"srmc");
3765    /// STRP Process
3766    ///
3767    /// FourCC: `srpp`
3768    ///
3769    /// Specification: _ISO_
3770    pub const SRPP: BoxCode = BoxCode::new(*b"srpp");
3771    /// sphere region quality ranking
3772    ///
3773    /// FourCC: `srqr`
3774    ///
3775    /// Specification: _OMAF_
3776    pub const SRQR: BoxCode = BoxCode::new(*b"srqr");
3777    /// Sub-sample index
3778    ///
3779    /// FourCC: `ssix`
3780    ///
3781    /// Specification: _ISO_
3782    pub const SSIX: BoxCode = BoxCode::new(*b"ssix");
3783    /// Sub-sample Reference Table Box
3784    ///
3785    /// FourCC: `ssrt`
3786    ///
3787    /// Specification: _ISO_
3788    pub const SSRT: BoxCode = BoxCode::new(*b"ssrt");
3789    /// SVC sub track layer box
3790    ///
3791    /// FourCC: `sstl`
3792    ///
3793    /// Specification: _NALu Video_
3794    pub const SSTL: BoxCode = BoxCode::new(*b"sstl");
3795    /// sample table box, container for the time/space map
3796    ///
3797    /// FourCC: `stbl`
3798    ///
3799    /// Specification: _ISO_
3800    pub const STBL: BoxCode = BoxCode::new(*b"stbl");
3801    /// chunk offset, partial data-offset information
3802    ///
3803    /// FourCC: `stco`
3804    ///
3805    /// Specification: _ISO_
3806    pub const STCO: BoxCode = BoxCode::new(*b"stco");
3807    /// sample degradation priority
3808    ///
3809    /// FourCC: `stdp`
3810    ///
3811    /// Specification: _ISO_
3812    pub const STDP: BoxCode = BoxCode::new(*b"stdp");
3813    /// Subtitle Media Header Box
3814    ///
3815    /// FourCC: `sthd`
3816    ///
3817    /// Specification: _ISO_
3818    pub const STHD: BoxCode = BoxCode::new(*b"sthd");
3819    /// MVC sub track multiview group box
3820    ///
3821    /// FourCC: `stmg`
3822    ///
3823    /// Specification: _NALu Video_
3824    pub const STMG: BoxCode = BoxCode::new(*b"stmg");
3825    /// Sub-track definition
3826    ///
3827    /// FourCC: `strd`
3828    ///
3829    /// Specification: _ISO_
3830    pub const STRD: BoxCode = BoxCode::new(*b"strd");
3831    /// Sub-track information
3832    ///
3833    /// FourCC: `stri`
3834    ///
3835    /// Specification: _ISO_
3836    pub const STRI: BoxCode = BoxCode::new(*b"stri");
3837    /// Sub track information
3838    ///
3839    /// FourCC: `strk`
3840    ///
3841    /// Specification: _ISO_
3842    pub const STRK: BoxCode = BoxCode::new(*b"strk");
3843    /// sample-to-chunk, partial data-offset information
3844    ///
3845    /// FourCC: `stsc`
3846    ///
3847    /// Specification: _ISO_
3848    pub const STSC: BoxCode = BoxCode::new(*b"stsc");
3849    /// sample descriptions (codec types, initialization etc.)
3850    ///
3851    /// FourCC: `stsd`
3852    ///
3853    /// Specification: _ISO_
3854    pub const STSD: BoxCode = BoxCode::new(*b"stsd");
3855    /// Sub-track sample grouping
3856    ///
3857    /// FourCC: `stsg`
3858    ///
3859    /// Specification: _ISO_
3860    pub const STSG: BoxCode = BoxCode::new(*b"stsg");
3861    /// shadow sync sample table
3862    ///
3863    /// FourCC: `stsh`
3864    ///
3865    /// Specification: _ISO_
3866    pub const STSH: BoxCode = BoxCode::new(*b"stsh");
3867    /// sync sample table (random access points)
3868    ///
3869    /// FourCC: `stss`
3870    ///
3871    /// Specification: _ISO_
3872    pub const STSS: BoxCode = BoxCode::new(*b"stss");
3873    /// sample sizes (framing)
3874    ///
3875    /// FourCC: `stsz`
3876    ///
3877    /// Specification: _ISO_
3878    pub const STSZ: BoxCode = BoxCode::new(*b"stsz");
3879    /// Sub track tier box
3880    ///
3881    /// FourCC: `stti`
3882    ///
3883    /// Specification: _NALu Video_
3884    pub const STTI: BoxCode = BoxCode::new(*b"stti");
3885    /// (decoding) time-to-sample
3886    ///
3887    /// FourCC: `stts`
3888    ///
3889    /// Specification: _ISO_
3890    pub const STTS: BoxCode = BoxCode::new(*b"stts");
3891    /// Stereo Video Box
3892    ///
3893    /// FourCC: `stvi`
3894    ///
3895    /// Specification: _ISO_
3896    pub const STVI: BoxCode = BoxCode::new(*b"stvi");
3897    /// Segment Type Box
3898    ///
3899    /// FourCC: `styp`
3900    ///
3901    /// Specification: _ISO_
3902    pub const STYP: BoxCode = BoxCode::new(*b"styp");
3903    /// compact sample sizes (framing)
3904    ///
3905    /// FourCC: `stz2`
3906    ///
3907    /// Specification: _ISO_
3908    pub const STZ2: BoxCode = BoxCode::new(*b"stz2");
3909    /// Sub-sample information
3910    ///
3911    /// FourCC: `subs`
3912    ///
3913    /// Specification: _ISO_
3914    pub const SUBS: BoxCode = BoxCode::new(*b"subs");
3915    /// signer identity information
3916    ///
3917    /// FourCC: `suep`
3918    ///
3919    /// Specification: _ONVIF_
3920    pub const SUEP: BoxCode = BoxCode::new(*b"suep");
3921    /// supplemental surveillance meta information
3922    ///
3923    /// FourCC: `sumi`
3924    ///
3925    /// Specification: _MPEG-VSAF_
3926    pub const SUMI: BoxCode = BoxCode::new(*b"sumi");
3927    /// Source URL
3928    ///
3929    /// FourCC: `surl`
3930    ///
3931    /// Specification: _ISO-Partial_
3932    pub const SURL: BoxCode = BoxCode::new(*b"surl");
3933    /// SVC configuration
3934    ///
3935    /// FourCC: `svcC`
3936    ///
3937    /// Specification: _NALu Video_
3938    ///
3939    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3940    pub const SVCC: BoxCode = BoxCode::new(*b"svcC");
3941    /// SVC priority assignments
3942    ///
3943    /// FourCC: `svcP`
3944    ///
3945    /// Specification: _NALu Video_
3946    ///
3947    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3948    pub const SVCP: BoxCode = BoxCode::new(*b"svcP");
3949    /// SVC dependency range
3950    ///
3951    /// FourCC: `svdr`
3952    ///
3953    /// Specification: _NALu Video_
3954    pub const SVDR: BoxCode = BoxCode::new(*b"svdr");
3955    /// Initial parameter sets box for tiers
3956    ///
3957    /// FourCC: `svip`
3958    ///
3959    /// Specification: _NALu Video_
3960    pub const SVIP: BoxCode = BoxCode::new(*b"svip");
3961    /// SVC information configuration
3962    ///
3963    /// FourCC: `svmC`
3964    ///
3965    /// Specification: _NALu Video_
3966    ///
3967    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
3968    pub const SVMC: BoxCode = BoxCode::new(*b"svmC");
3969    /// Priority range
3970    ///
3971    /// FourCC: `svpr`
3972    ///
3973    /// Specification: _NALu Video_
3974    pub const SVPR: BoxCode = BoxCode::new(*b"svpr");
3975    /// Name and version number of the software that generated this movie
3976    ///
3977    /// FourCC: `swre`
3978    ///
3979    /// Specification: _Apple_
3980    pub const SWRE: BoxCode = BoxCode::new(*b"swre");
3981    /// Multiview Group Relation
3982    ///
3983    /// FourCC: `swtc`
3984    ///
3985    /// Specification: _NALu Video_
3986    pub const SWTC: BoxCode = BoxCode::new(*b"swtc");
3987    /// Track Encryption
3988    ///
3989    /// FourCC: `tenc`
3990    ///
3991    /// Specification: _ISO Common Encryption_
3992    pub const TENC: BoxCode = BoxCode::new(*b"tenc");
3993    /// Track fragment adjustment box
3994    ///
3995    /// FourCC: `tfad`
3996    ///
3997    /// Specification: _3GPP_
3998    pub const TFAD: BoxCode = BoxCode::new(*b"tfad");
3999    /// Track fragment decode time
4000    ///
4001    /// FourCC: `tfdt`
4002    ///
4003    /// Specification: _ISO_
4004    pub const TFDT: BoxCode = BoxCode::new(*b"tfdt");
4005    /// Track fragment header
4006    ///
4007    /// FourCC: `tfhd`
4008    ///
4009    /// Specification: _ISO_
4010    pub const TFHD: BoxCode = BoxCode::new(*b"tfhd");
4011    /// Track fragment media adjustment box
4012    ///
4013    /// FourCC: `tfma`
4014    ///
4015    /// Specification: _3GPP_
4016    pub const TFMA: BoxCode = BoxCode::new(*b"tfma");
4017    /// Track fragment radom access
4018    ///
4019    /// FourCC: `tfra`
4020    ///
4021    /// Specification: _ISO_
4022    pub const TFRA: BoxCode = BoxCode::new(*b"tfra");
4023    /// Thumbnail image of the media
4024    ///
4025    /// FourCC: `thmb`
4026    ///
4027    /// Specification: _3GPP_
4028    pub const THMB: BoxCode = BoxCode::new(*b"thmb");
4029    /// Tier Bit rate
4030    ///
4031    /// FourCC: `tibr`
4032    ///
4033    /// Specification: _NALu Video_
4034    pub const TIBR: BoxCode = BoxCode::new(*b"tibr");
4035    /// Tier Information
4036    ///
4037    /// FourCC: `tiri`
4038    ///
4039    /// Specification: _NALu Video_
4040    pub const TIRI: BoxCode = BoxCode::new(*b"tiri");
4041    /// Media title
4042    ///
4043    /// FourCC: `titl`
4044    ///
4045    /// Specification: _3GPP_
4046    pub const TITL: BoxCode = BoxCode::new(*b"titl");
4047    /// Track header, overall information about the track
4048    ///
4049    /// FourCC: `tkhd`
4050    ///
4051    /// Specification: _ISO_
4052    pub const TKHD: BoxCode = BoxCode::new(*b"tkhd");
4053    /// Track loudness base
4054    ///
4055    /// FourCC: `tlou`
4056    ///
4057    /// Specification: _ISO_
4058    pub const TLOU: BoxCode = BoxCode::new(*b"tlou");
4059    /// Track fragment
4060    ///
4061    /// FourCC: `traf`
4062    ///
4063    /// Specification: _ISO_
4064    pub const TRAF: BoxCode = BoxCode::new(*b"traf");
4065    /// container for an individual track or stream
4066    ///
4067    /// FourCC: `trak`
4068    ///
4069    /// Specification: _ISO_
4070    pub const TRAK: BoxCode = BoxCode::new(*b"trak");
4071    /// SVC lightweight transcoding
4072    ///
4073    /// FourCC: `tran`
4074    ///
4075    /// Specification: _NALu Video_
4076    pub const TRAN: BoxCode = BoxCode::new(*b"tran");
4077    /// track reference container
4078    ///
4079    /// FourCC: `tref`
4080    ///
4081    /// Specification: _ISO_
4082    pub const TREF: BoxCode = BoxCode::new(*b"tref");
4083    /// track extension properties
4084    ///
4085    /// FourCC: `trep`
4086    ///
4087    /// Specification: _ISO_
4088    pub const TREP: BoxCode = BoxCode::new(*b"trep");
4089    /// track extends defaults
4090    ///
4091    /// FourCC: `trex`
4092    ///
4093    /// Specification: _ISO_
4094    pub const TREX: BoxCode = BoxCode::new(*b"trex");
4095    /// Track grouping information
4096    ///
4097    /// FourCC: `trgr`
4098    ///
4099    /// Specification: _ISO_
4100    pub const TRGR: BoxCode = BoxCode::new(*b"trgr");
4101    /// Facilitates random access and trick play modes
4102    ///
4103    /// FourCC: `trik`
4104    ///
4105    /// Specification: _DECE_
4106    pub const TRIK: BoxCode = BoxCode::new(*b"trik");
4107    /// track fragment run
4108    ///
4109    /// FourCC: `trun`
4110    ///
4111    /// Specification: _ISO_
4112    pub const TRUN: BoxCode = BoxCode::new(*b"trun");
4113    /// Track selection
4114    ///
4115    /// FourCC: `tsel`
4116    ///
4117    /// Specification: _ISO_
4118    pub const TSEL: BoxCode = BoxCode::new(*b"tsel");
4119    /// TileSubTrackGroupBox
4120    ///
4121    /// FourCC: `tstb`
4122    ///
4123    /// Specification: _NALu Video_
4124    pub const TSTB: BoxCode = BoxCode::new(*b"tstb");
4125    /// track type and compatibility
4126    ///
4127    /// FourCC: `ttyp`
4128    ///
4129    /// Specification: _ISO_
4130    pub const TTYP: BoxCode = BoxCode::new(*b"ttyp");
4131    /// Text stream configuration
4132    ///
4133    /// FourCC: `txtC`
4134    ///
4135    /// Specification: _ISO_
4136    ///
4137    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4138    pub const TXTC: BoxCode = BoxCode::new(*b"txtC");
4139    /// type and-combination
4140    ///
4141    /// FourCC: `tyco`
4142    ///
4143    /// Specification: _ISO_
4144    pub const TYCO: BoxCode = BoxCode::new(*b"tyco");
4145    /// Basic DRC coefficients
4146    ///
4147    /// FourCC: `udc1`
4148    ///
4149    /// Specification: _DRC_
4150    ///
4151    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4152    pub const UDC1: BoxCode = BoxCode::new(*b"udc1");
4153    /// Unified DRC coefficients
4154    ///
4155    /// FourCC: `udc2`
4156    ///
4157    /// Specification: _DRC_
4158    ///
4159    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4160    pub const UDC2: BoxCode = BoxCode::new(*b"udc2");
4161    /// Unified DRC configuration extension
4162    ///
4163    /// FourCC: `udex`
4164    ///
4165    /// Specification: _DRC_
4166    ///
4167    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4168    pub const UDEX: BoxCode = BoxCode::new(*b"udex");
4169    /// Basic DRC instructions
4170    ///
4171    /// FourCC: `udi1`
4172    ///
4173    /// Specification: _DRC_
4174    ///
4175    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4176    pub const UDI1: BoxCode = BoxCode::new(*b"udi1");
4177    /// Unified DRC instructions
4178    ///
4179    /// FourCC: `udi2`
4180    ///
4181    /// Specification: _DRC_
4182    ///
4183    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4184    pub const UDI2: BoxCode = BoxCode::new(*b"udi2");
4185    /// user-data
4186    ///
4187    /// FourCC: `udta`
4188    ///
4189    /// Specification: _ISO_
4190    pub const UDTA: BoxCode = BoxCode::new(*b"udta");
4191    /// Equalization coefficients
4192    ///
4193    /// FourCC: `ueqc`
4194    ///
4195    /// Specification: _DRC_
4196    ///
4197    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4198    pub const UEQC: BoxCode = BoxCode::new(*b"ueqc");
4199    /// Equalization instructions
4200    ///
4201    /// FourCC: `ueqi`
4202    ///
4203    /// Specification: _DRC_
4204    ///
4205    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4206    pub const UEQI: BoxCode = BoxCode::new(*b"ueqi");
4207    /// a tool by which a vendor may provide access to additional information associated with a UUID
4208    ///
4209    /// FourCC: `uinf`
4210    ///
4211    /// Specification: _JPEG2000_
4212    pub const UINF: BoxCode = BoxCode::new(*b"uinf");
4213    /// a list of UUID’s
4214    ///
4215    /// FourCC: `ulst`
4216    ///
4217    /// Specification: _JPEG2000_
4218    pub const ULST: BoxCode = BoxCode::new(*b"ulst");
4219    /// Uncompressed Frame Configuration
4220    ///
4221    /// FourCC: `uncC`
4222    ///
4223    /// Specification: _UNCV_
4224    ///
4225    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4226    pub const UNCC: BoxCode = BoxCode::new(*b"uncC");
4227    /// User 'star' rating of the media
4228    ///
4229    /// FourCC: `urat`
4230    ///
4231    /// Specification: _3GPP_
4232    pub const URAT: BoxCode = BoxCode::new(*b"urat");
4233    /// URI Information
4234    ///
4235    /// FourCC: `uriI`
4236    ///
4237    /// Specification: _ISO_
4238    ///
4239    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4240    pub const URII: BoxCode = BoxCode::new(*b"uriI");
4241    /// a URL
4242    ///
4243    /// FourCC: `url `
4244    ///
4245    /// Specification: _JPEG2000_
4246    pub const URL: BoxCode = BoxCode::new(*b"url ");
4247    /// user-extension box
4248    ///
4249    /// FourCC: `uuid`
4250    ///
4251    /// Specification: _ISO_
4252    pub const UUID: BoxCode = BoxCode::new(*b"uuid");
4253    /// V3C Configuration
4254    ///
4255    /// FourCC: `v3cC`
4256    ///
4257    /// Specification: _V3C-SYS_
4258    ///
4259    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4260    pub const V3CC: BoxCode = BoxCode::new(*b"v3cC");
4261    /// V3C spatial region collection
4262    ///
4263    /// FourCC: `v3sc`
4264    ///
4265    /// Specification: _V3C-SYS_
4266    pub const V3SC: BoxCode = BoxCode::new(*b"v3sc");
4267    /// V3C Atlas Tile Configuration
4268    ///
4269    /// FourCC: `v3tC`
4270    ///
4271    /// Specification: _V3C-SYS_
4272    ///
4273    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4274    pub const V3TC: BoxCode = BoxCode::new(*b"v3tC");
4275    /// Video Extended Usage
4276    ///
4277    /// FourCC: `vexu`
4278    ///
4279    /// Specification: _Apple_
4280    ///
4281    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4282    pub const VEXU: BoxCode = BoxCode::new(*b"vexu");
4283    /// View priority Box
4284    ///
4285    /// FourCC: `vipr`
4286    ///
4287    /// Specification: _NALu Video_
4288    pub const VIPR: BoxCode = BoxCode::new(*b"vipr");
4289    /// WebVTT Source Label
4290    ///
4291    /// FourCC: `vlab`
4292    ///
4293    /// Specification: _ISO-Text_
4294    ///
4295    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4296    pub const VLAB: BoxCode = BoxCode::new(*b"vlab");
4297    /// video media header, overall information (video track only)
4298    ///
4299    /// FourCC: `vmhd`
4300    ///
4301    /// Specification: _ISO_
4302    pub const VMHD: BoxCode = BoxCode::new(*b"vmhd");
4303    /// Volumetric media bounding box
4304    ///
4305    /// FourCC: `vpbb`
4306    ///
4307    /// Specification: _V3C-SYS_
4308    pub const VPBB: BoxCode = BoxCode::new(*b"vpbb");
4309    /// VP9 Codec Configuration
4310    ///
4311    /// FourCC: `vpcC`
4312    ///
4313    /// Specification: _VPxx_
4314    ///
4315    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4316    pub const VPCC: BoxCode = BoxCode::new(*b"vpcC");
4317    /// View scalability information
4318    ///
4319    /// FourCC: `vsib`
4320    ///
4321    /// Specification: _NALu Video_
4322    ///
4323    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4324    pub const VSIB: BoxCode = BoxCode::new(*b"vsib");
4325    /// viewing space
4326    ///
4327    /// FourCC: `vssn`
4328    ///
4329    /// Specification: _OMAF_
4330    pub const VSSN: BoxCode = BoxCode::new(*b"vssn");
4331    /// WebVTTConfigurationBox
4332    ///
4333    /// FourCC: `vttC`
4334    ///
4335    /// Specification: _ISO-Text_
4336    ///
4337    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4338    pub const VTTC: BoxCode = BoxCode::new(*b"vttC");
4339    /// V3C unit header
4340    ///
4341    /// FourCC: `vunt`
4342    ///
4343    /// Specification: _V3C-SYS_
4344    pub const VUNT: BoxCode = BoxCode::new(*b"vunt");
4345    /// VVC video configuration
4346    ///
4347    /// FourCC: `vvcC`
4348    ///
4349    /// Specification: _NALu Video_
4350    ///
4351    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4352    pub const VVCC: BoxCode = BoxCode::new(*b"vvcC");
4353    /// volumetric visual media header
4354    ///
4355    /// FourCC: `vvhd`
4356    ///
4357    /// Specification: _ISO_
4358    pub const VVHD: BoxCode = BoxCode::new(*b"vvhd");
4359    /// VVC Network Abstraction Layer unit configuration
4360    ///
4361    /// FourCC: `vvnC`
4362    ///
4363    /// Specification: _NALu Video_
4364    ///
4365    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4366    pub const VVNC: BoxCode = BoxCode::new(*b"vvnC");
4367    /// Multiview Scene Information
4368    ///
4369    /// FourCC: `vwdi`
4370    ///
4371    /// Specification: _NALu Video_
4372    pub const VWDI: BoxCode = BoxCode::new(*b"vwdi");
4373    /// View identifier
4374    ///
4375    /// FourCC: `vwid`
4376    ///
4377    /// Specification: _NALu Video_
4378    ///
4379    /// This box appears inside sample entries. Use [`sample_entry_box_handler`] to look up the handler type.
4380    pub const VWID: BoxCode = BoxCode::new(*b"vwid");
4381    /// Expansion space reservation
4382    ///
4383    /// FourCC: `wide`
4384    ///
4385    /// Specification: _QT_
4386    pub const WIDE: BoxCode = BoxCode::new(*b"wide");
4387    /// segment position in the watermark pattern
4388    ///
4389    /// FourCC: `wmpi`
4390    ///
4391    /// Specification: _DASH-IF watermarking_
4392    pub const WMPI: BoxCode = BoxCode::new(*b"wmpi");
4393    /// a tool by which vendors can add XML formatted information
4394    ///
4395    /// FourCC: `xml `
4396    ///
4397    /// Specification: _JPEG2000_
4398    pub const XML: BoxCode = BoxCode::new(*b"xml ");
4399    /// Year when media was recorded
4400    ///
4401    /// FourCC: `yrrc`
4402    ///
4403    /// Specification: _3GPP_
4404    pub const YRRC: BoxCode = BoxCode::new(*b"yrrc");
4405}
4406impl ObjectTypeIdentifier {
4407    /// Forbidden
4408    ///
4409    /// Type value: `0x00`
4410    pub const FORBIDDEN: ObjectTypeIdentifier = ObjectTypeIdentifier(0x00);
4411    /// Systems ISO/IEC 14496-1
4412    ///
4413    /// Type value: `0x01`
4414    ///
4415    /// Specification: _MPEG-4_
4416    pub const SYSTEMS_ISO_IEC_14496_1: ObjectTypeIdentifier = ObjectTypeIdentifier(0x01);
4417    /// Systems ISO/IEC 14496-1
4418    ///
4419    /// Type value: `0x02`
4420    ///
4421    /// Specification: _MPEG-4_
4422    pub const SYSTEMS_ISO_IEC_14496_1_BIFS_V_2_CONFIG: ObjectTypeIdentifier = ObjectTypeIdentifier(
4423        0x02,
4424    );
4425    /// Interaction Stream
4426    ///
4427    /// Type value: `0x03`
4428    ///
4429    /// Specification: _MPEG-4_
4430    pub const INTERACTION_STREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(0x03);
4431    /// Extended BIFS
4432    ///
4433    /// Type value: `0x04`
4434    ///
4435    /// Specification: _MPEG-4_
4436    pub const EXTENDED_BIFS: ObjectTypeIdentifier = ObjectTypeIdentifier(0x04);
4437    /// AFX Stream
4438    ///
4439    /// Type value: `0x05`
4440    ///
4441    /// Specification: _MPEG-4_
4442    pub const AFX_STREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(0x05);
4443    /// Font Data Stream
4444    ///
4445    /// Type value: `0x06`
4446    ///
4447    /// Specification: _MPEG-4_
4448    pub const FONT_DATA_STREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(0x06);
4449    /// Synthetised Texture
4450    ///
4451    /// Type value: `0x07`
4452    ///
4453    /// Specification: _MPEG-4_
4454    pub const SYNTHETISED_TEXTURE: ObjectTypeIdentifier = ObjectTypeIdentifier(0x07);
4455    /// Text Stream
4456    ///
4457    /// Type value: `0x08`
4458    ///
4459    /// Specification: _MPEG-4_
4460    pub const TEXT_STREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(0x08);
4461    /// LASeR Stream
4462    ///
4463    /// Type value: `0x09`
4464    ///
4465    /// Specification: _MPEG-4_
4466    pub const LA_SE_R_STREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(0x09);
4467    /// Simple Aggregation Format  Stream
4468    ///
4469    /// Type value: `0x0A`
4470    ///
4471    /// Specification: _MPEG-4_
4472    pub const SIMPLE_AGGREGATION_FORMAT_STREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(
4473        0x0A,
4474    );
4475    /// Visual ISO/IEC 14496-2
4476    ///
4477    /// Type value: `0x20`
4478    ///
4479    /// Specification: _MPEG-4_
4480    pub const VISUAL_ISO_IEC_14496_2: ObjectTypeIdentifier = ObjectTypeIdentifier(0x20);
4481    /// Visual ITU-T Recommendation H.264 | ISO/IEC 14496-10
4482    ///
4483    /// Type value: `0x21`
4484    ///
4485    /// Specification: _MPEG-4_
4486    pub const VISUAL_ITU_T_RECOMMENDATION_H_264_ISO_IEC_14496_10: ObjectTypeIdentifier = ObjectTypeIdentifier(
4487        0x21,
4488    );
4489    /// Parameter Sets for ITU-T Recommendation H.264 | ISO/IEC 14496-10
4490    ///
4491    /// Type value: `0x22`
4492    ///
4493    /// Specification: _MPEG-4_
4494    pub const PARAMETER_SETS_FOR_ITU_T_RECOMMENDATION_H_264_ISO_IEC_14496_10: ObjectTypeIdentifier = ObjectTypeIdentifier(
4495        0x22,
4496    );
4497    /// Visual ISO/IEC 23008-2 | ITU-T Recommendation H.265
4498    ///
4499    /// Type value: `0x23`
4500    ///
4501    /// Specification: _MPEG-4_
4502    pub const VISUAL_ISO_IEC_23008_2_ITU_T_RECOMMENDATION_H_265: ObjectTypeIdentifier = ObjectTypeIdentifier(
4503        0x23,
4504    );
4505    /// Audio ISO/IEC 14496-3
4506    ///
4507    /// Type value: `0x40`
4508    ///
4509    /// Specification: _MPEG-4_
4510    pub const AUDIO_ISO_IEC_14496_3: ObjectTypeIdentifier = ObjectTypeIdentifier(0x40);
4511    /// Visual ISO/IEC 13818-2 Simple Profile
4512    ///
4513    /// Type value: `0x60`
4514    ///
4515    /// Specification: _MPEG-4_
4516    pub const VISUAL_ISO_IEC_13818_2_SIMPLE_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4517        0x60,
4518    );
4519    /// Visual ISO/IEC 13818-2 Main Profile
4520    ///
4521    /// Type value: `0x61`
4522    ///
4523    /// Specification: _MPEG-4_
4524    pub const VISUAL_ISO_IEC_13818_2_MAIN_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4525        0x61,
4526    );
4527    /// Visual ISO/IEC 13818-2 SNR Profile
4528    ///
4529    /// Type value: `0x62`
4530    ///
4531    /// Specification: _MPEG-4_
4532    pub const VISUAL_ISO_IEC_13818_2_SNR_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4533        0x62,
4534    );
4535    /// Visual ISO/IEC 13818-2 Spatial Profile
4536    ///
4537    /// Type value: `0x63`
4538    ///
4539    /// Specification: _MPEG-4_
4540    pub const VISUAL_ISO_IEC_13818_2_SPATIAL_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4541        0x63,
4542    );
4543    /// Visual ISO/IEC 13818-2 High Profile
4544    ///
4545    /// Type value: `0x64`
4546    ///
4547    /// Specification: _MPEG-4_
4548    pub const VISUAL_ISO_IEC_13818_2_HIGH_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4549        0x64,
4550    );
4551    /// Visual ISO/IEC 13818-2 422 Profile
4552    ///
4553    /// Type value: `0x65`
4554    ///
4555    /// Specification: _MPEG-4_
4556    pub const VISUAL_ISO_IEC_13818_2_422_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4557        0x65,
4558    );
4559    /// Audio ISO/IEC 13818-7 Main Profile
4560    ///
4561    /// Type value: `0x66`
4562    ///
4563    /// Specification: _MPEG-4_
4564    pub const AUDIO_ISO_IEC_13818_7_MAIN_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4565        0x66,
4566    );
4567    /// Audio ISO/IEC 13818-7 LowComplexity Profile
4568    ///
4569    /// Type value: `0x67`
4570    ///
4571    /// Specification: _MPEG-4_
4572    pub const AUDIO_ISO_IEC_13818_7_LOW_COMPLEXITY_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4573        0x67,
4574    );
4575    /// Audio ISO/IEC 13818-7 Scaleable Sampling Rate Profile
4576    ///
4577    /// Type value: `0x68`
4578    ///
4579    /// Specification: _MPEG-4_
4580    pub const AUDIO_ISO_IEC_13818_7_SCALEABLE_SAMPLING_RATE_PROFILE: ObjectTypeIdentifier = ObjectTypeIdentifier(
4581        0x68,
4582    );
4583    /// Audio ISO/IEC 13818-3
4584    ///
4585    /// Type value: `0x69`
4586    ///
4587    /// Specification: _MPEG-4_
4588    pub const AUDIO_ISO_IEC_13818_3: ObjectTypeIdentifier = ObjectTypeIdentifier(0x69);
4589    /// Visual ISO/IEC 11172-2
4590    ///
4591    /// Type value: `0x6A`
4592    ///
4593    /// Specification: _MPEG-4_
4594    pub const VISUAL_ISO_IEC_11172_2: ObjectTypeIdentifier = ObjectTypeIdentifier(0x6A);
4595    /// Audio ISO/IEC 11172-3
4596    ///
4597    /// Type value: `0x6B`
4598    ///
4599    /// Specification: _MPEG-4_
4600    pub const AUDIO_ISO_IEC_11172_3: ObjectTypeIdentifier = ObjectTypeIdentifier(0x6B);
4601    /// Visual ISO/IEC 10918-1
4602    ///
4603    /// Type value: `0x6C`
4604    ///
4605    /// Specification: _MPEG-4_
4606    pub const VISUAL_ISO_IEC_10918_1: ObjectTypeIdentifier = ObjectTypeIdentifier(0x6C);
4607    /// Portable Network Graphics
4608    ///
4609    /// Type value: `0x6D`
4610    ///
4611    /// Specification: _PNG_
4612    pub const PORTABLE_NETWORK_GRAPHICS: ObjectTypeIdentifier = ObjectTypeIdentifier(
4613        0x6D,
4614    );
4615    /// Visual ISO/IEC 15444-1
4616    ///
4617    /// Type value: `0x6E`
4618    ///
4619    /// Specification: _MPEG-4_
4620    pub const VISUAL_ISO_IEC_15444_1: ObjectTypeIdentifier = ObjectTypeIdentifier(0x6E);
4621    /// EVRC Voice
4622    ///
4623    /// Type value: `0xA0`
4624    ///
4625    /// Specification: _3GPP2_
4626    pub const EVRC_VOICE: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA0);
4627    /// SMV Voice
4628    ///
4629    /// Type value: `0xA1`
4630    ///
4631    /// Specification: _3GPP2_
4632    pub const SMV_VOICE: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA1);
4633    /// 3GPP2 Compact Multimedia Format
4634    ///
4635    /// Type value: `0xA2`
4636    ///
4637    /// Specification: _3GPP2_
4638    pub const THREE_GPP_2_COMPACT_MULTIMEDIA_FORMAT: ObjectTypeIdentifier = ObjectTypeIdentifier(
4639        0xA2,
4640    );
4641    /// SMPTE VC-1 Video
4642    ///
4643    /// Type value: `0xA3`
4644    ///
4645    /// Specification: _SMPTE_
4646    pub const SMPTE_VC_1_VIDEO: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA3);
4647    /// Dirac Video Coder
4648    ///
4649    /// Type value: `0xA4`
4650    ///
4651    /// Specification: _Dirac_
4652    pub const DIRAC_VIDEO_CODER: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA4);
4653    /// DRA Audio
4654    ///
4655    /// Type value: `0xA7`
4656    ///
4657    /// Specification: _DRA_
4658    pub const DRA_AUDIO: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA7);
4659    /// ITU G.719 Audio
4660    ///
4661    /// Type value: `0xA8`
4662    ///
4663    /// Specification: _ITU G.719_
4664    pub const ITU_G_719_AUDIO: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA8);
4665    /// Core Substream
4666    ///
4667    /// Type value: `0xA9`
4668    ///
4669    /// Specification: _DTS-HD_
4670    pub const CORE_SUBSTREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(0xA9);
4671    /// Core Substream + Extension Substream
4672    ///
4673    /// Type value: `0xAA`
4674    ///
4675    /// Specification: _DTS-HD_
4676    pub const CORE_SUBSTREAM_EXTENSION_SUBSTREAM: ObjectTypeIdentifier = ObjectTypeIdentifier(
4677        0xAA,
4678    );
4679    /// Extension Substream containing only XLL
4680    ///
4681    /// Type value: `0xAB`
4682    ///
4683    /// Specification: _DTS-HD_
4684    pub const EXTENSION_SUBSTREAM_CONTAINING_ONLY_XLL: ObjectTypeIdentifier = ObjectTypeIdentifier(
4685        0xAB,
4686    );
4687    /// Extension Substream containing only LBR
4688    ///
4689    /// Type value: `0xAC`
4690    ///
4691    /// Specification: _DTS-HD_
4692    pub const EXTENSION_SUBSTREAM_CONTAINING_ONLY_LBR: ObjectTypeIdentifier = ObjectTypeIdentifier(
4693        0xAC,
4694    );
4695    /// Opus audio
4696    ///
4697    /// Type value: `0xAD`
4698    ///
4699    /// Specification: _Opus_
4700    pub const OPUS_AUDIO: ObjectTypeIdentifier = ObjectTypeIdentifier(0xAD);
4701    /// Auro-Cx 3D audio
4702    ///
4703    /// Type value: `0xAF`
4704    ///
4705    /// Specification: _Auro_
4706    pub const AURO_CX_3_D_AUDIO: ObjectTypeIdentifier = ObjectTypeIdentifier(0xAF);
4707    /// RealVideo Codec 11
4708    ///
4709    /// Type value: `0xB0`
4710    ///
4711    /// Specification: _RealHD_
4712    pub const REAL_VIDEO_CODEC_11: ObjectTypeIdentifier = ObjectTypeIdentifier(0xB0);
4713    /// VP9 Video
4714    ///
4715    /// Type value: `0xB1`
4716    ///
4717    /// Specification: _VPxx_
4718    pub const VP_9_VIDEO: ObjectTypeIdentifier = ObjectTypeIdentifier(0xB1);
4719    /// DTS-UHD profile 2
4720    ///
4721    /// Type value: `0xB2`
4722    ///
4723    /// Specification: _DTS-UHD_
4724    pub const DTS_UHD_PROFILE_2: ObjectTypeIdentifier = ObjectTypeIdentifier(0xB2);
4725    /// DTS-UHD profile 3 or higher
4726    ///
4727    /// Type value: `0xB3`
4728    ///
4729    /// Specification: _DTS-UHD_
4730    pub const DTS_UHD_PROFILE_3_OR_HIGHER: ObjectTypeIdentifier = ObjectTypeIdentifier(
4731        0xB3,
4732    );
4733    /// 13K Voice
4734    ///
4735    /// Type value: `0xE1`
4736    ///
4737    /// Specification: _3GPP2_
4738    pub const ONE_3_K_VOICE: ObjectTypeIdentifier = ObjectTypeIdentifier(0xE1);
4739    /// no object type specified
4740    ///
4741    /// Type value: `0xFF`
4742    ///
4743    /// Specification: _MPEG-4_
4744    pub const NO_OBJECT_TYPE_SPECIFIED: ObjectTypeIdentifier = ObjectTypeIdentifier(
4745        0xFF,
4746    );
4747}
4748impl fmt::Debug for ObjectTypeIdentifier {
4749    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
4750        let label = match *self {
4751            ObjectTypeIdentifier::FORBIDDEN => "FORBIDDEN",
4752            ObjectTypeIdentifier::SYSTEMS_ISO_IEC_14496_1 => "SYSTEMS_ISO_IEC_14496_1",
4753            ObjectTypeIdentifier::SYSTEMS_ISO_IEC_14496_1_BIFS_V_2_CONFIG => {
4754                "SYSTEMS_ISO_IEC_14496_1_BIFS_V_2_CONFIG"
4755            }
4756            ObjectTypeIdentifier::INTERACTION_STREAM => "INTERACTION_STREAM",
4757            ObjectTypeIdentifier::EXTENDED_BIFS => "EXTENDED_BIFS",
4758            ObjectTypeIdentifier::AFX_STREAM => "AFX_STREAM",
4759            ObjectTypeIdentifier::FONT_DATA_STREAM => "FONT_DATA_STREAM",
4760            ObjectTypeIdentifier::SYNTHETISED_TEXTURE => "SYNTHETISED_TEXTURE",
4761            ObjectTypeIdentifier::TEXT_STREAM => "TEXT_STREAM",
4762            ObjectTypeIdentifier::LA_SE_R_STREAM => "LA_SE_R_STREAM",
4763            ObjectTypeIdentifier::SIMPLE_AGGREGATION_FORMAT_STREAM => {
4764                "SIMPLE_AGGREGATION_FORMAT_STREAM"
4765            }
4766            ObjectTypeIdentifier::VISUAL_ISO_IEC_14496_2 => "VISUAL_ISO_IEC_14496_2",
4767            ObjectTypeIdentifier::VISUAL_ITU_T_RECOMMENDATION_H_264_ISO_IEC_14496_10 => {
4768                "VISUAL_ITU_T_RECOMMENDATION_H_264_ISO_IEC_14496_10"
4769            }
4770            ObjectTypeIdentifier::PARAMETER_SETS_FOR_ITU_T_RECOMMENDATION_H_264_ISO_IEC_14496_10 => {
4771                "PARAMETER_SETS_FOR_ITU_T_RECOMMENDATION_H_264_ISO_IEC_14496_10"
4772            }
4773            ObjectTypeIdentifier::VISUAL_ISO_IEC_23008_2_ITU_T_RECOMMENDATION_H_265 => {
4774                "VISUAL_ISO_IEC_23008_2_ITU_T_RECOMMENDATION_H_265"
4775            }
4776            ObjectTypeIdentifier::AUDIO_ISO_IEC_14496_3 => "AUDIO_ISO_IEC_14496_3",
4777            ObjectTypeIdentifier::VISUAL_ISO_IEC_13818_2_SIMPLE_PROFILE => {
4778                "VISUAL_ISO_IEC_13818_2_SIMPLE_PROFILE"
4779            }
4780            ObjectTypeIdentifier::VISUAL_ISO_IEC_13818_2_MAIN_PROFILE => {
4781                "VISUAL_ISO_IEC_13818_2_MAIN_PROFILE"
4782            }
4783            ObjectTypeIdentifier::VISUAL_ISO_IEC_13818_2_SNR_PROFILE => {
4784                "VISUAL_ISO_IEC_13818_2_SNR_PROFILE"
4785            }
4786            ObjectTypeIdentifier::VISUAL_ISO_IEC_13818_2_SPATIAL_PROFILE => {
4787                "VISUAL_ISO_IEC_13818_2_SPATIAL_PROFILE"
4788            }
4789            ObjectTypeIdentifier::VISUAL_ISO_IEC_13818_2_HIGH_PROFILE => {
4790                "VISUAL_ISO_IEC_13818_2_HIGH_PROFILE"
4791            }
4792            ObjectTypeIdentifier::VISUAL_ISO_IEC_13818_2_422_PROFILE => {
4793                "VISUAL_ISO_IEC_13818_2_422_PROFILE"
4794            }
4795            ObjectTypeIdentifier::AUDIO_ISO_IEC_13818_7_MAIN_PROFILE => {
4796                "AUDIO_ISO_IEC_13818_7_MAIN_PROFILE"
4797            }
4798            ObjectTypeIdentifier::AUDIO_ISO_IEC_13818_7_LOW_COMPLEXITY_PROFILE => {
4799                "AUDIO_ISO_IEC_13818_7_LOW_COMPLEXITY_PROFILE"
4800            }
4801            ObjectTypeIdentifier::AUDIO_ISO_IEC_13818_7_SCALEABLE_SAMPLING_RATE_PROFILE => {
4802                "AUDIO_ISO_IEC_13818_7_SCALEABLE_SAMPLING_RATE_PROFILE"
4803            }
4804            ObjectTypeIdentifier::AUDIO_ISO_IEC_13818_3 => "AUDIO_ISO_IEC_13818_3",
4805            ObjectTypeIdentifier::VISUAL_ISO_IEC_11172_2 => "VISUAL_ISO_IEC_11172_2",
4806            ObjectTypeIdentifier::AUDIO_ISO_IEC_11172_3 => "AUDIO_ISO_IEC_11172_3",
4807            ObjectTypeIdentifier::VISUAL_ISO_IEC_10918_1 => "VISUAL_ISO_IEC_10918_1",
4808            ObjectTypeIdentifier::PORTABLE_NETWORK_GRAPHICS => {
4809                "PORTABLE_NETWORK_GRAPHICS"
4810            }
4811            ObjectTypeIdentifier::VISUAL_ISO_IEC_15444_1 => "VISUAL_ISO_IEC_15444_1",
4812            ObjectTypeIdentifier::EVRC_VOICE => "EVRC_VOICE",
4813            ObjectTypeIdentifier::SMV_VOICE => "SMV_VOICE",
4814            ObjectTypeIdentifier::THREE_GPP_2_COMPACT_MULTIMEDIA_FORMAT => {
4815                "THREE_GPP_2_COMPACT_MULTIMEDIA_FORMAT"
4816            }
4817            ObjectTypeIdentifier::SMPTE_VC_1_VIDEO => "SMPTE_VC_1_VIDEO",
4818            ObjectTypeIdentifier::DIRAC_VIDEO_CODER => "DIRAC_VIDEO_CODER",
4819            ObjectTypeIdentifier(0xA5) => "WITHDRAWN",
4820            ObjectTypeIdentifier(0xA6) => "WITHDRAWN",
4821            ObjectTypeIdentifier::DRA_AUDIO => "DRA_AUDIO",
4822            ObjectTypeIdentifier::ITU_G_719_AUDIO => "ITU_G_719_AUDIO",
4823            ObjectTypeIdentifier::CORE_SUBSTREAM => "CORE_SUBSTREAM",
4824            ObjectTypeIdentifier::CORE_SUBSTREAM_EXTENSION_SUBSTREAM => {
4825                "CORE_SUBSTREAM_EXTENSION_SUBSTREAM"
4826            }
4827            ObjectTypeIdentifier::EXTENSION_SUBSTREAM_CONTAINING_ONLY_XLL => {
4828                "EXTENSION_SUBSTREAM_CONTAINING_ONLY_XLL"
4829            }
4830            ObjectTypeIdentifier::EXTENSION_SUBSTREAM_CONTAINING_ONLY_LBR => {
4831                "EXTENSION_SUBSTREAM_CONTAINING_ONLY_LBR"
4832            }
4833            ObjectTypeIdentifier::OPUS_AUDIO => "OPUS_AUDIO",
4834            ObjectTypeIdentifier(0xAE) => "WITHDRAWN",
4835            ObjectTypeIdentifier::AURO_CX_3_D_AUDIO => "AURO_CX_3_D_AUDIO",
4836            ObjectTypeIdentifier::REAL_VIDEO_CODEC_11 => "REAL_VIDEO_CODEC_11",
4837            ObjectTypeIdentifier::VP_9_VIDEO => "VP_9_VIDEO",
4838            ObjectTypeIdentifier::DTS_UHD_PROFILE_2 => "DTS_UHD_PROFILE_2",
4839            ObjectTypeIdentifier::DTS_UHD_PROFILE_3_OR_HIGHER => {
4840                "DTS_UHD_PROFILE_3_OR_HIGHER"
4841            }
4842            ObjectTypeIdentifier(0xc0..=0xe0) => "USER_PRIVATE",
4843            ObjectTypeIdentifier::ONE_3_K_VOICE => "ONE_3_K_VOICE",
4844            ObjectTypeIdentifier(0xe2..=0xfe) => "USER_PRIVATE",
4845            ObjectTypeIdentifier::NO_OBJECT_TYPE_SPECIFIED => "NO_OBJECT_TYPE_SPECIFIED",
4846            ObjectTypeIdentifier(_) => "RESERVED",
4847        };
4848        write!(f, "{}({:#04x})", label, self.0)
4849    }
4850}
4851impl BrandCode {
4852    /// Single intra-coded picture
4853    ///
4854    /// FourCC: `1pic`
4855    ///
4856    /// Specification: _HEIF_
4857    pub const ONE_PIC: BrandCode = BrandCode::new(*b"1pic");
4858    /// 3GPP2
4859    ///
4860    /// FourCC: `3g2a`
4861    ///
4862    /// Specification: _3GPP2_
4863    pub const THREE_G2A: BrandCode = BrandCode::new(*b"3g2a");
4864    /// 3GPP Release 6 extended-presentation Profile
4865    ///
4866    /// FourCC: `3ge6`
4867    ///
4868    /// Specification: _3GPP_
4869    pub const THREE_GE6: BrandCode = BrandCode::new(*b"3ge6");
4870    /// 3GPP Release 7 extended-presentation Profile
4871    ///
4872    /// FourCC: `3ge7`
4873    ///
4874    /// Specification: _3GPP_
4875    pub const THREE_GE7: BrandCode = BrandCode::new(*b"3ge7");
4876    /// 3GPP Release 9 Extended Presentation Profile
4877    ///
4878    /// FourCC: `3ge9`
4879    ///
4880    /// Specification: _3GPP_
4881    pub const THREE_GE9: BrandCode = BrandCode::new(*b"3ge9");
4882    /// 3GPP Release 9 File-delivery Server Profile
4883    ///
4884    /// FourCC: `3gf9`
4885    ///
4886    /// Specification: _3GPP_
4887    pub const THREE_GF9: BrandCode = BrandCode::new(*b"3gf9");
4888    /// 3GPP Release 6 General Profile
4889    ///
4890    /// FourCC: `3gg6`
4891    ///
4892    /// Specification: _3GPP_
4893    pub const THREE_GG6: BrandCode = BrandCode::new(*b"3gg6");
4894    /// 3GPP Release 9 General Profile
4895    ///
4896    /// FourCC: `3gg9`
4897    ///
4898    /// Specification: _3GPP_
4899    pub const THREE_GG9: BrandCode = BrandCode::new(*b"3gg9");
4900    /// 3GPP Release 9 Adaptive Streaming Profile
4901    ///
4902    /// FourCC: `3gh9`
4903    ///
4904    /// Specification: _3GPP_
4905    pub const THREE_GH9: BrandCode = BrandCode::new(*b"3gh9");
4906    /// 3GPP Release 9 Media Segment Profile
4907    ///
4908    /// FourCC: `3gm9`
4909    ///
4910    /// Specification: _3GPP_
4911    pub const THREE_GM9: BrandCode = BrandCode::new(*b"3gm9");
4912    /// 3GPP Media Segment conforming to the Media Segment Format for 3GP DASH
4913    ///
4914    /// FourCC: `3gmA`
4915    ///
4916    /// Specification: _3GPP-DASH_
4917    pub const THREE_GMA: BrandCode = BrandCode::new(*b"3gmA");
4918    /// 3GPP Release 4
4919    ///
4920    /// FourCC: `3gp4`
4921    ///
4922    /// Specification: _3GPP_
4923    pub const THREE_GP4: BrandCode = BrandCode::new(*b"3gp4");
4924    /// 3GPP Release 5
4925    ///
4926    /// FourCC: `3gp5`
4927    ///
4928    /// Specification: _3GPP_
4929    pub const THREE_GP5: BrandCode = BrandCode::new(*b"3gp5");
4930    /// 3GPP Release 6 basic Profile
4931    ///
4932    /// FourCC: `3gp6`
4933    ///
4934    /// Specification: _3GPP_
4935    pub const THREE_GP6: BrandCode = BrandCode::new(*b"3gp6");
4936    /// 3GPP Release 7
4937    ///
4938    /// FourCC: `3gp7`
4939    ///
4940    /// Specification: _3GPP_
4941    pub const THREE_GP7: BrandCode = BrandCode::new(*b"3gp7");
4942    /// 3GPP Release 8
4943    ///
4944    /// FourCC: `3gp8`
4945    ///
4946    /// Specification: _3GPP_
4947    pub const THREE_GP8: BrandCode = BrandCode::new(*b"3gp8");
4948    /// 3GPP Release 9 Basic Profile
4949    ///
4950    /// FourCC: `3gp9`
4951    ///
4952    /// Specification: _3GPP_
4953    pub const THREE_GP9: BrandCode = BrandCode::new(*b"3gp9");
4954    /// 3GPP Release 6 progressive-download Profile
4955    ///
4956    /// FourCC: `3gr6`
4957    ///
4958    /// Specification: _3GPP_
4959    pub const THREE_GR6: BrandCode = BrandCode::new(*b"3gr6");
4960    /// 3GPP Release 9 Progressive DownloadProfile
4961    ///
4962    /// FourCC: `3gr9`
4963    ///
4964    /// Specification: _3GPP_
4965    pub const THREE_GR9: BrandCode = BrandCode::new(*b"3gr9");
4966    /// 3GPP Release 6 streaming-server Profile
4967    ///
4968    /// FourCC: `3gs6`
4969    ///
4970    /// Specification: _3GPP_
4971    pub const THREE_GS6: BrandCode = BrandCode::new(*b"3gs6");
4972    /// 3GPP Release 9 Streaming ServerProfile
4973    ///
4974    /// FourCC: `3gs9`
4975    ///
4976    /// Specification: _3GPP_
4977    pub const THREE_GS9: BrandCode = BrandCode::new(*b"3gs9");
4978    /// 3GPP Release 8 Media Stream Recording Profile
4979    ///
4980    /// FourCC: `3gt8`
4981    ///
4982    /// Specification: _3GPP_
4983    pub const THREE_GT8: BrandCode = BrandCode::new(*b"3gt8");
4984    /// 3GPP Release 9 Media Stream Recording Profile
4985    ///
4986    /// FourCC: `3gt9`
4987    ///
4988    /// Specification: _3GPP_
4989    pub const THREE_GT9: BrandCode = BrandCode::new(*b"3gt9");
4990    /// 3GPP TV over 3GPP services
4991    ///
4992    /// FourCC: `3gtv`
4993    ///
4994    /// Specification: _3GPP-TVP_
4995    pub const THREE_GTV: BrandCode = BrandCode::new(*b"3gtv");
4996    /// 3GPP VR Presentation
4997    ///
4998    /// FourCC: `3gvr`
4999    ///
5000    /// Specification: _3GPP-VR_
5001    pub const THREE_GVR: BrandCode = BrandCode::new(*b"3gvr");
5002    /// 3GPP VR Advanced Video Media Profile
5003    ///
5004    /// FourCC: `3vra`
5005    ///
5006    /// Specification: _3GPP-VR_
5007    pub const THREE_VRA: BrandCode = BrandCode::new(*b"3vra");
5008    /// 3GPP VR Basic Video Media Profile
5009    ///
5010    /// FourCC: `3vrb`
5011    ///
5012    /// Specification: _3GPP-VR_
5013    pub const THREE_VRB: BrandCode = BrandCode::new(*b"3vrb");
5014    /// 3GPP VR Main Video Media Profile
5015    ///
5016    /// FourCC: `3vrm`
5017    ///
5018    /// Specification: _3GPP-VR_
5019    pub const THREE_VRM: BrandCode = BrandCode::new(*b"3vrm");
5020    /// Advanced tiling OMAF video profile
5021    ///
5022    /// FourCC: `adti`
5023    ///
5024    /// Specification: _OMAF_
5025    pub const ADTI: BrandCode = BrandCode::new(*b"adti");
5026    /// ID3 metadata carried as timed metadata in CMAF
5027    ///
5028    /// FourCC: `aid3`
5029    ///
5030    /// Specification: _CMAF-ID3_
5031    pub const AID3: BrandCode = BrandCode::new(*b"aid3");
5032    /// ARRI Digital Camera
5033    ///
5034    /// FourCC: `ARRI`
5035    ///
5036    /// Specification: _ARRI_
5037    pub const ARRI: BrandCode = BrandCode::new(*b"ARRI");
5038    /// AOM Video Codec
5039    ///
5040    /// FourCC: `av01`
5041    ///
5042    /// Specification: _AV1-ISOBMFF_
5043    pub const AV01: BrandCode = BrandCode::new(*b"av01");
5044    /// Advanced Video Coding extensions
5045    ///
5046    /// FourCC: `avc1`
5047    ///
5048    /// Specification: _ISO_
5049    pub const AVC1: BrandCode = BrandCode::new(*b"avc1");
5050    /// AVC image and image collection brands
5051    ///
5052    /// FourCC: `avci`
5053    ///
5054    /// Specification: _HEIF_
5055    pub const AVCI: BrandCode = BrandCode::new(*b"avci");
5056    /// AVC image sequence brands
5057    ///
5058    /// FourCC: `avcs`
5059    ///
5060    /// Specification: _HEIF_
5061    pub const AVCS: BrandCode = BrandCode::new(*b"avcs");
5062    /// AVC-based viewport-dependent OMAF video profile
5063    ///
5064    /// FourCC: `avde`
5065    ///
5066    /// Specification: _OMAF_
5067    pub const AVDE: BrandCode = BrandCode::new(*b"avde");
5068    /// AV1 image format brand
5069    ///
5070    /// FourCC: `avif`
5071    ///
5072    /// Specification: _AVIF_
5073    pub const AVIF: BrandCode = BrandCode::new(*b"avif");
5074    /// AV1 intra-only brand
5075    ///
5076    /// FourCC: `avio`
5077    ///
5078    /// Specification: _AVIF_
5079    pub const AVIO: BrandCode = BrandCode::new(*b"avio");
5080    /// AV1 image sequence brand
5081    ///
5082    /// FourCC: `avis`
5083    ///
5084    /// Specification: _AVIF_
5085    pub const AVIS: BrandCode = BrandCode::new(*b"avis");
5086    /// Blinkbox Master File: H.264 video and 16-bit little-endian LPCM audio
5087    ///
5088    /// FourCC: `bbxm`
5089    ///
5090    /// Specification: _Blinkbox_
5091    pub const BBXM: BrandCode = BrandCode::new(*b"bbxm");
5092    /// Canon Digital Camera
5093    ///
5094    /// FourCC: `CAEP`
5095    ///
5096    /// Specification: _Canon_
5097    pub const CAEP: BrandCode = BrandCode::new(*b"CAEP");
5098    /// Convergent Designs
5099    ///
5100    /// FourCC: `CDes`
5101    ///
5102    /// Specification: _Convergent_
5103    pub const CDES: BrandCode = BrandCode::new(*b"CDes");
5104    /// CMAF Media Profile - AC-4 Main
5105    ///
5106    /// FourCC: `ca4m`
5107    ///
5108    /// Specification: _ETSI AC-4_
5109    pub const CA4M: BrandCode = BrandCode::new(*b"ca4m");
5110    /// CMAF Media Profile - AC-4 Single Stream
5111    ///
5112    /// FourCC: `ca4s`
5113    ///
5114    /// Specification: _ETSI AC-4_
5115    pub const CA4S: BrandCode = BrandCode::new(*b"ca4s");
5116    /// CMAF Media Profile - AAC Adaptive Audio
5117    ///
5118    /// FourCC: `caaa`
5119    ///
5120    /// Specification: _CMAF_
5121    pub const CAAA: BrandCode = BrandCode::new(*b"caaa");
5122    /// CMAF Media Profile - AAC Core
5123    ///
5124    /// FourCC: `caac`
5125    ///
5126    /// Specification: _CMAF_
5127    pub const CAAC: BrandCode = BrandCode::new(*b"caac");
5128    /// CMAF Media Profile for OMAF 3D audio baseline profile
5129    ///
5130    /// FourCC: `cabl`
5131    ///
5132    /// Specification: _OMAF_
5133    pub const CABL: BrandCode = BrandCode::new(*b"cabl");
5134    /// CMAF Media Profile - AAC multichannel adaptive audio
5135    ///
5136    /// FourCC: `cama`
5137    ///
5138    /// Specification: _CMAF_
5139    pub const CAMA: BrandCode = BrandCode::new(*b"cama");
5140    /// CMAF Media Profile - AAC multichannel audio
5141    ///
5142    /// FourCC: `camc`
5143    ///
5144    /// Specification: _CMAF_
5145    pub const CAMC: BrandCode = BrandCode::new(*b"camc");
5146    /// Casio Digital Camera
5147    ///
5148    /// FourCC: `caqv`
5149    ///
5150    /// Specification: _Casio_
5151    pub const CAQV: BrandCode = BrandCode::new(*b"caqv");
5152    /// CMAF Media Profile - MPEG-D USAC audio
5153    ///
5154    /// FourCC: `casu`
5155    ///
5156    /// Specification: _CMAF_
5157    pub const CASU: BrandCode = BrandCode::new(*b"casu");
5158    /// CMAF Supplemental Data - CEA-608/708
5159    ///
5160    /// FourCC: `ccea`
5161    ///
5162    /// Specification: _CMAF_
5163    pub const CCEA: BrandCode = BrandCode::new(*b"ccea");
5164    /// Common container file format
5165    ///
5166    /// FourCC: `ccff`
5167    ///
5168    /// Specification: _DECE_
5169    pub const CCFF: BrandCode = BrandCode::new(*b"ccff");
5170    /// CMAF Media Profile - HEVC HDR10 (chd1) with SCTE Dynamic Metadata app #1 (ST2094-10)
5171    ///
5172    /// FourCC: `cdm1`
5173    ///
5174    /// Specification: _SCTE-215-1-1b_
5175    pub const CDM1: BrandCode = BrandCode::new(*b"cdm1");
5176    /// CMAF Media Profile compatibility to HDR10+ (ST2094-40)
5177    ///
5178    /// FourCC: `cdm4`
5179    ///
5180    /// Specification: _SCTE-215-1-1b_
5181    pub const CDM4: BrandCode = BrandCode::new(*b"cdm4");
5182    /// CMAF Media Profile - Enhanced AC-3
5183    ///
5184    /// FourCC: `ceac`
5185    ///
5186    /// Specification: _ETSI AC-3_
5187    pub const CEAC: BrandCode = BrandCode::new(*b"ceac");
5188    /// CMAF Media Profile - AVC HD
5189    ///
5190    /// FourCC: `cfhd`
5191    ///
5192    /// Specification: _CMAF_
5193    pub const CFHD: BrandCode = BrandCode::new(*b"cfhd");
5194    /// CMAF Media Profile - AVC SD
5195    ///
5196    /// FourCC: `cfsd`
5197    ///
5198    /// Specification: _CMAF_
5199    pub const CFSD: BrandCode = BrandCode::new(*b"cfsd");
5200    /// CMAF Media Profile - HEVC HDR10
5201    ///
5202    /// FourCC: `chd1`
5203    ///
5204    /// Specification: _CMAF_
5205    pub const CHD1: BrandCode = BrandCode::new(*b"chd1");
5206    /// CMAF Media Profile - AVC HDHF
5207    ///
5208    /// FourCC: `chdf`
5209    ///
5210    /// Specification: _CMAF_
5211    pub const CHDF: BrandCode = BrandCode::new(*b"chdf");
5212    /// CMAF Media Profile for the HEVC-based viewport-dependent OMAF video profile
5213    ///
5214    /// FourCC: `chev`
5215    ///
5216    /// Specification: _OMAF_
5217    pub const CHEV: BrandCode = BrandCode::new(*b"chev");
5218    /// CMAF High frame rate Media Profile - HEVC HDR10H
5219    ///
5220    /// FourCC: `chd2`
5221    ///
5222    /// Specification: _CMAF_
5223    pub const CHD2: BrandCode = BrandCode::new(*b"chd2");
5224    /// CMAF Media Profile - HEVC HHD10
5225    ///
5226    /// FourCC: `chh1`
5227    ///
5228    /// Specification: _CMAF_
5229    pub const CHH1: BrandCode = BrandCode::new(*b"chh1");
5230    /// CMAF Media Profile - HEVC HHD8
5231    ///
5232    /// FourCC: `chhd`
5233    ///
5234    /// Specification: _CMAF_
5235    pub const CHHD: BrandCode = BrandCode::new(*b"chhd");
5236    /// CMAF Interlaced Media Profile - INT10
5237    ///
5238    /// FourCC: `cint`
5239    ///
5240    /// Specification: _CMAF_
5241    pub const CINT: BrandCode = BrandCode::new(*b"cint");
5242    /// CMAF Media Profile - HEVC HLG10
5243    ///
5244    /// FourCC: `clg1`
5245    ///
5246    /// Specification: _CMAF_
5247    pub const CLG1: BrandCode = BrandCode::new(*b"clg1");
5248    /// CMAF High frame rate Media Profile - HEVC HLG10H
5249    ///
5250    /// FourCC: `clg2`
5251    ///
5252    /// Specification: _CMAF_
5253    pub const CLG2: BrandCode = BrandCode::new(*b"clg2");
5254    /// CMAF Structural Brand
5255    ///
5256    /// FourCC: `cmf2`
5257    ///
5258    /// Specification: _CMAF_
5259    pub const CMF2: BrandCode = BrandCode::new(*b"cmf2");
5260    /// CMAF Structural Brand
5261    ///
5262    /// FourCC: `cmfc`
5263    ///
5264    /// Specification: _CMAF_
5265    pub const CMFC: BrandCode = BrandCode::new(*b"cmfc");
5266    /// CMAF Fragment Format
5267    ///
5268    /// FourCC: `cmff`
5269    ///
5270    /// Specification: _CMAF_
5271    pub const CMFF: BrandCode = BrandCode::new(*b"cmff");
5272    /// CMAF Chunk Format
5273    ///
5274    /// FourCC: `cmfl`
5275    ///
5276    /// Specification: _CMAF_
5277    pub const CMFL: BrandCode = BrandCode::new(*b"cmfl");
5278    /// CMAF Segment Format
5279    ///
5280    /// FourCC: `cmfs`
5281    ///
5282    /// Specification: _CMAF_
5283    pub const CMFS: BrandCode = BrandCode::new(*b"cmfs");
5284    /// CMAF Media Profile - MPEG-H 3D audio LC (mhm2)
5285    ///
5286    /// FourCC: `cmhm`
5287    ///
5288    /// Specification: _CMAF_
5289    pub const CMHM: BrandCode = BrandCode::new(*b"cmhm");
5290    /// CMAF Media Profile - MPEG-H 3D audio LC (mhm1)
5291    ///
5292    /// FourCC: `cmhs`
5293    ///
5294    /// Specification: _CMAF_
5295    pub const CMHS: BrandCode = BrandCode::new(*b"cmhs");
5296    /// Compressed boxes
5297    ///
5298    /// FourCC: `comp`
5299    ///
5300    /// Specification: _ISO_
5301    pub const COMP: BrandCode = BrandCode::new(*b"comp");
5302    /// CMAF Media Profile - Scalable HEVC media profile
5303    ///
5304    /// FourCC: `csh1`
5305    ///
5306    /// Specification: _CMAF_
5307    pub const CSH1: BrandCode = BrandCode::new(*b"csh1");
5308    /// CMAF Media Profile - HEVC UHD10
5309    ///
5310    /// FourCC: `cud1`
5311    ///
5312    /// Specification: _CMAF_
5313    pub const CUD1: BrandCode = BrandCode::new(*b"cud1");
5314    /// CMAF High frame rate Media Profile - HEVC UHD10H
5315    ///
5316    /// FourCC: `cud2`
5317    ///
5318    /// Specification: _CMAF_
5319    pub const CUD2: BrandCode = BrandCode::new(*b"cud2");
5320    /// CMAF Media Profile - HEVC UHD8
5321    ///
5322    /// FourCC: `cud8`
5323    ///
5324    /// Specification: _CMAF_
5325    pub const CUD8: BrandCode = BrandCode::new(*b"cud8");
5326    /// CMAF High frame rate Media Profile - HEVC UHD8H
5327    ///
5328    /// FourCC: `cud9`
5329    ///
5330    /// Specification: _CMAF_
5331    pub const CUD9: BrandCode = BrandCode::new(*b"cud9");
5332    /// CMAF Media Profile for the unconstrained HEVC-based viewport-independent OMAF video profile
5333    ///
5334    /// FourCC: `cuvd`
5335    ///
5336    /// Specification: _OMAF_
5337    pub const CUVD: BrandCode = BrandCode::new(*b"cuvd");
5338    /// CMAF Media Profile for the HEVC-based viewport-independent OMAF video profile
5339    ///
5340    /// FourCC: `cvid`
5341    ///
5342    /// Specification: _OMAF_
5343    pub const CVID: BrandCode = BrandCode::new(*b"cvid");
5344    /// Baseline VVC media profile
5345    ///
5346    /// FourCC: `cvvc`
5347    ///
5348    /// Specification: _CMAF_
5349    pub const CVVC: BrandCode = BrandCode::new(*b"cvvc");
5350    /// CMAF Media Profile - WebVTT
5351    ///
5352    /// FourCC: `cwvt`
5353    ///
5354    /// Specification: _CMAF_
5355    pub const CWVT: BrandCode = BrandCode::new(*b"cwvt");
5356    /// DMB AF audio with MPEG Layer II audio, MOT slide show, DLS, JPG/PNG/MNG images
5357    ///
5358    /// FourCC: `da0a`
5359    ///
5360    /// Specification: _DMB-MAF_
5361    pub const DA0A: BrandCode = BrandCode::new(*b"da0a");
5362    /// DMB AF, extending da0a , with 3GPP timed text, DID, TVA, REL, IPMP
5363    ///
5364    /// FourCC: `da0b`
5365    ///
5366    /// Specification: _DMB-MAF_
5367    pub const DA0B: BrandCode = BrandCode::new(*b"da0b");
5368    /// DMB AF audio with ER-BSAC audio, JPG/PNG/MNG images
5369    ///
5370    /// FourCC: `da1a`
5371    ///
5372    /// Specification: _DMB-MAF_
5373    pub const DA1A: BrandCode = BrandCode::new(*b"da1a");
5374    /// DMB AF, extending da1a, with 3GPP timed text, DID, TVA, REL, IPMP
5375    ///
5376    /// FourCC: `da1b`
5377    ///
5378    /// Specification: _DMB-MAF_
5379    pub const DA1B: BrandCode = BrandCode::new(*b"da1b");
5380    /// DMB AF audio with HE-AAC v2 audio, MOT slide show, DLS, JPG/PNG/MNG images
5381    ///
5382    /// FourCC: `da2a`
5383    ///
5384    /// Specification: _DMB-MAF_
5385    pub const DA2A: BrandCode = BrandCode::new(*b"da2a");
5386    /// DMB AF extending da2a, with 3GPP timed text, DID, TVA, REL, IPMP
5387    ///
5388    /// FourCC: `da2b`
5389    ///
5390    /// Specification: _DMB-MAF_
5391    pub const DA2B: BrandCode = BrandCode::new(*b"da2b");
5392    /// DMB AF audio with HE-AAC, JPG/PNG/MNG images
5393    ///
5394    /// FourCC: `da3a`
5395    ///
5396    /// Specification: _DMB-MAF_
5397    pub const DA3A: BrandCode = BrandCode::new(*b"da3a");
5398    /// DMB AF extending da3a with BIFS, 3GPP timed text, DID, TVA, REL, IPMP
5399    ///
5400    /// FourCC: `da3b`
5401    ///
5402    /// Specification: _DMB-MAF_
5403    pub const DA3B: BrandCode = BrandCode::new(*b"da3b");
5404    /// ISO base media file format file specifically designed for DASH including movie fragments and Segment Index.
5405    ///
5406    /// FourCC: `dash`
5407    ///
5408    /// Specification: _DASH_
5409    pub const DASH: BrandCode = BrandCode::new(*b"dash");
5410    /// Dolby Vision cross-compatible with HDR10
5411    ///
5412    /// FourCC: `db1p`
5413    ///
5414    /// Specification: _Dolby_
5415    pub const DB1P: BrandCode = BrandCode::new(*b"db1p");
5416    /// Dolby Vision cross-compatible with SDR
5417    ///
5418    /// FourCC: `db2g`
5419    ///
5420    /// Specification: _Dolby_
5421    pub const DB2G: BrandCode = BrandCode::new(*b"db2g");
5422    /// Dolby Vision cross-compatible with HLG (VUI =18)
5423    ///
5424    /// FourCC: `db4h`
5425    ///
5426    /// Specification: _Dolby_
5427    pub const DB4H: BrandCode = BrandCode::new(*b"db4h");
5428    /// Dolby Vision cross-compatible with HLG (VUI=14)
5429    ///
5430    /// FourCC: `db4g`
5431    ///
5432    /// Specification: _Dolby_
5433    pub const DB4G: BrandCode = BrandCode::new(*b"db4g");
5434    /// MP4 files with Dolby content (e.g. Dolby AC-4, Dolby Digital Plus, Dolby TrueHD (Dolby MLP))
5435    ///
5436    /// FourCC: `dby1`
5437    ///
5438    /// Specification: _Dolby_
5439    pub const DBY1: BrandCode = BrandCode::new(*b"dby1");
5440    /// DMB AF supporting all the components defined in the specification
5441    ///
5442    /// FourCC: `dmb1`
5443    ///
5444    /// Specification: _DMB-MAF_
5445    pub const DMB1: BrandCode = BrandCode::new(*b"dmb1");
5446    /// Media Segment conforming to the DASH Self-Initializing Media Segment format type for ISO base media file format
5447    ///
5448    /// FourCC: `dsms`
5449    ///
5450    /// Specification: _DASH_
5451    pub const DSMS: BrandCode = BrandCode::new(*b"dsms");
5452    ///  CMAF media profile for audio codecs dtsc dtsh or dtse
5453    ///
5454    /// FourCC: `dts1`
5455    ///
5456    /// Specification: _DTS-HD_
5457    pub const DTS1: BrandCode = BrandCode::new(*b"dts1");
5458    ///  CMAF media profile for audio codec dtsx
5459    ///
5460    /// FourCC: `dts2`
5461    ///
5462    /// Specification: _DTS-UHD_
5463    pub const DTS2: BrandCode = BrandCode::new(*b"dts2");
5464    ///  CMAF media profile for audio codec dtsy
5465    ///
5466    /// FourCC: `dts3`
5467    ///
5468    /// Specification: _DTS-UHD_
5469    pub const DTS3: BrandCode = BrandCode::new(*b"dts3");
5470    /// DMB AF video with AVC video, ER-BSAC audio, BIFS, JPG/PNG/MNG images, TS
5471    ///
5472    /// FourCC: `dv1a`
5473    ///
5474    /// Specification: _DMB-MAF_
5475    pub const DV1A: BrandCode = BrandCode::new(*b"dv1a");
5476    /// DMB AF, extending dv1a, with 3GPP timed text, DID, TVA, REL, IPMP
5477    ///
5478    /// FourCC: `dv1b`
5479    ///
5480    /// Specification: _DMB-MAF_
5481    pub const DV1B: BrandCode = BrandCode::new(*b"dv1b");
5482    /// DMB AF video with AVC video, HE-AACv2 audio, BIFS, JPG/PNG/MNG images, TS
5483    ///
5484    /// FourCC: `dv2a`
5485    ///
5486    /// Specification: _DMB-MAF_
5487    pub const DV2A: BrandCode = BrandCode::new(*b"dv2a");
5488    /// DMB AF extending dv2a, with 3GPP timed text, DID, TVA, REL, IPMP
5489    ///
5490    /// FourCC: `dv2b`
5491    ///
5492    /// Specification: _DMB-MAF_
5493    pub const DV2B: BrandCode = BrandCode::new(*b"dv2b");
5494    /// DMB AF video with AVC video, HE-AAC audio, BIFS, JPG/PNG/MNG images, TS
5495    ///
5496    /// FourCC: `dv3a`
5497    ///
5498    /// Specification: _DMB-MAF_
5499    pub const DV3A: BrandCode = BrandCode::new(*b"dv3a");
5500    /// DMB AF extending dv3a with 3GPP timed text, DID, TVA, REL, IPMP
5501    ///
5502    /// FourCC: `dv3b`
5503    ///
5504    /// Specification: _DMB-MAF_
5505    pub const DV3B: BrandCode = BrandCode::new(*b"dv3b");
5506    /// DVB RTP
5507    ///
5508    /// FourCC: `dvr1`
5509    ///
5510    /// Specification: _DVB_
5511    pub const DVR1: BrandCode = BrandCode::new(*b"dvr1");
5512    /// DVB Transport Stream
5513    ///
5514    /// FourCC: `dvt1`
5515    ///
5516    /// Specification: _DVB_
5517    pub const DVT1: BrandCode = BrandCode::new(*b"dvt1");
5518    /// DxO ONE camera
5519    ///
5520    /// FourCC: `dxo `
5521    ///
5522    /// Specification: _DxO_
5523    pub const DXO: BrandCode = BrandCode::new(*b"dxo ");
5524    /// Event message box present
5525    ///
5526    /// FourCC: `emsg`
5527    ///
5528    /// Specification: _DASH_
5529    pub const EMSG: BrandCode = BrandCode::new(*b"emsg");
5530    /// EVC Baseline coded image
5531    ///
5532    /// FourCC: `evbi`
5533    ///
5534    /// Specification: _HEIF_
5535    pub const EVBI: BrandCode = BrandCode::new(*b"evbi");
5536    /// EVC Baseline coded image sequence
5537    ///
5538    /// FourCC: `evbs`
5539    ///
5540    /// Specification: _HEIF_
5541    pub const EVBS: BrandCode = BrandCode::new(*b"evbs");
5542    /// EVC Main coded image
5543    ///
5544    /// FourCC: `evmi`
5545    ///
5546    /// Specification: _HEIF_
5547    pub const EVMI: BrandCode = BrandCode::new(*b"evmi");
5548    /// EVC Main coded image sequenc
5549    ///
5550    /// FourCC: `evms`
5551    ///
5552    /// Specification: _HEIF_
5553    pub const EVMS: BrandCode = BrandCode::new(*b"evms");
5554    /// HEVC image and image collection brands
5555    ///
5556    /// FourCC: `heic`
5557    ///
5558    /// Specification: _HEIF_
5559    pub const HEIC: BrandCode = BrandCode::new(*b"heic");
5560    /// L-HEVC image and image collection brands
5561    ///
5562    /// FourCC: `heim`
5563    ///
5564    /// Specification: _HEIF_
5565    pub const HEIM: BrandCode = BrandCode::new(*b"heim");
5566    /// L-HEVC image and image collection brands
5567    ///
5568    /// FourCC: `heis`
5569    ///
5570    /// Specification: _HEIF_
5571    pub const HEIS: BrandCode = BrandCode::new(*b"heis");
5572    /// HEVC image and image collection brands
5573    ///
5574    /// FourCC: `heix`
5575    ///
5576    /// Specification: _HEIF_
5577    pub const HEIX: BrandCode = BrandCode::new(*b"heix");
5578    /// OMAF HEVC image profile
5579    ///
5580    /// FourCC: `heoi`
5581    ///
5582    /// Specification: _OMAF_
5583    pub const HEOI: BrandCode = BrandCode::new(*b"heoi");
5584    /// HEVC image sequence brands
5585    ///
5586    /// FourCC: `hevc`
5587    ///
5588    /// Specification: _HEIF_
5589    pub const HEVC: BrandCode = BrandCode::new(*b"hevc");
5590    /// HEVC-based viewport-dependent OMAF video profile
5591    ///
5592    /// FourCC: `hevd`
5593    ///
5594    /// Specification: _OMAF_
5595    pub const HEVD: BrandCode = BrandCode::new(*b"hevd");
5596    /// HEVC-based viewport-independent OMAF video profile
5597    ///
5598    /// FourCC: `hevi`
5599    ///
5600    /// Specification: _OMAF_
5601    pub const HEVI: BrandCode = BrandCode::new(*b"hevi");
5602    /// L-HEVC image sequence brands
5603    ///
5604    /// FourCC: `hevm`
5605    ///
5606    /// Specification: _HEIF_
5607    pub const HEVM: BrandCode = BrandCode::new(*b"hevm");
5608    /// L-HEVC image sequence brands
5609    ///
5610    /// FourCC: `hevs`
5611    ///
5612    /// Specification: _HEIF_
5613    pub const HEVS: BrandCode = BrandCode::new(*b"hevs");
5614    /// HEVC image sequence brands
5615    ///
5616    /// FourCC: `hevx`
5617    ///
5618    /// Specification: _HEIF_
5619    pub const HEVX: BrandCode = BrandCode::new(*b"hevx");
5620    /// L-HEVC explicit reconstruction
5621    ///
5622    /// FourCC: `hvce`
5623    ///
5624    /// Specification: _NALu Video_
5625    pub const HVCE: BrandCode = BrandCode::new(*b"hvce");
5626    /// L-HEVC implicit reconstruction
5627    ///
5628    /// FourCC: `hvci`
5629    ///
5630    /// Specification: _NALu Video_
5631    pub const HVCI: BrandCode = BrandCode::new(*b"hvci");
5632    /// L-HEVC extended explicit reconstruction brand
5633    ///
5634    /// FourCC: `hvcx`
5635    ///
5636    /// Specification: _NALu Video_
5637    pub const HVCX: BrandCode = BrandCode::new(*b"hvcx");
5638    /// HEVC Tile Track
5639    ///
5640    /// FourCC: `hvti`
5641    ///
5642    /// Specification: _NALu Video_
5643    pub const HVTI: BrandCode = BrandCode::new(*b"hvti");
5644    /// The IFE-SD Media Profile
5645    ///
5646    /// FourCC: `ifsd`
5647    ///
5648    /// Specification: _IFE_
5649    pub const IFSD: BrandCode = BrandCode::new(*b"ifsd");
5650    /// The IFE-HSD Media Profile
5651    ///
5652    /// FourCC: `ifhs`
5653    ///
5654    /// Specification: _IFE_
5655    pub const IFHS: BrandCode = BrandCode::new(*b"ifhs");
5656    /// The IFE-HD Media Profile
5657    ///
5658    /// FourCC: `ifhd`
5659    ///
5660    /// Specification: _IFE_
5661    pub const IFHD: BrandCode = BrandCode::new(*b"ifhd");
5662    /// The IFE-HHD10 Media Profile
5663    ///
5664    /// FourCC: `ifhx`
5665    ///
5666    /// Specification: _IFE_
5667    pub const IFHX: BrandCode = BrandCode::new(*b"ifhx");
5668    /// The IFE-HDHDR Media Profile
5669    ///
5670    /// FourCC: `ifhh`
5671    ///
5672    /// Specification: _IFE_
5673    pub const IFHH: BrandCode = BrandCode::new(*b"ifhh");
5674    /// The IFE-UHD10 Media Profile
5675    ///
5676    /// FourCC: `ifhu`
5677    ///
5678    /// Specification: _IFE_
5679    pub const IFHU: BrandCode = BrandCode::new(*b"ifhu");
5680    /// The IFE-HDR10 Media Profile
5681    ///
5682    /// FourCC: `ifhr`
5683    ///
5684    /// Specification: _IFE_
5685    pub const IFHR: BrandCode = BrandCode::new(*b"ifhr");
5686    /// The IFE-AAC Core Media Profile
5687    ///
5688    /// FourCC: `ifaa`
5689    ///
5690    /// Specification: _IFE_
5691    pub const IFAA: BrandCode = BrandCode::new(*b"ifaa");
5692    /// The IFE-AV1-SD Media Profile
5693    ///
5694    /// FourCC: `ifas`
5695    ///
5696    /// Specification: _IFE_
5697    pub const IFAS: BrandCode = BrandCode::new(*b"ifas");
5698    /// The IFE-AV1-HD Media Profile
5699    ///
5700    /// FourCC: `ifah`
5701    ///
5702    /// Specification: _IFE_
5703    pub const IFAH: BrandCode = BrandCode::new(*b"ifah");
5704    /// The IFE-AV1-HDHDR Media Profile
5705    ///
5706    /// FourCC: `ifai`
5707    ///
5708    /// Specification: _IFE_
5709    pub const IFAI: BrandCode = BrandCode::new(*b"ifai");
5710    /// The IFE-AV1-UHD10 Media Profile
5711    ///
5712    /// FourCC: `ifau`
5713    ///
5714    /// Specification: _IFE_
5715    pub const IFAU: BrandCode = BrandCode::new(*b"ifau");
5716    /// The IFE-AV1-HDR10 Media Profile
5717    ///
5718    /// FourCC: `ifav`
5719    ///
5720    /// Specification: _IFE_
5721    pub const IFAV: BrandCode = BrandCode::new(*b"ifav");
5722    /// Apple iFrame Specification, Version 8.1 Jan 2013
5723    ///
5724    /// FourCC: `ifrm`
5725    ///
5726    /// Specification: _Apple_
5727    pub const IFRM: BrandCode = BrandCode::new(*b"ifrm");
5728    /// CMAF Media Profile - IMSC1 Image
5729    ///
5730    /// FourCC: `im1i`
5731    ///
5732    /// Specification: _CMAF_
5733    pub const IM1I: BrandCode = BrandCode::new(*b"im1i");
5734    /// CMAF Media Profile - IMSC1 Text
5735    ///
5736    /// FourCC: `im1t`
5737    ///
5738    /// Specification: _CMAF_
5739    pub const IM1T: BrandCode = BrandCode::new(*b"im1t");
5740    /// CMAF Media Profile - IMSC1.1 Image
5741    ///
5742    /// FourCC: `im2i`
5743    ///
5744    /// Specification: _CMAF_
5745    pub const IM2I: BrandCode = BrandCode::new(*b"im2i");
5746    /// CMAF Media Profile - IMSC1.1 Text
5747    ///
5748    /// FourCC: `im2t`
5749    ///
5750    /// Specification: _CMAF_
5751    pub const IM2T: BrandCode = BrandCode::new(*b"im2t");
5752    /// Files encrypted according to ISMACryp 2.0
5753    ///
5754    /// FourCC: `isc2`
5755    ///
5756    /// Specification: _ISMACryp2_
5757    pub const ISC2: BrandCode = BrandCode::new(*b"isc2");
5758    /// All files based on the 2004 edition of the ISO file format
5759    ///
5760    /// FourCC: `iso2`
5761    ///
5762    /// Specification: _ISO_
5763    pub const ISO2: BrandCode = BrandCode::new(*b"iso2");
5764    /// Version of the ISO file format
5765    ///
5766    /// FourCC: `iso3`
5767    ///
5768    /// Specification: _ISO_
5769    pub const ISO3: BrandCode = BrandCode::new(*b"iso3");
5770    /// Version of the ISO file format
5771    ///
5772    /// FourCC: `iso4`
5773    ///
5774    /// Specification: _ISO_
5775    pub const ISO4: BrandCode = BrandCode::new(*b"iso4");
5776    /// Version of the ISO file format
5777    ///
5778    /// FourCC: `iso5`
5779    ///
5780    /// Specification: _ISO_
5781    pub const ISO5: BrandCode = BrandCode::new(*b"iso5");
5782    /// Version of the ISO file format
5783    ///
5784    /// FourCC: `iso6`
5785    ///
5786    /// Specification: _ISO_
5787    pub const ISO6: BrandCode = BrandCode::new(*b"iso6");
5788    /// Version of the ISO file format
5789    ///
5790    /// FourCC: `iso7`
5791    ///
5792    /// Specification: _ISO_
5793    pub const ISO7: BrandCode = BrandCode::new(*b"iso7");
5794    /// Version of the ISO file format
5795    ///
5796    /// FourCC: `iso8`
5797    ///
5798    /// Specification: _ISO_
5799    pub const ISO8: BrandCode = BrandCode::new(*b"iso8");
5800    /// Version of the ISO file format
5801    ///
5802    /// FourCC: `iso9`
5803    ///
5804    /// Specification: _ISO_
5805    pub const ISO9: BrandCode = BrandCode::new(*b"iso9");
5806    /// Version of the ISO file format
5807    ///
5808    /// FourCC: `isoa`
5809    ///
5810    /// Specification: _ISO_
5811    pub const ISOA: BrandCode = BrandCode::new(*b"isoa");
5812    /// Version of the ISO file format
5813    ///
5814    /// FourCC: `isob`
5815    ///
5816    /// Specification: _ISO_
5817    pub const ISOB: BrandCode = BrandCode::new(*b"isob");
5818    /// Version of the ISO file format
5819    ///
5820    /// FourCC: `isoc`
5821    ///
5822    /// Specification: _ISO_
5823    pub const ISOC: BrandCode = BrandCode::new(*b"isoc");
5824    /// All files based on the ISO Base Media File Format
5825    ///
5826    /// FourCC: `isom`
5827    ///
5828    /// Specification: _ISO_
5829    pub const ISOM: BrandCode = BrandCode::new(*b"isom");
5830    /// JPEG 2000 image and image collections in ISO/IEC 23008-12 files
5831    ///
5832    /// FourCC: `j2ki`
5833    ///
5834    /// Specification: _J2KHEIF_
5835    pub const J2KI: BrandCode = BrandCode::new(*b"j2ki");
5836    /// Motion JPEG 2000 in ISO/IEC 23008-12 files
5837    ///
5838    /// FourCC: `j2ks`
5839    ///
5840    /// Specification: _J2KHEIF_
5841    pub const J2KS: BrandCode = BrandCode::new(*b"j2ks");
5842    /// JPEG 2000 image sequence in ISO/IEC 23008-12 files
5843    ///
5844    /// FourCC: `j2is`
5845    ///
5846    /// Specification: _J2KHEIF_
5847    pub const J2IS: BrandCode = BrandCode::new(*b"j2is");
5848    /// JPEG2000 Profile 0
5849    ///
5850    /// FourCC: `J2P0`
5851    ///
5852    /// Specification: _JPEG2000_
5853    pub const J2P0: BrandCode = BrandCode::new(*b"J2P0");
5854    /// JPEG2000 Profile 1
5855    ///
5856    /// FourCC: `J2P1`
5857    ///
5858    /// Specification: _JPEG2000_
5859    pub const J2P1: BrandCode = BrandCode::new(*b"J2P1");
5860    /// JPEG2000 Part 1
5861    ///
5862    /// FourCC: `jp2 `
5863    ///
5864    /// Specification: _JPEG2000_
5865    pub const JP2: BrandCode = BrandCode::new(*b"jp2 ");
5866    /// JPEG-specific still image brand
5867    ///
5868    /// FourCC: `jpeg`
5869    ///
5870    /// Specification: _HEIF_
5871    pub const JPEG: BrandCode = BrandCode::new(*b"jpeg");
5872    /// JPEG image sequence brands
5873    ///
5874    /// FourCC: `jpgs`
5875    ///
5876    /// Specification: _HEIF_
5877    pub const JPGS: BrandCode = BrandCode::new(*b"jpgs");
5878    /// JPEG 2000 Part 6 Compound Images
5879    ///
5880    /// FourCC: `jpm `
5881    ///
5882    /// Specification: _JPM_
5883    pub const JPM: BrandCode = BrandCode::new(*b"jpm ");
5884    /// OMAF legacy image profile
5885    ///
5886    /// FourCC: `jpoi`
5887    ///
5888    /// Specification: _OMAF_
5889    pub const JPOI: BrandCode = BrandCode::new(*b"jpoi");
5890    /// The JPSearch data interchange format, for the exchange of image collections and respective metadata
5891    ///
5892    /// FourCC: `jpsi`
5893    ///
5894    /// Specification: _JPSearch_
5895    pub const JPSI: BrandCode = BrandCode::new(*b"jpsi");
5896    /// JPEG2000 Part 2
5897    ///
5898    /// FourCC: `jpx `
5899    ///
5900    /// Specification: _JPX_
5901    pub const JPX: BrandCode = BrandCode::new(*b"jpx ");
5902    /// JPEG XR
5903    ///
5904    /// FourCC: `jpxb`
5905    ///
5906    /// Specification: _JPXR_
5907    pub const JPXB: BrandCode = BrandCode::new(*b"jpxb");
5908    /// JPEG XL
5909    ///
5910    /// FourCC: `jxl `
5911    ///
5912    /// Specification: _JPEG XL_
5913    pub const JXL: BrandCode = BrandCode::new(*b"jxl ");
5914    /// Still Image File Format for JPEG XS
5915    ///
5916    /// FourCC: `jxs `
5917    ///
5918    /// Specification: _JPXS_
5919    pub const JXS: BrandCode = BrandCode::new(*b"jxs ");
5920    /// Codestream for JPEG XS
5921    ///
5922    /// FourCC: `jxsc`
5923    ///
5924    /// Specification: _JPXS_
5925    pub const JXSC: BrandCode = BrandCode::new(*b"jxsc");
5926    /// JPEG XS image and image collections for HEIF
5927    ///
5928    /// FourCC: `jxsi`
5929    ///
5930    /// Specification: _JPXS_
5931    pub const JXSI: BrandCode = BrandCode::new(*b"jxsi");
5932    /// JPEG XS image sequences for HEIF
5933    ///
5934    /// FourCC: `jxss`
5935    ///
5936    /// Specification: _JPXS_
5937    pub const JXSS: BrandCode = BrandCode::new(*b"jxss");
5938    /// Leica digital camera
5939    ///
5940    /// FourCC: `LCAG`
5941    ///
5942    /// Specification: _Leica_
5943    pub const LCAG: BrandCode = BrandCode::new(*b"LCAG");
5944    /// L-HEVC Tile Track Explicit brand
5945    ///
5946    /// FourCC: `lhte`
5947    ///
5948    /// Specification: _NALu Video_
5949    pub const LHTE: BrandCode = BrandCode::new(*b"lhte");
5950    /// L-HEVC Tile Track Implicit brand
5951    ///
5952    /// FourCC: `lhti`
5953    ///
5954    /// Specification: _NALu Video_
5955    pub const LHTI: BrandCode = BrandCode::new(*b"lhti");
5956    /// last Media Segment indicator for ISO base media file format.
5957    ///
5958    /// FourCC: `lmsg`
5959    ///
5960    /// Specification: _DASH_
5961    pub const LMSG: BrandCode = BrandCode::new(*b"lmsg");
5962    /// iTunes MPEG-4 audio protected or not, can contain audio + video + 3g text track + chapter track
5963    ///
5964    /// FourCC: `M4A `
5965    ///
5966    /// Specification: _iTunes_
5967    pub const M4A: BrandCode = BrandCode::new(*b"M4A ");
5968    /// iTunes AudioBook protected or not, can contain audio + video + 3g text track + chapter track
5969    ///
5970    /// FourCC: `M4B `
5971    ///
5972    /// Specification: _iTunes_
5973    pub const M4B: BrandCode = BrandCode::new(*b"M4B ");
5974    /// MPEG-4 protected audio
5975    ///
5976    /// FourCC: `M4P `
5977    ///
5978    /// Specification: _iTunes_
5979    pub const M4P: BrandCode = BrandCode::new(*b"M4P ");
5980    /// MPEG-4 protected audio+video
5981    ///
5982    /// FourCC: `M4V `
5983    ///
5984    /// Specification: _iTunes_
5985    pub const M4V: BrandCode = BrandCode::new(*b"M4V ");
5986    /// AVIF Baseline Profile
5987    ///
5988    /// FourCC: `MA1B`
5989    ///
5990    /// Specification: _AVIF_
5991    pub const MA1B: BrandCode = BrandCode::new(*b"MA1B");
5992    /// AVIF Advanced Profile
5993    ///
5994    /// FourCC: `MA1A`
5995    ///
5996    /// Specification: _AVIF_
5997    pub const MA1A: BrandCode = BrandCode::new(*b"MA1A");
5998    /// Media File for Samsung video Metadata
5999    ///
6000    /// FourCC: `MFSM`
6001    ///
6002    /// Specification: _Samsung_
6003    pub const MFSM: BrandCode = BrandCode::new(*b"MFSM");
6004    /// Home and Mobile Multimedia Platform (HMMP)
6005    ///
6006    /// FourCC: `MGSV`
6007    ///
6008    /// Specification: _Sony_
6009    pub const MGSV: BrandCode = BrandCode::new(*b"MGSV");
6010    /// Multi-Image Application format brand for MIAF AVC Basic Profile
6011    ///
6012    /// FourCC: `MiAB`
6013    ///
6014    /// Specification: _MIAF_
6015    pub const MIAB: BrandCode = BrandCode::new(*b"MiAB");
6016    /// Multi-Image Application format brand for fragmented alpha video
6017    ///
6018    /// FourCC: `MiAC`
6019    ///
6020    /// Specification: _MIAF_
6021    pub const MIAC: BrandCode = BrandCode::new(*b"MiAC");
6022    /// Multi-Image Application format brand for general MIAF requirements
6023    ///
6024    /// FourCC: `miaf`
6025    ///
6026    /// Specification: _MIAF_
6027    pub const MIAF: BrandCode = BrandCode::new(*b"miaf");
6028    /// Mutli-Image Application format brand for animation
6029    ///
6030    /// FourCC: `MiAn`
6031    ///
6032    /// Specification: _MIAF_
6033    pub const MIAN: BrandCode = BrandCode::new(*b"MiAn");
6034    /// Multi-Image Application format brand for burst capture
6035    ///
6036    /// FourCC: `MiBu`
6037    ///
6038    /// Specification: _MIAF_
6039    pub const MIBU: BrandCode = BrandCode::new(*b"MiBu");
6040    /// Multi-Image Application format brand for CMAF compatibility
6041    ///
6042    /// FourCC: `MiCm`
6043    ///
6044    /// Specification: _MIAF_
6045    pub const MICM: BrandCode = BrandCode::new(*b"MiCm");
6046    /// Image file format structural brand
6047    ///
6048    /// FourCC: `mif1`
6049    ///
6050    /// Specification: _HEIF_
6051    pub const MIF1: BrandCode = BrandCode::new(*b"mif1");
6052    /// Image file format structural brand CICP alpha and depth
6053    ///
6054    /// FourCC: `mif2`
6055    ///
6056    /// Specification: _HEIF_
6057    pub const MIF2: BrandCode = BrandCode::new(*b"mif2");
6058    /// Multi-Image Application format brand for MIAF HEVC Advanced Profile
6059    ///
6060    /// FourCC: `MiHA`
6061    ///
6062    /// Specification: _MIAF_
6063    pub const MIHA: BrandCode = BrandCode::new(*b"MiHA");
6064    /// Multi-Image Application format brand for MIAF HEVC Basic Profile
6065    ///
6066    /// FourCC: `MiHB`
6067    ///
6068    /// Specification: _MIAF_
6069    pub const MIHB: BrandCode = BrandCode::new(*b"MiHB");
6070    /// Multi-Image Application format brand for MIAF HEVC Extended Profile
6071    ///
6072    /// FourCC: `MiHE`
6073    ///
6074    /// Specification: _MIAF_
6075    pub const MIHE: BrandCode = BrandCode::new(*b"MiHE");
6076    /// Multi-Image Application format brand for progressive decoding and rendering
6077    ///
6078    /// FourCC: `MiPr`
6079    ///
6080    /// Specification: _MIAF_
6081    pub const MIPR: BrandCode = BrandCode::new(*b"MiPr");
6082    /// Motion JPEG 2000 simple profile
6083    ///
6084    /// FourCC: `mj2s`
6085    ///
6086    /// Specification: _MJ2_
6087    pub const MJ2S: BrandCode = BrandCode::new(*b"mj2s");
6088    /// Motion JPEG 2000, general profile
6089    ///
6090    /// FourCC: `mjp2`
6091    ///
6092    /// Specification: _MJ2_
6093    pub const MJP2: BrandCode = BrandCode::new(*b"mjp2");
6094    /// MPEG-21
6095    ///
6096    /// FourCC: `mp21`
6097    ///
6098    /// Specification: _MPEG-21_
6099    pub const MP21: BrandCode = BrandCode::new(*b"mp21");
6100    /// MP4 version 1
6101    ///
6102    /// FourCC: `mp41`
6103    ///
6104    /// Specification: _MP4v2_
6105    pub const MP41: BrandCode = BrandCode::new(*b"mp41");
6106    /// MP4 version 2
6107    ///
6108    /// FourCC: `mp42`
6109    ///
6110    /// Specification: _MP4v2_
6111    pub const MP42: BrandCode = BrandCode::new(*b"mp42");
6112    /// MPEG-7 file-level metadata
6113    ///
6114    /// FourCC: `mp71`
6115    ///
6116    /// Specification: _ISO_
6117    pub const MP71: BrandCode = BrandCode::new(*b"mp71");
6118    /// Photo Player Multimedia Application Format
6119    ///
6120    /// FourCC: `MPPI`
6121    ///
6122    /// Specification: _ISO-MAF_
6123    pub const MPPI: BrandCode = BrandCode::new(*b"MPPI");
6124    /// Compliance with the MMT Processing Unit format
6125    ///
6126    /// FourCC: `mpuf`
6127    ///
6128    /// Specification: _MMT_
6129    pub const MPUF: BrandCode = BrandCode::new(*b"mpuf");
6130    /// Image file format structural brand
6131    ///
6132    /// FourCC: `msf1`
6133    ///
6134    /// Specification: _HEIF_
6135    pub const MSF1: BrandCode = BrandCode::new(*b"msf1");
6136    /// Media Segment conforming to the general format type for ISO base media file format.
6137    ///
6138    /// FourCC: `msdh`
6139    ///
6140    /// Specification: _DASH_
6141    pub const MSDH: BrandCode = BrandCode::new(*b"msdh");
6142    /// Media Segment conforming to the Indexed Media Segment format type for ISO base media file format.
6143    ///
6144    /// FourCC: `msix`
6145    ///
6146    /// Specification: _DASH_
6147    pub const MSIX: BrandCode = BrandCode::new(*b"msix");
6148    /// Portable multimedia CE products using MP4 file format with AVC video codec and AAC audio codec
6149    ///
6150    /// FourCC: `MSNV`
6151    ///
6152    /// Specification: _IEC 62592_
6153    pub const MSNV: BrandCode = BrandCode::new(*b"MSNV");
6154    /// Nikon Digital Camera
6155    ///
6156    /// FourCC: `niko`
6157    ///
6158    /// Specification: _Nikon_
6159    pub const NIKO: BrandCode = BrandCode::new(*b"niko");
6160    /// Non-linear storyline toolset brand
6161    ///
6162    /// FourCC: `nlsl`
6163    ///
6164    /// Specification: _OMAF_
6165    pub const NLSL: BrandCode = BrandCode::new(*b"nlsl");
6166    /// No Leading Picture Sync Brand
6167    ///
6168    /// FourCC: `nras`
6169    ///
6170    /// Specification: _NALu Video_
6171    pub const NRAS: BrandCode = BrandCode::new(*b"nras");
6172    /// OMAF 2D audio legacy profile
6173    ///
6174    /// FourCC: `oa2d`
6175    ///
6176    /// Specification: _OMAF_
6177    pub const OA2D: BrandCode = BrandCode::new(*b"oa2d");
6178    /// OMAF 3D audio baseline profile
6179    ///
6180    /// FourCC: `oabl`
6181    ///
6182    /// Specification: _OMAF_
6183    pub const OABL: BrandCode = BrandCode::new(*b"oabl");
6184    /// OMA DCF (DRM Content Format)
6185    ///
6186    /// FourCC: `odcf`
6187    ///
6188    /// Specification: _OMA DRM 2.0_
6189    pub const ODCF: BrandCode = BrandCode::new(*b"odcf");
6190    /// OMAF viewport-independent baseline presentation profile
6191    ///
6192    /// FourCC: `ompp`
6193    ///
6194    /// Specification: _OMAF_
6195    pub const OMPP: BrandCode = BrandCode::new(*b"ompp");
6196    /// OMA PDCF (DRM Content Format)
6197    ///
6198    /// FourCC: `opf2`
6199    ///
6200    /// Specification: _OMA DRM 2.1_
6201    pub const OPF2: BrandCode = BrandCode::new(*b"opf2");
6202    /// OMA Adapted PDCF
6203    ///
6204    /// FourCC: `opx2`
6205    ///
6206    /// Specification: _OMA DRM XBS_
6207    pub const OPX2: BrandCode = BrandCode::new(*b"opx2");
6208    /// OMAF viewport-dependent baseline presentation profile
6209    ///
6210    /// FourCC: `ovdp`
6211    ///
6212    /// Specification: _OMAF_
6213    pub const OVDP: BrandCode = BrandCode::new(*b"ovdp");
6214    /// Overlay toolset brand
6215    ///
6216    /// FourCC: `ovly`
6217    ///
6218    /// Specification: _OMAF_
6219    pub const OVLY: BrandCode = BrandCode::new(*b"ovly");
6220    /// Generic Partial File
6221    ///
6222    /// FourCC: `paff`
6223    ///
6224    /// Specification: _ISO-Partial_
6225    pub const PAFF: BrandCode = BrandCode::new(*b"paff");
6226    /// Panasonic Digital Camera
6227    ///
6228    /// FourCC: `pana`
6229    ///
6230    /// Specification: _Panasonic_
6231    pub const PANA: BrandCode = BrandCode::new(*b"pana");
6232    /// Protected Interoperable File Format
6233    ///
6234    /// FourCC: `piff`
6235    ///
6236    /// Specification: _PIFF_
6237    pub const PIFF: BrandCode = BrandCode::new(*b"piff");
6238    /// Mixed Partial File
6239    ///
6240    /// FourCC: `pmff`
6241    ///
6242    /// Specification: _ISO-Partial_
6243    pub const PMFF: BrandCode = BrandCode::new(*b"pmff");
6244    /// Panasonic Video Intercom
6245    ///
6246    /// FourCC: `pnvi`
6247    ///
6248    /// Specification: _Panasonic Video Intercom_
6249    pub const PNVI: BrandCode = BrandCode::new(*b"pnvi");
6250    /// Image file format brand for predictively coded image items
6251    ///
6252    /// FourCC: `pred`
6253    ///
6254    /// Specification: _HEIF_
6255    pub const PRED: BrandCode = BrandCode::new(*b"pred");
6256    /// QuickTime
6257    ///
6258    /// FourCC: `qt  `
6259    ///
6260    /// Specification: _QT_
6261    pub const QT: BrandCode = BrandCode::new(*b"qt  ");
6262    /// combination brand to indicate relative addressing
6263    ///
6264    /// FourCC: `relo`
6265    ///
6266    /// Specification: _ISO_
6267    pub const RELO: BrandCode = BrandCode::new(*b"relo");
6268    /// Representation Index Segment used to index MPEG-2 TS based Media Segments.
6269    ///
6270    /// FourCC: `risx`
6271    ///
6272    /// Specification: _DASH_
6273    pub const RISX: BrandCode = BrandCode::new(*b"risx");
6274    /// Ross Video
6275    ///
6276    /// FourCC: `ROSS`
6277    ///
6278    /// Specification: _Ross_
6279    pub const ROSS: BrandCode = BrandCode::new(*b"ROSS");
6280    /// SD Video
6281    ///
6282    /// FourCC: `sdv `
6283    ///
6284    /// Specification: _SDV_
6285    pub const SDV: BrandCode = BrandCode::new(*b"sdv ");
6286    /// Home and Mobile Multimedia Platform (HMMP)
6287    ///
6288    /// FourCC: `SEAU`
6289    ///
6290    /// Specification: _Sony_
6291    pub const SEAU: BrandCode = BrandCode::new(*b"SEAU");
6292    /// Home and Mobile Multimedia Platform (HMMP)
6293    ///
6294    /// FourCC: `SEBK`
6295    ///
6296    /// Specification: _Sony_
6297    pub const SEBK: BrandCode = BrandCode::new(*b"SEBK");
6298    /// Video contents Sony Entertainment Network provides by using MP4 file format
6299    ///
6300    /// FourCC: `senv`
6301    ///
6302    /// Specification: _Sony_
6303    pub const SENV: BrandCode = BrandCode::new(*b"senv");
6304    /// Media Segment conforming to the Sub-Indexed Media Segment format type for ISO base media file format.
6305    ///
6306    /// FourCC: `sims`
6307    ///
6308    /// Specification: _DASH_
6309    pub const SIMS: BrandCode = BrandCode::new(*b"sims");
6310    /// Single Index Segment used to index MPEG-2 TS based Media Segments.
6311    ///
6312    /// FourCC: `sisx`
6313    ///
6314    /// Specification: _DASH_
6315    pub const SISX: BrandCode = BrandCode::new(*b"sisx");
6316    /// HEVC-based simple tiling OMAF video profile
6317    ///
6318    /// FourCC: `siti`
6319    ///
6320    /// Specification: _OMAF_
6321    pub const SITI: BrandCode = BrandCode::new(*b"siti");
6322    /// VVC-based simple tiling OMAF video profile
6323    ///
6324    /// FourCC: `sitv`
6325    ///
6326    /// Specification: _OMAF_
6327    pub const SITV: BrandCode = BrandCode::new(*b"sitv");
6328    /// Dynamic metadata for Single Layer SDR-compatible HDR video streams
6329    ///
6330    /// FourCC: `slh1`
6331    ///
6332    /// Specification: _SL-HDR_
6333    pub const SLH1: BrandCode = BrandCode::new(*b"slh1");
6334    /// Dynamic metadata for Single Layer PQ-based HDR video streams
6335    ///
6336    /// FourCC: `slh2`
6337    ///
6338    /// Specification: _SL-HDR_
6339    pub const SLH2: BrandCode = BrandCode::new(*b"slh2");
6340    /// Dynamic metadata for Single Layer HLG-based HDR video streams
6341    ///
6342    /// FourCC: `slh3`
6343    ///
6344    /// Specification: _SL-HDR_
6345    pub const SLH3: BrandCode = BrandCode::new(*b"slh3");
6346    /// Subsegment Index Segment used to index MPEG-2 TS based Media Segments.
6347    ///
6348    /// FourCC: `ssss`
6349    ///
6350    /// Specification: _DASH_
6351    pub const SSSS: BrandCode = BrandCode::new(*b"ssss");
6352    /// OMAF IMSC1 timed text profile
6353    ///
6354    /// FourCC: `ttml`
6355    ///
6356    /// Specification: _OMAF_
6357    pub const TTML: BrandCode = BrandCode::new(*b"ttml");
6358    /// OMAF WebVTT timed text profile
6359    ///
6360    /// FourCC: `ttwv`
6361    ///
6362    /// Specification: _OMAF_
6363    pub const TTWV: BrandCode = BrandCode::new(*b"ttwv");
6364    /// Unconstrained HEVC-based viewport-independent OMAF video profile
6365    ///
6366    /// FourCC: `uhvi`
6367    ///
6368    /// Specification: _OMAF_
6369    pub const UHVI: BrandCode = BrandCode::new(*b"uhvi");
6370    /// Unified identifiers
6371    ///
6372    /// FourCC: `unif`
6373    ///
6374    /// Specification: _ISO_
6375    pub const UNIF: BrandCode = BrandCode::new(*b"unif");
6376    /// UltraViolet file brand – conforming to the DECE Common File Format spec, Annex E.
6377    ///
6378    /// FourCC: `uvvu`
6379    ///
6380    /// Specification: _DECE_
6381    pub const UVVU: BrandCode = BrandCode::new(*b"uvvu");
6382    /// Multi-track encapsulation mode for V3C data with partial access support
6383    ///
6384    /// FourCC: `v3mp`
6385    ///
6386    /// Specification: _V3C-SYS_
6387    pub const V3MP: BrandCode = BrandCode::new(*b"v3mp");
6388    /// Multi-track encapsulation mode for V3C data
6389    ///
6390    /// FourCC: `v3mt`
6391    ///
6392    /// Specification: _V3C-SYS_
6393    pub const V3MT: BrandCode = BrandCode::new(*b"v3mt");
6394    /// Non-timed encpasulation mode for V3C data
6395    ///
6396    /// FourCC: `v3nt`
6397    ///
6398    /// Specification: _V3C-SYS_
6399    pub const V3NT: BrandCode = BrandCode::new(*b"v3nt");
6400    /// Single-track encapsulation mode for V3C data
6401    ///
6402    /// FourCC: `v3st`
6403    ///
6404    /// Specification: _V3C-SYS_
6405    pub const V3ST: BrandCode = BrandCode::new(*b"v3st");
6406    /// VVC-based viewport-independent OMAF video profile
6407    ///
6408    /// FourCC: `vvci`
6409    ///
6410    /// Specification: _OMAF_
6411    pub const VVCI: BrandCode = BrandCode::new(*b"vvci");
6412    /// VVC coded image item
6413    ///
6414    /// FourCC: `vvic`
6415    ///
6416    /// Specification: _HEIF_
6417    pub const VVIC: BrandCode = BrandCode::new(*b"vvic");
6418    /// VVC coded image sequence
6419    ///
6420    /// FourCC: `vvis`
6421    ///
6422    /// Specification: _HEIF_
6423    pub const VVIS: BrandCode = BrandCode::new(*b"vvis");
6424    /// OMAF VVC image profile
6425    ///
6426    /// FourCC: `vvoi`
6427    ///
6428    /// Specification: _OMAF_
6429    pub const VVOI: BrandCode = BrandCode::new(*b"vvoi");
6430    /// Viewpoint toolset brand
6431    ///
6432    /// FourCC: `vwpt`
6433    ///
6434    /// Specification: _OMAF_
6435    pub const VWPT: BrandCode = BrandCode::new(*b"vwpt");
6436    /// XAVC File Format
6437    ///
6438    /// FourCC: `XAVC`
6439    ///
6440    /// Specification: _Sony_
6441    pub const XAVC: BrandCode = BrandCode::new(*b"XAVC");
6442    /// Google specification for use by YouTube apps
6443    ///
6444    /// FourCC: `yt4 `
6445    ///
6446    /// Specification: _Youtube_
6447    pub const YT4: BrandCode = BrandCode::new(*b"yt4 ");
6448    /// Immersive Audio Model and Formats - Encapsulated IA Sequence
6449    ///
6450    /// FourCC: `iamf`
6451    ///
6452    /// Specification: _AOM-IAMF_
6453    pub const IAMF: BrandCode = BrandCode::new(*b"iamf");
6454    /// Apple HEVC Video with Alpha
6455    ///
6456    /// FourCC: `muxa`
6457    ///
6458    /// Specification: _Apple HEVC Alpha_
6459    pub const MUXA: BrandCode = BrandCode::new(*b"muxa");
6460    /// CMAF Media Profile for Constrained Multilayer VVC
6461    ///
6462    /// FourCC: `cvvm`
6463    ///
6464    /// Specification: _ATSC 3.0 A345_
6465    pub const CVVM: BrandCode = BrandCode::new(*b"cvvm");
6466    /// CMAF Media Profile for ATSC Full Range Constrained Baseline VVC
6467    ///
6468    /// FourCC: `cafr`
6469    ///
6470    /// Specification: _ATSC 3.0 A345_
6471    pub const CAFR: BrandCode = BrandCode::new(*b"cafr");
6472    /// XF-AVC S/XF-HEVC S File Format
6473    ///
6474    /// FourCC: `XFVC`
6475    ///
6476    /// Specification: _Canon_
6477    pub const XFVC: BrandCode = BrandCode::new(*b"XFVC");
6478    /// CMAF Media Profile – AVS3-P3
6479    ///
6480    /// FourCC: `ca3a`
6481    ///
6482    /// Specification: _T-AI-109.7_
6483    pub const CA3A: BrandCode = BrandCode::new(*b"ca3a");
6484    /// CMAF Media Profile for MPEG-5 LCEVC
6485    ///
6486    /// FourCC: `clv1`
6487    ///
6488    /// Specification: _CMAF_
6489    pub const CLV1: BrandCode = BrandCode::new(*b"clv1");
6490    /// Version of the ISO file format
6491    ///
6492    /// FourCC: `isod`
6493    ///
6494    /// Specification: _ISO_
6495    pub const ISOD: BrandCode = BrandCode::new(*b"isod");
6496    /// CMAF EVC Baseline Media Profile
6497    ///
6498    /// FourCC: `cevb`
6499    ///
6500    /// Specification: _CMAF_
6501    pub const CEVB: BrandCode = BrandCode::new(*b"cevb");
6502    /// CMAF EVC Main Media Profile
6503    ///
6504    /// FourCC: `cevm`
6505    ///
6506    /// Specification: _CMAF_
6507    pub const CEVM: BrandCode = BrandCode::new(*b"cevm");
6508    /// CMAF Random Access chunk
6509    ///
6510    /// FourCC: `cmfr`
6511    ///
6512    /// Specification: _CMAF_
6513    pub const CMFR: BrandCode = BrandCode::new(*b"cmfr");
6514    /// MPEG-H audio BL single-stream media profile
6515    ///
6516    /// FourCC: `cmh1`
6517    ///
6518    /// Specification: _CMAF_
6519    pub const CMH1: BrandCode = BrandCode::new(*b"cmh1");
6520    /// MPEG-H audio BL multi-stream media profile
6521    ///
6522    /// FourCC: `cmh2`
6523    ///
6524    /// Specification: _CMAF_
6525    pub const CMH2: BrandCode = BrandCode::new(*b"cmh2");
6526    /// SampleAuxiliaryInformationSizesBox with version 1 and 2
6527    ///
6528    /// FourCC: `saie`
6529    ///
6530    /// Specification: _ISO_
6531    pub const SAIE: BrandCode = BrandCode::new(*b"saie");
6532}
6533impl TrackReferenceCode {
6534    /// Additional audio track
6535    ///
6536    /// FourCC: `adda`
6537    ///
6538    /// Specification: _ISO_
6539    pub const ADDA: TrackReferenceCode = TrackReferenceCode::new(*b"adda");
6540    /// DRC metadata track
6541    ///
6542    /// FourCC: `adrc`
6543    ///
6544    /// Specification: _ISO_
6545    pub const ADRC: TrackReferenceCode = TrackReferenceCode::new(*b"adrc");
6546    /// Auxiliary track reference
6547    ///
6548    /// FourCC: `auxl`
6549    ///
6550    /// Specification: _ISO_
6551    pub const AUXL: TrackReferenceCode = TrackReferenceCode::new(*b"auxl");
6552    /// AVC parameter set stream link
6553    ///
6554    /// FourCC: `avcp`
6555    ///
6556    /// Specification: _NALu Video_
6557    pub const AVCP: TrackReferenceCode = TrackReferenceCode::new(*b"avcp");
6558    /// this track describes the referenced track.
6559    ///
6560    /// FourCC: `cdsc`
6561    ///
6562    /// Specification: _ISO_
6563    pub const CDSC: TrackReferenceCode = TrackReferenceCode::new(*b"cdsc");
6564    /// this track describes the referenced tracks and track groups collectively
6565    ///
6566    /// FourCC: `cdtg`
6567    ///
6568    /// Specification: _OMAF_
6569    pub const CDTG: TrackReferenceCode = TrackReferenceCode::new(*b"cdtg");
6570    /// track containing the depth view
6571    ///
6572    /// FourCC: `deps`
6573    ///
6574    /// Specification: _NALu Video_
6575    pub const DEPS: TrackReferenceCode = TrackReferenceCode::new(*b"deps");
6576    /// this track has an MPEG-4 dependency on the referenced track
6577    ///
6578    /// FourCC: `dpnd`
6579    ///
6580    /// Specification: _MP4v2_
6581    pub const DPND: TrackReferenceCode = TrackReferenceCode::new(*b"dpnd");
6582    /// EVC slice base track
6583    ///
6584    /// FourCC: `evcr`
6585    ///
6586    /// Specification: _NALu Video_
6587    pub const EVCR: TrackReferenceCode = TrackReferenceCode::new(*b"evcr");
6588    /// this track uses fonts carried/defined in the referenced track
6589    ///
6590    /// FourCC: `font`
6591    ///
6592    /// Specification: _ISO_
6593    pub const FONT: TrackReferenceCode = TrackReferenceCode::new(*b"font");
6594    /// Hint dependency
6595    ///
6596    /// FourCC: `hind`
6597    ///
6598    /// Specification: _ISO_
6599    pub const HIND: TrackReferenceCode = TrackReferenceCode::new(*b"hind");
6600    /// links hint track to original media track
6601    ///
6602    /// FourCC: `hint`
6603    ///
6604    /// Specification: _ISO_
6605    pub const HINT: TrackReferenceCode = TrackReferenceCode::new(*b"hint");
6606    /// this track contains IPI declarations for the referenced track
6607    ///
6608    /// FourCC: `ipir`
6609    ///
6610    /// Specification: _MP4v2_
6611    pub const IPIR: TrackReferenceCode = TrackReferenceCode::new(*b"ipir");
6612    /// Audio layer track dependency
6613    ///
6614    /// FourCC: `lyra`
6615    ///
6616    /// Specification: _DTS_
6617    pub const LYRA: TrackReferenceCode = TrackReferenceCode::new(*b"lyra");
6618    /// used in indicating combinations that result into mixed network abstraction layer unit types in a coded picture of VVC
6619    ///
6620    /// FourCC: `mixn`
6621    ///
6622    /// Specification: _NALu Video_
6623    pub const MIXN: TrackReferenceCode = TrackReferenceCode::new(*b"mixn");
6624    /// this track is an OD track which uses the referenced track as an included elementary stream track
6625    ///
6626    /// FourCC: `mpod`
6627    ///
6628    /// Specification: _MP4v2_
6629    pub const MPOD: TrackReferenceCode = TrackReferenceCode::new(*b"mpod");
6630    /// track that contains an 'oref' sample group
6631    ///
6632    /// FourCC: `oref`
6633    ///
6634    /// Specification: _NALu Video_
6635    pub const OREF: TrackReferenceCode = TrackReferenceCode::new(*b"oref");
6636    /// resolved by extracting an indicated subset of the referenced VVC track to reconstruct a VVC bitstream
6637    ///
6638    /// FourCC: `recr`
6639    ///
6640    /// Specification: _NALu Video_
6641    pub const RECR: TrackReferenceCode = TrackReferenceCode::new(*b"recr");
6642    /// HEVC Tile Track
6643    ///
6644    /// FourCC: `sabt`
6645    ///
6646    /// Specification: _NALu Video_
6647    pub const SABT: TrackReferenceCode = TrackReferenceCode::new(*b"sabt");
6648    /// Scalable base
6649    ///
6650    /// FourCC: `sbas`
6651    ///
6652    /// Specification: _NALu Video_
6653    pub const SBAS: TrackReferenceCode = TrackReferenceCode::new(*b"sbas");
6654    /// Scalable extraction
6655    ///
6656    /// FourCC: `scal`
6657    ///
6658    /// Specification: _NALu Video_
6659    pub const SCAL: TrackReferenceCode = TrackReferenceCode::new(*b"scal");
6660    /// reference to a shadow sync sample track
6661    ///
6662    /// FourCC: `shsc`
6663    ///
6664    /// Specification: _OMAF_
6665    pub const SHSC: TrackReferenceCode = TrackReferenceCode::new(*b"shsc");
6666    /// the referenced VVC subpicture tracks or 'alte' track groups of VVC subpicture tracks are used to reconstruct a VVC bitstream
6667    ///
6668    /// FourCC: `subp`
6669    ///
6670    /// Specification: _NALu Video_
6671    pub const SUBP: TrackReferenceCode = TrackReferenceCode::new(*b"subp");
6672    /// subtitle or timed text or overlay graphical information
6673    ///
6674    /// FourCC: `subt`
6675    ///
6676    /// Specification: _ISO_
6677    pub const SUBT: TrackReferenceCode = TrackReferenceCode::new(*b"subt");
6678    /// AVC Switch from
6679    ///
6680    /// FourCC: `swfr`
6681    ///
6682    /// Specification: _NALu Video_
6683    pub const SWFR: TrackReferenceCode = TrackReferenceCode::new(*b"swfr");
6684    /// AVC Switch to
6685    ///
6686    /// FourCC: `swto`
6687    ///
6688    /// Specification: _NALu Video_
6689    pub const SWTO: TrackReferenceCode = TrackReferenceCode::new(*b"swto");
6690    /// this track uses the referenced track as its synchronization source.
6691    ///
6692    /// FourCC: `sync`
6693    ///
6694    /// Specification: _MP4v2_
6695    pub const SYNC: TrackReferenceCode = TrackReferenceCode::new(*b"sync");
6696    /// HEVC Tile track base
6697    ///
6698    /// FourCC: `tbas`
6699    ///
6700    /// Specification: _NALu Video_
6701    pub const TBAS: TrackReferenceCode = TrackReferenceCode::new(*b"tbas");
6702    /// Thumbnail track reference
6703    ///
6704    /// FourCC: `thmb`
6705    ///
6706    /// Specification: _ISO_
6707    pub const THMB: TrackReferenceCode = TrackReferenceCode::new(*b"thmb");
6708    /// Time code. Usually references a time code track.
6709    ///
6710    /// FourCC: `tmcd`
6711    ///
6712    /// Specification: _Apple_
6713    pub const TMCD: TrackReferenceCode = TrackReferenceCode::new(*b"tmcd");
6714    /// V3C atlas track
6715    ///
6716    /// FourCC: `v3cs`
6717    ///
6718    /// Specification: _V3C-SYS_
6719    pub const V3CS: TrackReferenceCode = TrackReferenceCode::new(*b"v3cs");
6720    /// V3C atlas tile track
6721    ///
6722    /// FourCC: `v3ct`
6723    ///
6724    /// Specification: _V3C-SYS_
6725    pub const V3CT: TrackReferenceCode = TrackReferenceCode::new(*b"v3ct");
6726    /// V3C attribute video track
6727    ///
6728    /// FourCC: `v3va`
6729    ///
6730    /// Specification: _V3C-SYS_
6731    pub const V3VA: TrackReferenceCode = TrackReferenceCode::new(*b"v3va");
6732    /// V3C geometry video track
6733    ///
6734    /// FourCC: `v3vg`
6735    ///
6736    /// Specification: _V3C-SYS_
6737    pub const V3VG: TrackReferenceCode = TrackReferenceCode::new(*b"v3vg");
6738    /// V3C occupancy video track
6739    ///
6740    /// FourCC: `v3vo`
6741    ///
6742    /// Specification: _V3C-SYS_
6743    pub const V3VO: TrackReferenceCode = TrackReferenceCode::new(*b"v3vo");
6744    /// Auxiliary video depth
6745    ///
6746    /// FourCC: `vdep`
6747    ///
6748    /// Specification: _ISO_
6749    pub const VDEP: TrackReferenceCode = TrackReferenceCode::new(*b"vdep");
6750    /// Auxiliary video parallax
6751    ///
6752    /// FourCC: `vplx`
6753    ///
6754    /// Specification: _ISO_
6755    pub const VPLX: TrackReferenceCode = TrackReferenceCode::new(*b"vplx");
6756    /// reference to a track that contains a 'vopi' sample group for VVC video
6757    ///
6758    /// FourCC: `vref`
6759    ///
6760    /// Specification: _NALu Video_
6761    pub const VREF: TrackReferenceCode = TrackReferenceCode::new(*b"vref");
6762    /// reference to a VVC operating point entity group
6763    ///
6764    /// FourCC: `vreg`
6765    ///
6766    /// Specification: _NALu Video_
6767    pub const VREG: TrackReferenceCode = TrackReferenceCode::new(*b"vreg");
6768    /// the referenced track is a non video coding layer track of VVC
6769    ///
6770    /// FourCC: `vvcN`
6771    ///
6772    /// Specification: _NALu Video_
6773    pub const VVCN: TrackReferenceCode = TrackReferenceCode::new(*b"vvcN");
6774    /// The referenced tracks provide supplementary video to achieve picture-in-picture functionality
6775    ///
6776    /// FourCC: `supm`
6777    ///
6778    /// Specification: _NALu Video_
6779    pub const SUPM: TrackReferenceCode = TrackReferenceCode::new(*b"supm");
6780    /// associated external stream track
6781    ///
6782    /// FourCC: `aest`
6783    ///
6784    /// Specification: _ISO_
6785    pub const AEST: TrackReferenceCode = TrackReferenceCode::new(*b"aest");
6786    /// Rendering-related metadata
6787    ///
6788    /// FourCC: `rndr`
6789    ///
6790    /// Specification: _Apple_
6791    pub const RNDR: TrackReferenceCode = TrackReferenceCode::new(*b"rndr");
6792}