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
105 #define MATROSKA_ID_TARGETTRACKUID 0x63c5
106 #define MATROSKA_ID_TARGETEDITIONUID 0x63c9
107 #define MATROSKA_ID_TARGETCHAPTERUID 0x63c4
108 #define MATROSKA_ID_TARGETATTACHMENTUID 0x63c6
109 #define MATROSKA_ID_SIMPLETAG 0x67c8
110 #define MATROSKA_ID_TAGNAME 0x45a3
111 #define MATROSKA_ID_TAGLANGUAGE 0x447a
112 #define MATROSKA_ID_TAGSTRING 0x4487
115 struct ebml_simple_tag
{
116 struct bstr tag_name
;
117 struct bstr tag_language
;
118 struct bstr tag_string
;
125 struct ebml_targets
{
126 uint64_t target_type_value
;
127 uint64_t target_track_uid
;
128 uint64_t target_edition_uid
;
129 uint64_t target_chapter_uid
;
130 uint64_t target_attachment_uid
;
132 int n_target_type_value
;
133 int n_target_track_uid
;
134 int n_target_edition_uid
;
135 int n_target_chapter_uid
;
136 int n_target_attachment_uid
;
140 struct ebml_targets targets
;
141 struct ebml_simple_tag
*simple_tag
;
148 struct ebml_tag
*tag
;
153 struct ebml_chapter_display
{
154 struct bstr chap_string
;
155 struct bstr
*chap_language
;
161 struct ebml_chapter_atom
{
162 uint64_t chapter_uid
;
163 uint64_t chapter_time_start
;
164 uint64_t chapter_time_end
;
165 uint64_t chapter_flag_hidden
;
166 uint64_t chapter_flag_enabled
;
167 struct bstr chapter_segment_uid
;
168 uint64_t chapter_segment_edition_uid
;
169 struct ebml_chapter_display
*chapter_display
;
172 int n_chapter_time_start
;
173 int n_chapter_time_end
;
174 int n_chapter_flag_hidden
;
175 int n_chapter_flag_enabled
;
176 int n_chapter_segment_uid
;
177 int n_chapter_segment_edition_uid
;
178 int n_chapter_display
;
181 struct ebml_edition_entry
{
182 uint64_t edition_uid
;
183 uint64_t edition_flag_hidden
;
184 uint64_t edition_flag_default
;
185 uint64_t edition_flag_ordered
;
186 struct ebml_chapter_atom
*chapter_atom
;
189 int n_edition_flag_hidden
;
190 int n_edition_flag_default
;
191 int n_edition_flag_ordered
;
195 struct ebml_chapters
{
196 struct ebml_edition_entry
*edition_entry
;
201 struct ebml_attached_file
{
202 struct bstr file_name
;
203 struct bstr file_mime_type
;
204 struct bstr file_data
;
208 int n_file_mime_type
;
213 struct ebml_attachments
{
214 struct ebml_attached_file
*attached_file
;
219 struct ebml_cue_track_positions
{
221 uint64_t cue_cluster_position
;
224 int n_cue_cluster_position
;
227 struct ebml_cue_point
{
229 struct ebml_cue_track_positions
*cue_track_positions
;
232 int n_cue_track_positions
;
236 struct ebml_cue_point
*cue_point
;
241 struct ebml_content_compression
{
242 uint64_t content_comp_algo
;
243 struct bstr content_comp_settings
;
245 int n_content_comp_algo
;
246 int n_content_comp_settings
;
249 struct ebml_content_encoding
{
250 uint64_t content_encoding_order
;
251 uint64_t content_encoding_scope
;
252 uint64_t content_encoding_type
;
253 struct ebml_content_compression content_compression
;
255 int n_content_encoding_order
;
256 int n_content_encoding_scope
;
257 int n_content_encoding_type
;
258 int n_content_compression
;
261 struct ebml_content_encodings
{
262 struct ebml_content_encoding
*content_encoding
;
264 int n_content_encoding
;
268 double sampling_frequency
;
272 int n_sampling_frequency
;
278 uint64_t flag_interlaced
;
279 uint64_t pixel_width
;
280 uint64_t pixel_height
;
281 uint64_t display_width
;
282 uint64_t display_height
;
285 int n_flag_interlaced
;
289 int n_display_height
;
293 struct ebml_track_entry
{
294 uint64_t track_number
;
297 uint64_t flag_enabled
;
298 uint64_t flag_default
;
299 uint64_t flag_forced
;
300 uint64_t flag_lacing
;
302 uint64_t default_duration
;
303 double track_timecode_scale
;
304 uint64_t max_block_addition_id
;
306 struct bstr language
;
307 struct bstr codec_id
;
308 struct bstr codec_private
;
309 uint64_t codec_decode_all
;
310 struct ebml_video video
;
311 struct ebml_audio audio
;
312 struct ebml_content_encodings content_encodings
;
322 int n_default_duration
;
323 int n_track_timecode_scale
;
324 int n_max_block_addition_id
;
329 int n_codec_decode_all
;
332 int n_content_encodings
;
336 struct ebml_track_entry
*track_entry
;
341 struct ebml_block_group
{
343 uint64_t block_duration
;
344 int64_t *reference_block
;
347 int n_block_duration
;
348 int n_reference_block
;
351 struct ebml_cluster
{
353 struct ebml_block_group
*block_group
;
354 struct bstr
*simple_block
;
362 struct bstr segment_uid
;
363 struct bstr prev_uid
;
364 struct bstr next_uid
;
365 uint64_t timecode_scale
;
368 struct bstr muxing_app
;
369 struct bstr writing_app
;
375 int n_timecode_scale
;
385 uint64_t seek_position
;
391 struct ebml_seek_head
{
392 struct ebml_seek
*seek
;
397 struct ebml_segment
{
398 struct ebml_seek_head
*seek_head
;
399 struct ebml_info
*info
;
400 struct ebml_cluster
*cluster
;
401 struct ebml_tracks
*tracks
;
402 struct ebml_cues cues
;
403 struct ebml_attachments attachments
;
404 struct ebml_chapters chapters
;
405 struct ebml_tags
*tags
;
418 uint64_t ebml_version
;
419 uint64_t ebml_read_version
;
420 uint64_t ebml_max_id_length
;
421 uint64_t ebml_max_size_length
;
422 struct bstr doc_type
;
423 uint64_t doc_type_version
;
424 uint64_t doc_type_read_version
;
427 int n_ebml_read_version
;
428 int n_ebml_max_id_length
;
429 int n_ebml_max_size_length
;
431 int n_doc_type_version
;
432 int n_doc_type_read_version
;
434 extern const struct ebml_elem_desc ebml_ebml_desc
;
435 extern const struct ebml_elem_desc ebml_segment_desc
;
436 extern const struct ebml_elem_desc ebml_seek_head_desc
;
437 extern const struct ebml_elem_desc ebml_seek_desc
;
438 extern const struct ebml_elem_desc ebml_info_desc
;
439 extern const struct ebml_elem_desc ebml_cluster_desc
;
440 extern const struct ebml_elem_desc ebml_block_group_desc
;
441 extern const struct ebml_elem_desc ebml_tracks_desc
;
442 extern const struct ebml_elem_desc ebml_track_entry_desc
;
443 extern const struct ebml_elem_desc ebml_video_desc
;
444 extern const struct ebml_elem_desc ebml_audio_desc
;
445 extern const struct ebml_elem_desc ebml_content_encodings_desc
;
446 extern const struct ebml_elem_desc ebml_content_encoding_desc
;
447 extern const struct ebml_elem_desc ebml_content_compression_desc
;
448 extern const struct ebml_elem_desc ebml_cues_desc
;
449 extern const struct ebml_elem_desc ebml_cue_point_desc
;
450 extern const struct ebml_elem_desc ebml_cue_track_positions_desc
;
451 extern const struct ebml_elem_desc ebml_attachments_desc
;
452 extern const struct ebml_elem_desc ebml_attached_file_desc
;
453 extern const struct ebml_elem_desc ebml_chapters_desc
;
454 extern const struct ebml_elem_desc ebml_edition_entry_desc
;
455 extern const struct ebml_elem_desc ebml_chapter_atom_desc
;
456 extern const struct ebml_elem_desc ebml_chapter_display_desc
;
457 extern const struct ebml_elem_desc ebml_tags_desc
;
458 extern const struct ebml_elem_desc ebml_tag_desc
;
459 extern const struct ebml_elem_desc ebml_targets_desc
;
460 extern const struct ebml_elem_desc ebml_simple_tag_desc
;
462 #define MAX_EBML_SUBELEMENTS 19