-
Notifications
You must be signed in to change notification settings - Fork 4
/
atom-desc.c
193 lines (188 loc) · 9.25 KB
/
atom-desc.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#include <string.h>
#include "atom-desc.h"
struct atom_desc {
const char *name;
const char *desc;
const char *source;
};
static const struct atom_desc atoms[] = {
{ "ainf", "Asset information to identify, license and play", "DECE" },
{ "avcn", "AVC NAL Unit Storage Box", "DECE" },
{ "bloc", "Base location and purchase location for license acquisition", "DECE" },
{ "bpcc", "Bits per component", "JPEG2000" },
{ "buff", "Buffering information", "NALu Video" },
{ "bxml", "binary XML container", "ISO" },
{ "ccid", "OMA DRM Content ID", "OMA DRM 2.1" },
{ "cdef", "type and ordering of the components within the codestream", "JPEG2000" },
{ "clip", "Reserved", "ISO" },
{ "cmap", "mapping between a palette and codestream components", "JPEG2000" },
{ "co64", "64-bit chunk offset", "ISO" },
{ "coin", "Content Information Box", "DECE" },
{ "colr", "specifies the colourspace of the image", "JPEG2000" },
{ "crgn", "Reserved", "ISO" },
{ "crhd", "reserved for ClockReferenceStream header", "MP4v1" },
{ "cslg", "composition to decode timeline mapping", "ISO" },
{ "ctab", "Reserved", "ISO" },
{ "ctts", "(composition) time to sample", "ISO" },
{ "cvru", "OMA DRM Cover URI", "OMA DRM 2.1" },
{ "dinf", "data information box, container", "ISO" },
{ "dref", "data reference box, declares source(s) of media data in track", "ISO" },
{ "dsgd", "DVB Sample Group Description Box", "DVB" },
{ "dstg", "DVB Sample to Group Box", "DVB" },
{ "edts", "edit list container", "ISO" },
{ "elst", "an edit list", "ISO" },
{ "emsg", "event message", "DASH" },
{ "fdel", "File delivery information (item info extension)", "ISO" },
{ "feci", "FEC Informatiom", "ISO" },
{ "fecr", "FEC Reservoir", "ISO" },
{ "fiin", "FD Item Information", "ISO" },
{ "fire", "File Reservoir", "ISO" },
{ "fpar", "File Partition", "ISO" },
{ "free", "free space", "ISO" },
{ "frma", "original format box", "ISO" },
{ "ftyp", "file type and compatibility", "ISO" },
{ "gitn", "Group ID to name", "ISO" },
{ "grpi", "OMA DRM Group ID", "OMA DRM 2.0" },
{ "hdlr", "handler, declares the media (handler) type", "ISO" },
{ "hmhd", "hint media header, overall information (hint track only)", "ISO" },
{ "hpix", "Hipix Rich Picture (user-data or meta-data)", "Hipix" },
{ "icnu", "OMA DRM Icon URI", "OMA DRM 2.0" },
{ "ID32", "ID3 version 2 container", "id3v2" },
{ "idat", "Item data", "ISO" },
{ "ihdr", "Image Header", "JPEG2000" },
{ "iinf", "item information", "ISO" },
{ "iloc", "item location", "ISO" },
{ "imap", "Reserved", "ISO" },
{ "imif", "IPMP Information box", "ISO" },
{ "infe", "Item information entry", "ISO" },
{ "infu", "OMA DRM Info URL", "OMA DRM 2.0" },
{ "iods", "Object Descriptor container box", "MP4v1" },
{ "iphd", "reserved for IPMP Stream header", "MP4v1" },
{ "ipmc", "IPMP Control Box", "ISO" },
{ "ipro", "item protection", "ISO" },
{ "iref", "Item reference", "ISO" },
{ "jP ", "JPEG 2000 Signature", "JPEG2000" },
{ "jp2c", "JPEG 2000 contiguous codestream", "JPEG2000" },
{ "jp2h", "Header", "JPEG2000" },
{ "jp2i", "intellectual property information", "JPEG2000" },
{ "kmat", "Reserved", "ISO" },
{ "leva", "Leval assignment", "ISO" },
{ "load", "Reserved", "ISO" },
{ "lrcu", "OMA DRM Lyrics URI", "OMA DRM 2.1" },
{ "m7hd", "reserved for MPEG7Stream header", "MP4v1" },
{ "matt", "Reserved", "ISO" },
{ "mdat", "media data container", "ISO" },
{ "mdhd", "media header, overall information about the media", "ISO" },
{ "mdia", "container for the media information in a track", "ISO" },
{ "mdri", "Mutable DRM information", "OMA DRM 2.0" },
{ "meco", "additional metadata container", "ISO" },
{ "mehd", "movie extends header box", "ISO" },
{ "mere", "metabox relation", "ISO" },
{ "meta", "Metadata container", "ISO" },
{ "mfhd", "movie fragment header", "ISO" },
{ "mfra", "Movie fragment random access", "ISO" },
{ "mfro", "Movie fragment random access offset", "ISO" },
{ "minf", "media information container", "ISO" },
{ "mjhd", "reserved for MPEG-J Stream header", "MP4v1" },
{ "moof", "movie fragment", "ISO" },
{ "moov", "container for all the meta-data", "ISO" },
{ "mvcg", "Multiview group", "NALu Video" },
{ "mvci", "Multiview Information", "NALu Video" },
{ "mvex", "movie extends box", "ISO" },
{ "mvhd", "movie header, overall declarations", "ISO" },
{ "mvra", "Multiview Relation Attribute", "NALu Video" },
{ "nals", "Edgeware specific box containing NAL information", "Edgeware" },
{ "nmhd", "Null media header, overall information (some tracks only)", "ISO" },
{ "ochd", "reserved for ObjectContentInfoStream header", "MP4v1" },
{ "odaf", "OMA DRM Access Unit Format", "OMA DRM 2.0" },
{ "odda", "OMA DRM Content Object", "OMA DRM 2.0" },
{ "odhd", "reserved for ObjectDescriptorStream header", "MP4v1" },
{ "odhe", "OMA DRM Discrete Media Headers", "OMA DRM 2.0" },
{ "odrb", "OMA DRM Rights Object", "OMA DRM 2.0" },
{ "odrm", "OMA DRM Container", "OMA DRM 2.0" },
{ "odtt", "OMA DRM Transaction Tracking", "OMA DRM 2.0" },
{ "ohdr", "OMA DRM Common headers", "OMA DRM 2.0" },
{ "padb", "sample padding bits", "ISO" },
{ "paen", "Partition Entry", "ISO" },
{ "pclr", "palette which maps a single component in index space to a multiple- component image", "JPEG2000" },
{ "pdin", "Progressive download information", "ISO" },
{ "pitm", "primary item reference", "ISO" },
{ "pnot", "Reserved", "ISO" },
{ "prft", "Producer reference time", "ISO" },
{ "pssh", "Protection system specific header", "ISO Common Encryption" },
{ "res ", "grid resolution", "JPEG2000" },
{ "resc", "grid resolution at which the image was captured", "JPEG2000" },
{ "resd", "default grid resolution at which the image should be displayed", "JPEG2000" },
{ "rinf", "restricted scheme information box", "ISO" },
{ "saio", "Sample auxiliary information offsets", "ISO" },
{ "saiz", "Sample auxiliary information sizes", "ISO" },
{ "sbgp", "Sample to Group box", "ISO" },
{ "schi", "scheme information box", "ISO" },
{ "schm", "scheme type box", "ISO" },
{ "sdep", "Sample dependency", "NALu Video" },
{ "sdhd", "reserved for SceneDescriptionStream header", "MP4v1" },
{ "sdtp", "Independent and Disposable Samples Box", "ISO" },
{ "sdvp", "SD Profile Box", "SDV" },
{ "segr", "file delivery session group", "ISO" },
{ "senc", "Sample specific encryption data", "ISO Common Encryption" },
{ "sgpd", "Sample group definition box", "ISO" },
{ "sidx", "Segment Index Box", "3GPP" },
{ "sinf", "protection scheme information box", "ISO" },
{ "skip", "free space", "ISO" },
{ "smhd", "sound media header, overall information (sound track only)", "ISO" },
{ "srmb", "System Renewability Message", "DVB" },
{ "srmc", "System Renewability Message container", "DVB" },
{ "srpp", "STRP Process", "ISO" },
{ "ssix", "Sub-sample index", "ISO" },
{ "size", "Edgeware specific box containing segment sizes", "Edgeware" },
{ "stbl", "sample table box, container for the time/space map", "ISO" },
{ "stco", "chunk offset, partial data-offset information", "ISO" },
{ "stdp", "sample degradation priority", "ISO" },
{ "sthd", "Subtitle Media Header Box", "ISO" },
{ "stpp", "XML Subtitle Sample Entry", "ISO 14496-12 14496-30" },
{ "strd", "Sub-track definition", "ISO" },
{ "stri", "Sub-track information", "ISO" },
{ "stsc", "sample-to-chunk, partial data-offset information", "ISO" },
{ "stsd", "sample descriptions (codec types, initialization etc.)", "ISO" },
{ "stsg", "Sub-track sample grouping", "ISO" },
{ "stsh", "shadow sync sample table", "ISO" },
{ "stss", "sync sample table (random access points)", "ISO" },
{ "stsz", "sample sizes (framing)", "ISO" },
{ "stts", "(decoding) time-to-sample", "ISO" },
{ "styp", "Segment Type Box", "3GPP" },
{ "stz2", "compact sample sizes (framing)", "ISO" },
{ "subs", "Sub-sample information", "ISO" },
{ "swtc", "Multiview Group Relation", "NALu Video" },
{ "tfad", "Track fragment adjustment box", "3GPP" },
{ "tfdt", "Track fragment decode time", "ISO" },
{ "tfhd", "Track fragment header", "ISO" },
{ "tfma", "Track fragment media adjustment box", "3GPP" },
{ "tfra", "Track fragment radom access", "ISO" },
{ "tibr", "Tier Bit rate", "NALu Video" },
{ "tiri", "Tier Information", "NALu Video" },
{ "tkhd", "Track header, overall information about the track", "ISO" },
{ "traf", "Track fragment", "ISO" },
{ "trak", "container for an individual track or stream", "ISO" },
{ "tref", "track reference container", "ISO" },
{ "trex", "track extends defaults", "ISO" },
{ "trgr", "Track grouping information", "ISO" },
{ "trik", "Facilitates random access and trick play modes", "DECE" },
{ "trun", "track fragment run", "ISO" },
{ "udta", "user-data", "ISO" },
{ "uinf", "a tool by which a vendor may provide access to additional information associated with a UUID", "JPEG2000" },
{ "UITS", "Unique Identifier Technology Solution", "Universal Music Group" },
{ "ulst", "a list of UUID’s", "JPEG2000" },
{ "url ", "a URL", "JPEG2000" },
{ "uuid", "user-extension box", "ISO" },
{ "vmhd", "video media header, overall information (video track only)", "ISO" },
{ "vwdi", "Multiview Scene Information", "NALu Video" },
{ "xml ", "XML container", "ISO" },
};
const char *get_box_desc(const uint8_t *name)
{
int i;
for (i = 0; i < sizeof(atoms) / sizeof(*atoms); i++)
if (!memcmp(name, atoms[i].name, 4))
return atoms[i].desc;
return NULL;
}