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_MAXCACHE 0x6df8
46 #define MATROSKA_ID_DEFAULTDURATION 0x23e383
47 #define MATROSKA_ID_TRACKTIMECODESCALE 0x23314f
48 #define MATROSKA_ID_MAXBLOCKADDITIONID 0x55ee
49 #define MATROSKA_ID_NAME 0x536e
50 #define MATROSKA_ID_LANGUAGE 0x22b59c
51 #define MATROSKA_ID_CODECID 0x86
52 #define MATROSKA_ID_CODECPRIVATE 0x63a2
53 #define MATROSKA_ID_CODECDECODEALL 0xaa
54 #define MATROSKA_ID_VIDEO 0xe0
55 #define MATROSKA_ID_FLAGINTERLACED 0x9a
56 #define MATROSKA_ID_PIXELWIDTH 0xb0
57 #define MATROSKA_ID_PIXELHEIGHT 0xba
58 #define MATROSKA_ID_DISPLAYWIDTH 0x54b0
59 #define MATROSKA_ID_DISPLAYHEIGHT 0x54ba
60 #define MATROSKA_ID_DISPLAYUNIT 0x54b2
61 #define MATROSKA_ID_FRAMERATE 0x2383e3
62 #define MATROSKA_ID_AUDIO 0xe1
63 #define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5
64 #define MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY 0x78b5
65 #define MATROSKA_ID_CHANNELS 0x9f
66 #define MATROSKA_ID_BITDEPTH 0x6264
67 #define MATROSKA_ID_CONTENTENCODINGS 0x6d80
68 #define MATROSKA_ID_CONTENTENCODING 0x6240
69 #define MATROSKA_ID_CONTENTENCODINGORDER 0x5031
70 #define MATROSKA_ID_CONTENTENCODINGSCOPE 0x5032
71 #define MATROSKA_ID_CONTENTENCODINGTYPE 0x5033
72 #define MATROSKA_ID_CONTENTCOMPRESSION 0x5034
73 #define MATROSKA_ID_CONTENTCOMPALGO 0x4254
74 #define MATROSKA_ID_CONTENTCOMPSETTINGS 0x4255
75 #define MATROSKA_ID_CUES 0x1c53bb6b
76 #define MATROSKA_ID_CUEPOINT 0xbb
77 #define MATROSKA_ID_CUETIME 0xb3
78 #define MATROSKA_ID_CUETRACKPOSITIONS 0xb7
79 #define MATROSKA_ID_CUETRACK 0xf7
80 #define MATROSKA_ID_CUECLUSTERPOSITION 0xf1
81 #define MATROSKA_ID_ATTACHMENTS 0x1941a469
82 #define MATROSKA_ID_ATTACHEDFILE 0x61a7
83 #define MATROSKA_ID_FILEDESCRIPTION 0x467e
84 #define MATROSKA_ID_FILENAME 0x466e
85 #define MATROSKA_ID_FILEMIMETYPE 0x4660
86 #define MATROSKA_ID_FILEDATA 0x465c
87 #define MATROSKA_ID_FILEUID 0x46ae
88 #define MATROSKA_ID_CHAPTERS 0x1043a770
89 #define MATROSKA_ID_EDITIONENTRY 0x45b9
90 #define MATROSKA_ID_EDITIONUID 0x45bc
91 #define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45bd
92 #define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45db
93 #define MATROSKA_ID_EDITIONFLAGORDERED 0x45dd
94 #define MATROSKA_ID_CHAPTERATOM 0xb6
95 #define MATROSKA_ID_CHAPTERUID 0x73c4
96 #define MATROSKA_ID_CHAPTERTIMESTART 0x91
97 #define MATROSKA_ID_CHAPTERTIMEEND 0x92
98 #define MATROSKA_ID_CHAPTERFLAGHIDDEN 0x98
99 #define MATROSKA_ID_CHAPTERFLAGENABLED 0x4598
100 #define MATROSKA_ID_CHAPTERSEGMENTUID 0x6e67
101 #define MATROSKA_ID_CHAPTERSEGMENTEDITIONUID 0x6ebc
102 #define MATROSKA_ID_CHAPTERDISPLAY 0x80
103 #define MATROSKA_ID_CHAPSTRING 0x85
104 #define MATROSKA_ID_CHAPLANGUAGE 0x437c
105 #define MATROSKA_ID_CHAPCOUNTRY 0x437e
106 #define MATROSKA_ID_TAGS 0x1254c367
107 #define MATROSKA_ID_TAG 0x7373
108 #define MATROSKA_ID_TARGETS 0x63c0
109 #define MATROSKA_ID_TARGETTYPEVALUE 0x68ca
110 #define MATROSKA_ID_TARGETTRACKUID 0x63c5
111 #define MATROSKA_ID_TARGETEDITIONUID 0x63c9
112 #define MATROSKA_ID_TARGETCHAPTERUID 0x63c4
113 #define MATROSKA_ID_TARGETATTACHMENTUID 0x63c6
114 #define MATROSKA_ID_SIMPLETAG 0x67c8
115 #define MATROSKA_ID_TAGNAME 0x45a3
116 #define MATROSKA_ID_TAGLANGUAGE 0x447a
117 #define MATROSKA_ID_TAGSTRING 0x4487
120 struct ebml_simple_tag
{
121 struct bstr tag_name
;
122 struct bstr tag_language
;
123 struct bstr tag_string
;
130 struct ebml_targets
{
131 uint64_t target_type_value
;
132 uint64_t target_track_uid
;
133 uint64_t target_edition_uid
;
134 uint64_t target_chapter_uid
;
135 uint64_t target_attachment_uid
;
137 int n_target_type_value
;
138 int n_target_track_uid
;
139 int n_target_edition_uid
;
140 int n_target_chapter_uid
;
141 int n_target_attachment_uid
;
145 struct ebml_targets targets
;
146 struct ebml_simple_tag
*simple_tag
;
153 struct ebml_tag
*tag
;
158 struct ebml_chapter_display
{
159 struct bstr chap_string
;
160 struct bstr
*chap_language
;
161 struct bstr
*chap_country
;
168 struct ebml_chapter_atom
{
169 uint64_t chapter_uid
;
170 uint64_t chapter_time_start
;
171 uint64_t chapter_time_end
;
172 uint64_t chapter_flag_hidden
;
173 uint64_t chapter_flag_enabled
;
174 struct bstr chapter_segment_uid
;
175 uint64_t chapter_segment_edition_uid
;
176 struct ebml_chapter_display
*chapter_display
;
179 int n_chapter_time_start
;
180 int n_chapter_time_end
;
181 int n_chapter_flag_hidden
;
182 int n_chapter_flag_enabled
;
183 int n_chapter_segment_uid
;
184 int n_chapter_segment_edition_uid
;
185 int n_chapter_display
;
188 struct ebml_edition_entry
{
189 uint64_t edition_uid
;
190 uint64_t edition_flag_hidden
;
191 uint64_t edition_flag_default
;
192 uint64_t edition_flag_ordered
;
193 struct ebml_chapter_atom
*chapter_atom
;
196 int n_edition_flag_hidden
;
197 int n_edition_flag_default
;
198 int n_edition_flag_ordered
;
202 struct ebml_chapters
{
203 struct ebml_edition_entry
*edition_entry
;
208 struct ebml_attached_file
{
209 struct bstr file_description
;
210 struct bstr file_name
;
211 struct bstr file_mime_type
;
212 struct bstr file_data
;
215 int n_file_description
;
217 int n_file_mime_type
;
222 struct ebml_attachments
{
223 struct ebml_attached_file
*attached_file
;
228 struct ebml_cue_track_positions
{
230 uint64_t cue_cluster_position
;
233 int n_cue_cluster_position
;
236 struct ebml_cue_point
{
238 struct ebml_cue_track_positions
*cue_track_positions
;
241 int n_cue_track_positions
;
245 struct ebml_cue_point
*cue_point
;
250 struct ebml_content_compression
{
251 uint64_t content_comp_algo
;
252 struct bstr content_comp_settings
;
254 int n_content_comp_algo
;
255 int n_content_comp_settings
;
258 struct ebml_content_encoding
{
259 uint64_t content_encoding_order
;
260 uint64_t content_encoding_scope
;
261 uint64_t content_encoding_type
;
262 struct ebml_content_compression content_compression
;
264 int n_content_encoding_order
;
265 int n_content_encoding_scope
;
266 int n_content_encoding_type
;
267 int n_content_compression
;
270 struct ebml_content_encodings
{
271 struct ebml_content_encoding
*content_encoding
;
273 int n_content_encoding
;
277 double sampling_frequency
;
278 double output_sampling_frequency
;
282 int n_sampling_frequency
;
283 int n_output_sampling_frequency
;
289 uint64_t flag_interlaced
;
290 uint64_t pixel_width
;
291 uint64_t pixel_height
;
292 uint64_t display_width
;
293 uint64_t display_height
;
294 uint64_t display_unit
;
297 int n_flag_interlaced
;
301 int n_display_height
;
306 struct ebml_track_entry
{
307 uint64_t track_number
;
310 uint64_t flag_enabled
;
311 uint64_t flag_default
;
312 uint64_t flag_forced
;
313 uint64_t flag_lacing
;
316 uint64_t default_duration
;
317 double track_timecode_scale
;
318 uint64_t max_block_addition_id
;
320 struct bstr language
;
321 struct bstr codec_id
;
322 struct bstr codec_private
;
323 uint64_t codec_decode_all
;
324 struct ebml_video video
;
325 struct ebml_audio audio
;
326 struct ebml_content_encodings content_encodings
;
337 int n_default_duration
;
338 int n_track_timecode_scale
;
339 int n_max_block_addition_id
;
344 int n_codec_decode_all
;
347 int n_content_encodings
;
351 struct ebml_track_entry
*track_entry
;
356 struct ebml_block_group
{
358 uint64_t block_duration
;
359 int64_t *reference_block
;
362 int n_block_duration
;
363 int n_reference_block
;
366 struct ebml_cluster
{
368 struct ebml_block_group
*block_group
;
369 struct bstr
*simple_block
;
377 struct bstr segment_uid
;
378 struct bstr prev_uid
;
379 struct bstr next_uid
;
380 uint64_t timecode_scale
;
383 struct bstr muxing_app
;
384 struct bstr writing_app
;
390 int n_timecode_scale
;
400 uint64_t seek_position
;
406 struct ebml_seek_head
{
407 struct ebml_seek
*seek
;
412 struct ebml_segment
{
413 struct ebml_seek_head
*seek_head
;
414 struct ebml_info
*info
;
415 struct ebml_cluster
*cluster
;
416 struct ebml_tracks
*tracks
;
417 struct ebml_cues cues
;
418 struct ebml_attachments attachments
;
419 struct ebml_chapters chapters
;
420 struct ebml_tags
*tags
;
433 uint64_t ebml_version
;
434 uint64_t ebml_read_version
;
435 uint64_t ebml_max_id_length
;
436 uint64_t ebml_max_size_length
;
437 struct bstr doc_type
;
438 uint64_t doc_type_version
;
439 uint64_t doc_type_read_version
;
442 int n_ebml_read_version
;
443 int n_ebml_max_id_length
;
444 int n_ebml_max_size_length
;
446 int n_doc_type_version
;
447 int n_doc_type_read_version
;
449 extern const struct ebml_elem_desc ebml_ebml_desc
;
450 extern const struct ebml_elem_desc ebml_segment_desc
;
451 extern const struct ebml_elem_desc ebml_seek_head_desc
;
452 extern const struct ebml_elem_desc ebml_seek_desc
;
453 extern const struct ebml_elem_desc ebml_info_desc
;
454 extern const struct ebml_elem_desc ebml_cluster_desc
;
455 extern const struct ebml_elem_desc ebml_block_group_desc
;
456 extern const struct ebml_elem_desc ebml_tracks_desc
;
457 extern const struct ebml_elem_desc ebml_track_entry_desc
;
458 extern const struct ebml_elem_desc ebml_video_desc
;
459 extern const struct ebml_elem_desc ebml_audio_desc
;
460 extern const struct ebml_elem_desc ebml_content_encodings_desc
;
461 extern const struct ebml_elem_desc ebml_content_encoding_desc
;
462 extern const struct ebml_elem_desc ebml_content_compression_desc
;
463 extern const struct ebml_elem_desc ebml_cues_desc
;
464 extern const struct ebml_elem_desc ebml_cue_point_desc
;
465 extern const struct ebml_elem_desc ebml_cue_track_positions_desc
;
466 extern const struct ebml_elem_desc ebml_attachments_desc
;
467 extern const struct ebml_elem_desc ebml_attached_file_desc
;
468 extern const struct ebml_elem_desc ebml_chapters_desc
;
469 extern const struct ebml_elem_desc ebml_edition_entry_desc
;
470 extern const struct ebml_elem_desc ebml_chapter_atom_desc
;
471 extern const struct ebml_elem_desc ebml_chapter_display_desc
;
472 extern const struct ebml_elem_desc ebml_tags_desc
;
473 extern const struct ebml_elem_desc ebml_tag_desc
;
474 extern const struct ebml_elem_desc ebml_targets_desc
;
475 extern const struct ebml_elem_desc ebml_simple_tag_desc
;
477 #define MAX_EBML_SUBELEMENTS 20