1 // Generated by TOOLS/matroska.py, do not edit manually
3 #define EBML_ID_EBML 0x1a45dfa3
4 #define EBML_ID_EBMLVERSION 0x4286
5 #define EBML_ID_EBMLREADVERSION 0x42f7
6 #define EBML_ID_EBMLMAXIDLENGTH 0x42f2
7 #define EBML_ID_EBMLMAXSIZELENGTH 0x42f3
8 #define EBML_ID_DOCTYPE 0x4282
9 #define EBML_ID_DOCTYPEVERSION 0x4287
10 #define EBML_ID_DOCTYPEREADVERSION 0x4285
11 #define EBML_ID_CRC32 0xbf
12 #define EBML_ID_VOID 0xec
13 #define MATROSKA_ID_SEGMENT 0x18538067
14 #define MATROSKA_ID_SEEKHEAD 0x114d9b74
15 #define MATROSKA_ID_SEEK 0x4dbb
16 #define MATROSKA_ID_SEEKID 0x53ab
17 #define MATROSKA_ID_SEEKPOSITION 0x53ac
18 #define MATROSKA_ID_INFO 0x1549a966
19 #define MATROSKA_ID_SEGMENTUID 0x73a4
20 #define MATROSKA_ID_PREVUID 0x3cb923
21 #define MATROSKA_ID_NEXTUID 0x3eb923
22 #define MATROSKA_ID_TIMECODESCALE 0x2ad7b1
23 #define MATROSKA_ID_DATEUTC 0x4461
24 #define MATROSKA_ID_TITLE 0x7ba9
25 #define MATROSKA_ID_MUXINGAPP 0x4d80
26 #define MATROSKA_ID_WRITINGAPP 0x5741
27 #define MATROSKA_ID_DURATION 0x4489
28 #define MATROSKA_ID_CLUSTER 0x1f43b675
29 #define MATROSKA_ID_TIMECODE 0xe7
30 #define MATROSKA_ID_BLOCKGROUP 0xa0
31 #define MATROSKA_ID_BLOCK 0xa1
32 #define MATROSKA_ID_BLOCKDURATION 0x9b
33 #define MATROSKA_ID_REFERENCEBLOCK 0xfb
34 #define MATROSKA_ID_SIMPLEBLOCK 0xa3
35 #define MATROSKA_ID_TRACKS 0x1654ae6b
36 #define MATROSKA_ID_TRACKENTRY 0xae
37 #define MATROSKA_ID_TRACKNUMBER 0xd7
38 #define MATROSKA_ID_TRACKUID 0x73c5
39 #define MATROSKA_ID_TRACKTYPE 0x83
40 #define MATROSKA_ID_FLAGENABLED 0xb9
41 #define MATROSKA_ID_FLAGDEFAULT 0x88
42 #define MATROSKA_ID_FLAGFORCED 0x55aa
43 #define MATROSKA_ID_FLAGLACING 0x9c
44 #define MATROSKA_ID_MINCACHE 0x6de7
45 #define MATROSKA_ID_DEFAULTDURATION 0x23e383
46 #define MATROSKA_ID_TRACKTIMECODESCALE 0x23314f
47 #define MATROSKA_ID_MAXBLOCKADDITIONID 0x55ee
48 #define MATROSKA_ID_NAME 0x536e
49 #define MATROSKA_ID_LANGUAGE 0x22b59c
50 #define MATROSKA_ID_CODECID 0x86
51 #define MATROSKA_ID_CODECPRIVATE 0x63a2
52 #define MATROSKA_ID_CODECDECODEALL 0xaa
53 #define MATROSKA_ID_VIDEO 0xe0
54 #define MATROSKA_ID_FLAGINTERLACED 0x9a
55 #define MATROSKA_ID_PIXELWIDTH 0xb0
56 #define MATROSKA_ID_PIXELHEIGHT 0xba
57 #define MATROSKA_ID_DISPLAYWIDTH 0x54b0
58 #define MATROSKA_ID_DISPLAYHEIGHT 0x54ba
59 #define MATROSKA_ID_FRAMERATE 0x2383e3
60 #define MATROSKA_ID_AUDIO 0xe1
61 #define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5
62 #define MATROSKA_ID_CHANNELS 0x9f
63 #define MATROSKA_ID_BITDEPTH 0x6264
64 #define MATROSKA_ID_CONTENTENCODINGS 0x6d80
65 #define MATROSKA_ID_CONTENTENCODING 0x6240
66 #define MATROSKA_ID_CONTENTENCODINGORDER 0x5031
67 #define MATROSKA_ID_CONTENTENCODINGSCOPE 0x5032
68 #define MATROSKA_ID_CONTENTENCODINGTYPE 0x5033
69 #define MATROSKA_ID_CONTENTCOMPRESSION 0x5034
70 #define MATROSKA_ID_CONTENTCOMPALGO 0x4254
71 #define MATROSKA_ID_CONTENTCOMPSETTINGS 0x4255
72 #define MATROSKA_ID_CUES 0x1c53bb6b
73 #define MATROSKA_ID_CUEPOINT 0xbb
74 #define MATROSKA_ID_CUETIME 0xb3
75 #define MATROSKA_ID_CUETRACKPOSITIONS 0xb7
76 #define MATROSKA_ID_CUETRACK 0xf7
77 #define MATROSKA_ID_CUECLUSTERPOSITION 0xf1
78 #define MATROSKA_ID_ATTACHMENTS 0x1941a469
79 #define MATROSKA_ID_ATTACHEDFILE 0x61a7
80 #define MATROSKA_ID_FILENAME 0x466e
81 #define MATROSKA_ID_FILEMIMETYPE 0x4660
82 #define MATROSKA_ID_FILEDATA 0x465c
83 #define MATROSKA_ID_FILEUID 0x46ae
84 #define MATROSKA_ID_CHAPTERS 0x1043a770
85 #define MATROSKA_ID_EDITIONENTRY 0x45b9
86 #define MATROSKA_ID_EDITIONUID 0x45bc
87 #define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45bd
88 #define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45db
89 #define MATROSKA_ID_EDITIONFLAGORDERED 0x45dd
90 #define MATROSKA_ID_CHAPTERATOM 0xb6
91 #define MATROSKA_ID_CHAPTERUID 0x73c4
92 #define MATROSKA_ID_CHAPTERTIMESTART 0x91
93 #define MATROSKA_ID_CHAPTERTIMEEND 0x92
94 #define MATROSKA_ID_CHAPTERFLAGHIDDEN 0x98
95 #define MATROSKA_ID_CHAPTERFLAGENABLED 0x4598
96 #define MATROSKA_ID_CHAPTERSEGMENTUID 0x6e67
97 #define MATROSKA_ID_CHAPTERSEGMENTEDITIONUID 0x6ebc
98 #define MATROSKA_ID_CHAPTERDISPLAY 0x80
99 #define MATROSKA_ID_CHAPSTRING 0x85
100 #define MATROSKA_ID_CHAPLANGUAGE 0x437c
101 #define MATROSKA_ID_TAGS 0x1254c367
102 #define MATROSKA_ID_TAG 0x7373
103 #define MATROSKA_ID_TARGETS 0x63c0
104 #define MATROSKA_ID_TARGETTYPEVALUE 0x68ca
107 struct ebml_targets
{
108 uint64_t target_type_value
;
110 int n_target_type_value
;
114 struct ebml_targets targets
;
120 struct ebml_tag
*tag
;
125 struct ebml_chapter_display
{
126 struct bstr chap_string
;
127 struct bstr
*chap_language
;
133 struct ebml_chapter_atom
{
134 uint64_t chapter_uid
;
135 uint64_t chapter_time_start
;
136 uint64_t chapter_time_end
;
137 uint64_t chapter_flag_hidden
;
138 uint64_t chapter_flag_enabled
;
139 struct bstr chapter_segment_uid
;
140 uint64_t chapter_segment_edition_uid
;
141 struct ebml_chapter_display
*chapter_display
;
144 int n_chapter_time_start
;
145 int n_chapter_time_end
;
146 int n_chapter_flag_hidden
;
147 int n_chapter_flag_enabled
;
148 int n_chapter_segment_uid
;
149 int n_chapter_segment_edition_uid
;
150 int n_chapter_display
;
153 struct ebml_edition_entry
{
154 uint64_t edition_uid
;
155 uint64_t edition_flag_hidden
;
156 uint64_t edition_flag_default
;
157 uint64_t edition_flag_ordered
;
158 struct ebml_chapter_atom
*chapter_atom
;
161 int n_edition_flag_hidden
;
162 int n_edition_flag_default
;
163 int n_edition_flag_ordered
;
167 struct ebml_chapters
{
168 struct ebml_edition_entry
*edition_entry
;
173 struct ebml_attached_file
{
174 struct bstr file_name
;
175 struct bstr file_mime_type
;
176 struct bstr file_data
;
180 int n_file_mime_type
;
185 struct ebml_attachments
{
186 struct ebml_attached_file
*attached_file
;
191 struct ebml_cue_track_positions
{
193 uint64_t cue_cluster_position
;
196 int n_cue_cluster_position
;
199 struct ebml_cue_point
{
201 struct ebml_cue_track_positions
*cue_track_positions
;
204 int n_cue_track_positions
;
208 struct ebml_cue_point
*cue_point
;
213 struct ebml_content_compression
{
214 uint64_t content_comp_algo
;
215 struct bstr content_comp_settings
;
217 int n_content_comp_algo
;
218 int n_content_comp_settings
;
221 struct ebml_content_encoding
{
222 uint64_t content_encoding_order
;
223 uint64_t content_encoding_scope
;
224 uint64_t content_encoding_type
;
225 struct ebml_content_compression content_compression
;
227 int n_content_encoding_order
;
228 int n_content_encoding_scope
;
229 int n_content_encoding_type
;
230 int n_content_compression
;
233 struct ebml_content_encodings
{
234 struct ebml_content_encoding
*content_encoding
;
236 int n_content_encoding
;
240 double sampling_frequency
;
244 int n_sampling_frequency
;
250 uint64_t flag_interlaced
;
251 uint64_t pixel_width
;
252 uint64_t pixel_height
;
253 uint64_t display_width
;
254 uint64_t display_height
;
257 int n_flag_interlaced
;
261 int n_display_height
;
265 struct ebml_track_entry
{
266 uint64_t track_number
;
269 uint64_t flag_enabled
;
270 uint64_t flag_default
;
271 uint64_t flag_forced
;
272 uint64_t flag_lacing
;
274 uint64_t default_duration
;
275 double track_timecode_scale
;
276 uint64_t max_block_addition_id
;
278 struct bstr language
;
279 struct bstr codec_id
;
280 struct bstr codec_private
;
281 uint64_t codec_decode_all
;
282 struct ebml_video video
;
283 struct ebml_audio audio
;
284 struct ebml_content_encodings content_encodings
;
294 int n_default_duration
;
295 int n_track_timecode_scale
;
296 int n_max_block_addition_id
;
301 int n_codec_decode_all
;
304 int n_content_encodings
;
308 struct ebml_track_entry
*track_entry
;
313 struct ebml_block_group
{
315 uint64_t block_duration
;
316 int64_t *reference_block
;
319 int n_block_duration
;
320 int n_reference_block
;
323 struct ebml_cluster
{
325 struct ebml_block_group
*block_group
;
326 struct bstr
*simple_block
;
334 struct bstr segment_uid
;
335 struct bstr prev_uid
;
336 struct bstr next_uid
;
337 uint64_t timecode_scale
;
340 struct bstr muxing_app
;
341 struct bstr writing_app
;
347 int n_timecode_scale
;
357 uint64_t seek_position
;
363 struct ebml_seek_head
{
364 struct ebml_seek
*seek
;
369 struct ebml_segment
{
370 struct ebml_seek_head
*seek_head
;
371 struct ebml_info
*info
;
372 struct ebml_cluster
*cluster
;
373 struct ebml_tracks
*tracks
;
374 struct ebml_cues cues
;
375 struct ebml_attachments attachments
;
376 struct ebml_chapters chapters
;
377 struct ebml_tags
*tags
;
390 uint64_t ebml_version
;
391 uint64_t ebml_read_version
;
392 uint64_t ebml_max_id_length
;
393 uint64_t ebml_max_size_length
;
394 struct bstr doc_type
;
395 uint64_t doc_type_version
;
396 uint64_t doc_type_read_version
;
399 int n_ebml_read_version
;
400 int n_ebml_max_id_length
;
401 int n_ebml_max_size_length
;
403 int n_doc_type_version
;
404 int n_doc_type_read_version
;
406 extern const struct ebml_elem_desc ebml_ebml_desc
;
407 extern const struct ebml_elem_desc ebml_segment_desc
;
408 extern const struct ebml_elem_desc ebml_seek_head_desc
;
409 extern const struct ebml_elem_desc ebml_seek_desc
;
410 extern const struct ebml_elem_desc ebml_info_desc
;
411 extern const struct ebml_elem_desc ebml_cluster_desc
;
412 extern const struct ebml_elem_desc ebml_block_group_desc
;
413 extern const struct ebml_elem_desc ebml_tracks_desc
;
414 extern const struct ebml_elem_desc ebml_track_entry_desc
;
415 extern const struct ebml_elem_desc ebml_video_desc
;
416 extern const struct ebml_elem_desc ebml_audio_desc
;
417 extern const struct ebml_elem_desc ebml_content_encodings_desc
;
418 extern const struct ebml_elem_desc ebml_content_encoding_desc
;
419 extern const struct ebml_elem_desc ebml_content_compression_desc
;
420 extern const struct ebml_elem_desc ebml_cues_desc
;
421 extern const struct ebml_elem_desc ebml_cue_point_desc
;
422 extern const struct ebml_elem_desc ebml_cue_track_positions_desc
;
423 extern const struct ebml_elem_desc ebml_attachments_desc
;
424 extern const struct ebml_elem_desc ebml_attached_file_desc
;
425 extern const struct ebml_elem_desc ebml_chapters_desc
;
426 extern const struct ebml_elem_desc ebml_edition_entry_desc
;
427 extern const struct ebml_elem_desc ebml_chapter_atom_desc
;
428 extern const struct ebml_elem_desc ebml_chapter_display_desc
;
429 extern const struct ebml_elem_desc ebml_tags_desc
;
430 extern const struct ebml_elem_desc ebml_tag_desc
;
431 extern const struct ebml_elem_desc ebml_targets_desc
;
433 #define MAX_EBML_SUBELEMENTS 19