// Generated by TOOLS/matroska.py, do not edit manually


E("TagDefault", tag_default, EBML_TYPE_UINT)

E("TagString", tag_string, EBML_TYPE_STR)

E("TagLanguageBCP47", tag_language_bcp47, EBML_TYPE_STR)

E("TagLanguage", tag_language, EBML_TYPE_STR)

E("TagName", tag_name, EBML_TYPE_STR)

#define N simple_tag
E_S("SimpleTag", 5)
F(MATROSKA_ID_TAGNAME, tag_name, 0)
F(MATROSKA_ID_TAGLANGUAGE, tag_language, 0)
F(MATROSKA_ID_TAGLANGUAGEBCP47, tag_language_bcp47, 0)
F(MATROSKA_ID_TAGSTRING, tag_string, 0)
F(MATROSKA_ID_TAGDEFAULT, tag_default, 0)
}};
#undef N

E("TargetAttachmentUID", target_attachment_uid, EBML_TYPE_UINT)

E("TargetChapterUID", target_chapter_uid, EBML_TYPE_UINT)

E("TargetEditionUID", target_edition_uid, EBML_TYPE_UINT)

E("TargetTrackUID", target_track_uid, EBML_TYPE_UINT)

E("TargetType", target_type, EBML_TYPE_STR)

E("TargetTypeValue", target_type_value, EBML_TYPE_UINT)

#define N targets
E_S("Targets", 6)
F(MATROSKA_ID_TARGETTYPEVALUE, target_type_value, 0)
F(MATROSKA_ID_TARGETTYPE, target_type, 0)
F(MATROSKA_ID_TARGETTRACKUID, target_track_uid, 0)
F(MATROSKA_ID_TARGETEDITIONUID, target_edition_uid, 0)
F(MATROSKA_ID_TARGETCHAPTERUID, target_chapter_uid, 0)
F(MATROSKA_ID_TARGETATTACHMENTUID, target_attachment_uid, 0)
}};
#undef N

#define N tag
E_S("Tag", 2)
F(MATROSKA_ID_TARGETS, targets, 0)
F(MATROSKA_ID_SIMPLETAG, simple_tag, 1)
}};
#undef N

#define N tags
E_S("Tags", 1)
F(MATROSKA_ID_TAG, tag, 1)
}};
#undef N

E("ChapCountry", chap_country, EBML_TYPE_STR)

E("ChapLanguageBCP47", chap_language_bcp47, EBML_TYPE_STR)

E("ChapLanguage", chap_language, EBML_TYPE_STR)

E("ChapString", chap_string, EBML_TYPE_STR)

#define N chapter_display
E_S("ChapterDisplay", 4)
F(MATROSKA_ID_CHAPSTRING, chap_string, 0)
F(MATROSKA_ID_CHAPLANGUAGE, chap_language, 1)
F(MATROSKA_ID_CHAPLANGUAGEBCP47, chap_language_bcp47, 1)
F(MATROSKA_ID_CHAPCOUNTRY, chap_country, 1)
}};
#undef N

E("ChapterSegmentEditionUID", chapter_segment_edition_uid, EBML_TYPE_UINT)

E("ChapterSegmentUID", chapter_segment_uid, EBML_TYPE_BINARY)

E("ChapterFlagEnabled", chapter_flag_enabled, EBML_TYPE_UINT)

E("ChapterFlagHidden", chapter_flag_hidden, EBML_TYPE_UINT)

E("ChapterTimeEnd", chapter_time_end, EBML_TYPE_UINT)

E("ChapterTimeStart", chapter_time_start, EBML_TYPE_UINT)

E("ChapterUID", chapter_uid, EBML_TYPE_UINT)

#define N chapter_atom
E_S("ChapterAtom", 8)
F(MATROSKA_ID_CHAPTERUID, chapter_uid, 0)
F(MATROSKA_ID_CHAPTERTIMESTART, chapter_time_start, 0)
F(MATROSKA_ID_CHAPTERTIMEEND, chapter_time_end, 0)
F(MATROSKA_ID_CHAPTERFLAGHIDDEN, chapter_flag_hidden, 0)
F(MATROSKA_ID_CHAPTERFLAGENABLED, chapter_flag_enabled, 0)
F(MATROSKA_ID_CHAPTERSEGMENTUID, chapter_segment_uid, 0)
F(MATROSKA_ID_CHAPTERSEGMENTEDITIONUID, chapter_segment_edition_uid, 0)
F(MATROSKA_ID_CHAPTERDISPLAY, chapter_display, 1)
}};
#undef N

E("EditionFlagOrdered", edition_flag_ordered, EBML_TYPE_UINT)

E("EditionFlagDefault", edition_flag_default, EBML_TYPE_UINT)

E("EditionFlagHidden", edition_flag_hidden, EBML_TYPE_UINT)

E("EditionUID", edition_uid, EBML_TYPE_UINT)

#define N edition_entry
E_S("EditionEntry", 5)
F(MATROSKA_ID_EDITIONUID, edition_uid, 0)
F(MATROSKA_ID_EDITIONFLAGHIDDEN, edition_flag_hidden, 0)
F(MATROSKA_ID_EDITIONFLAGDEFAULT, edition_flag_default, 0)
F(MATROSKA_ID_EDITIONFLAGORDERED, edition_flag_ordered, 0)
F(MATROSKA_ID_CHAPTERATOM, chapter_atom, 1)
}};
#undef N

#define N chapters
E_S("Chapters", 1)
F(MATROSKA_ID_EDITIONENTRY, edition_entry, 1)
}};
#undef N

E("FileUID", file_uid, EBML_TYPE_UINT)

E("FileData", file_data, EBML_TYPE_BINARY)

E("FileMimeType", file_mime_type, EBML_TYPE_STR)

E("FileName", file_name, EBML_TYPE_STR)

E("FileDescription", file_description, EBML_TYPE_STR)

#define N attached_file
E_S("AttachedFile", 5)
F(MATROSKA_ID_FILEDESCRIPTION, file_description, 0)
F(MATROSKA_ID_FILENAME, file_name, 0)
F(MATROSKA_ID_FILEMIMETYPE, file_mime_type, 0)
F(MATROSKA_ID_FILEDATA, file_data, 0)
F(MATROSKA_ID_FILEUID, file_uid, 0)
}};
#undef N

#define N attachments
E_S("Attachments", 1)
F(MATROSKA_ID_ATTACHEDFILE, attached_file, 1)
}};
#undef N

E("CueDuration", cue_duration, EBML_TYPE_UINT)

E("CueRelativePosition", cue_relative_position, EBML_TYPE_UINT)

E("CueClusterPosition", cue_cluster_position, EBML_TYPE_UINT)

E("CueTrack", cue_track, EBML_TYPE_UINT)

#define N cue_track_positions
E_S("CueTrackPositions", 4)
F(MATROSKA_ID_CUETRACK, cue_track, 0)
F(MATROSKA_ID_CUECLUSTERPOSITION, cue_cluster_position, 0)
F(MATROSKA_ID_CUERELATIVEPOSITION, cue_relative_position, 0)
F(MATROSKA_ID_CUEDURATION, cue_duration, 0)
}};
#undef N

E("CueTime", cue_time, EBML_TYPE_UINT)

#define N cue_point
E_S("CuePoint", 2)
F(MATROSKA_ID_CUETIME, cue_time, 0)
F(MATROSKA_ID_CUETRACKPOSITIONS, cue_track_positions, 1)
}};
#undef N

#define N cues
E_S("Cues", 1)
F(MATROSKA_ID_CUEPOINT, cue_point, 1)
}};
#undef N

E("BlockAddIDExtraData", block_add_id_extra_data, EBML_TYPE_BINARY)

E("BlockAddIDType", block_add_id_type, EBML_TYPE_UINT)

E("BlockAddIDName", block_add_id_name, EBML_TYPE_STR)

E("BlockAddIDValue", block_add_id_value, EBML_TYPE_UINT)

#define N block_addition_mapping
E_S("BlockAdditionMapping", 4)
F(MATROSKA_ID_BLOCKADDIDVALUE, block_add_id_value, 0)
F(MATROSKA_ID_BLOCKADDIDNAME, block_add_id_name, 0)
F(MATROSKA_ID_BLOCKADDIDTYPE, block_add_id_type, 0)
F(MATROSKA_ID_BLOCKADDIDEXTRADATA, block_add_id_extra_data, 0)
}};
#undef N

E("ContentCompSettings", content_comp_settings, EBML_TYPE_BINARY)

E("ContentCompAlgo", content_comp_algo, EBML_TYPE_UINT)

#define N content_compression
E_S("ContentCompression", 2)
F(MATROSKA_ID_CONTENTCOMPALGO, content_comp_algo, 0)
F(MATROSKA_ID_CONTENTCOMPSETTINGS, content_comp_settings, 0)
}};
#undef N

E("ContentEncodingType", content_encoding_type, EBML_TYPE_UINT)

E("ContentEncodingScope", content_encoding_scope, EBML_TYPE_UINT)

E("ContentEncodingOrder", content_encoding_order, EBML_TYPE_UINT)

#define N content_encoding
E_S("ContentEncoding", 4)
F(MATROSKA_ID_CONTENTENCODINGORDER, content_encoding_order, 0)
F(MATROSKA_ID_CONTENTENCODINGSCOPE, content_encoding_scope, 0)
F(MATROSKA_ID_CONTENTENCODINGTYPE, content_encoding_type, 0)
F(MATROSKA_ID_CONTENTCOMPRESSION, content_compression, 0)
}};
#undef N

#define N content_encodings
E_S("ContentEncodings", 1)
F(MATROSKA_ID_CONTENTENCODING, content_encoding, 1)
}};
#undef N

E("BitDepth", bit_depth, EBML_TYPE_UINT)

E("Channels", channels, EBML_TYPE_UINT)

E("OutputSamplingFrequency", output_sampling_frequency, EBML_TYPE_FLOAT)

E("SamplingFrequency", sampling_frequency, EBML_TYPE_FLOAT)

#define N audio
E_S("Audio", 4)
F(MATROSKA_ID_SAMPLINGFREQUENCY, sampling_frequency, 0)
F(MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY, output_sampling_frequency, 0)
F(MATROSKA_ID_CHANNELS, channels, 0)
F(MATROSKA_ID_BITDEPTH, bit_depth, 0)
}};
#undef N

E("ProjectionPoseRoll", projection_pose_roll, EBML_TYPE_FLOAT)

E("ProjectionPosePitch", projection_pose_pitch, EBML_TYPE_FLOAT)

E("ProjectionPoseYaw", projection_pose_yaw, EBML_TYPE_FLOAT)

E("ProjectionPrivate", projection_private, EBML_TYPE_BINARY)

E("ProjectionType", projection_type, EBML_TYPE_UINT)

#define N projection
E_S("Projection", 5)
F(MATROSKA_ID_PROJECTIONTYPE, projection_type, 0)
F(MATROSKA_ID_PROJECTIONPRIVATE, projection_private, 0)
F(MATROSKA_ID_PROJECTIONPOSEYAW, projection_pose_yaw, 0)
F(MATROSKA_ID_PROJECTIONPOSEPITCH, projection_pose_pitch, 0)
F(MATROSKA_ID_PROJECTIONPOSEROLL, projection_pose_roll, 0)
}};
#undef N

E("LuminanceMin", luminance_min, EBML_TYPE_FLOAT)

E("LuminanceMax", luminance_max, EBML_TYPE_FLOAT)

E("WhitePointChromaticityY", white_point_chromaticity_y, EBML_TYPE_FLOAT)

E("WhitePointChromaticityX", white_point_chromaticity_x, EBML_TYPE_FLOAT)

E("PrimaryBChromaticityY", primary_b_chromaticity_y, EBML_TYPE_FLOAT)

E("PrimaryBChromaticityX", primary_b_chromaticity_x, EBML_TYPE_FLOAT)

E("PrimaryGChromaticityY", primary_g_chromaticity_y, EBML_TYPE_FLOAT)

E("PrimaryGChromaticityX", primary_g_chromaticity_x, EBML_TYPE_FLOAT)

E("PrimaryRChromaticityY", primary_r_chromaticity_y, EBML_TYPE_FLOAT)

E("PrimaryRChromaticityX", primary_r_chromaticity_x, EBML_TYPE_FLOAT)

#define N mastering_metadata
E_S("MasteringMetadata", 10)
F(MATROSKA_ID_PRIMARYRCHROMATICITYX, primary_r_chromaticity_x, 0)
F(MATROSKA_ID_PRIMARYRCHROMATICITYY, primary_r_chromaticity_y, 0)
F(MATROSKA_ID_PRIMARYGCHROMATICITYX, primary_g_chromaticity_x, 0)
F(MATROSKA_ID_PRIMARYGCHROMATICITYY, primary_g_chromaticity_y, 0)
F(MATROSKA_ID_PRIMARYBCHROMATICITYX, primary_b_chromaticity_x, 0)
F(MATROSKA_ID_PRIMARYBCHROMATICITYY, primary_b_chromaticity_y, 0)
F(MATROSKA_ID_WHITEPOINTCHROMATICITYX, white_point_chromaticity_x, 0)
F(MATROSKA_ID_WHITEPOINTCHROMATICITYY, white_point_chromaticity_y, 0)
F(MATROSKA_ID_LUMINANCEMAX, luminance_max, 0)
F(MATROSKA_ID_LUMINANCEMIN, luminance_min, 0)
}};
#undef N

E("MaxFALL", max_fall, EBML_TYPE_UINT)

E("MaxCLL", max_cll, EBML_TYPE_UINT)

E("Primaries", primaries, EBML_TYPE_UINT)

E("TransferCharacteristics", transfer_characteristics, EBML_TYPE_UINT)

E("Range", range, EBML_TYPE_UINT)

E("ChromaSitingVert", chroma_siting_vert, EBML_TYPE_UINT)

E("ChromaSitingHorz", chroma_siting_horz, EBML_TYPE_UINT)

E("CbSubsamplingVert", cb_subsampling_vert, EBML_TYPE_UINT)

E("CbSubsamplingHorz", cb_subsampling_horz, EBML_TYPE_UINT)

E("ChromaSubsamplingVert", chroma_subsampling_vert, EBML_TYPE_UINT)

E("ChromaSubsamplingHorz", chroma_subsampling_horz, EBML_TYPE_UINT)

E("BitsPerChannel", bits_per_channel, EBML_TYPE_UINT)

E("MatrixCoefficients", matrix_coefficients, EBML_TYPE_UINT)

#define N colour
E_S("Colour", 14)
F(MATROSKA_ID_MATRIXCOEFFICIENTS, matrix_coefficients, 0)
F(MATROSKA_ID_BITSPERCHANNEL, bits_per_channel, 0)
F(MATROSKA_ID_CHROMASUBSAMPLINGHORZ, chroma_subsampling_horz, 0)
F(MATROSKA_ID_CHROMASUBSAMPLINGVERT, chroma_subsampling_vert, 0)
F(MATROSKA_ID_CBSUBSAMPLINGHORZ, cb_subsampling_horz, 0)
F(MATROSKA_ID_CBSUBSAMPLINGVERT, cb_subsampling_vert, 0)
F(MATROSKA_ID_CHROMASITINGHORZ, chroma_siting_horz, 0)
F(MATROSKA_ID_CHROMASITINGVERT, chroma_siting_vert, 0)
F(MATROSKA_ID_RANGE, range, 0)
F(MATROSKA_ID_TRANSFERCHARACTERISTICS, transfer_characteristics, 0)
F(MATROSKA_ID_PRIMARIES, primaries, 0)
F(MATROSKA_ID_MAXCLL, max_cll, 0)
F(MATROSKA_ID_MAXFALL, max_fall, 0)
F(MATROSKA_ID_MASTERINGMETADATA, mastering_metadata, 0)
}};
#undef N

E("StereoMode", stereo_mode, EBML_TYPE_UINT)

E("ColourSpace", colour_space, EBML_TYPE_BINARY)

E("FrameRate", frame_rate, EBML_TYPE_FLOAT)

E("PixelCropBottom", pixel_crop_bottom, EBML_TYPE_UINT)

E("PixelCropRight", pixel_crop_right, EBML_TYPE_UINT)

E("PixelCropLeft", pixel_crop_left, EBML_TYPE_UINT)

E("PixelCropTop", pixel_crop_top, EBML_TYPE_UINT)

E("DisplayUnit", display_unit, EBML_TYPE_UINT)

E("DisplayHeight", display_height, EBML_TYPE_UINT)

E("DisplayWidth", display_width, EBML_TYPE_UINT)

E("PixelHeight", pixel_height, EBML_TYPE_UINT)

E("PixelWidth", pixel_width, EBML_TYPE_UINT)

E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT)

#define N video
E_S("Video", 15)
F(MATROSKA_ID_FLAGINTERLACED, flag_interlaced, 0)
F(MATROSKA_ID_PIXELWIDTH, pixel_width, 0)
F(MATROSKA_ID_PIXELHEIGHT, pixel_height, 0)
F(MATROSKA_ID_DISPLAYWIDTH, display_width, 0)
F(MATROSKA_ID_DISPLAYHEIGHT, display_height, 0)
F(MATROSKA_ID_DISPLAYUNIT, display_unit, 0)
F(MATROSKA_ID_PIXELCROPTOP, pixel_crop_top, 0)
F(MATROSKA_ID_PIXELCROPLEFT, pixel_crop_left, 0)
F(MATROSKA_ID_PIXELCROPRIGHT, pixel_crop_right, 0)
F(MATROSKA_ID_PIXELCROPBOTTOM, pixel_crop_bottom, 0)
F(MATROSKA_ID_FRAMERATE, frame_rate, 0)
F(MATROSKA_ID_COLOURSPACE, colour_space, 0)
F(MATROSKA_ID_STEREOMODE, stereo_mode, 0)
F(MATROSKA_ID_COLOUR, colour, 0)
F(MATROSKA_ID_PROJECTION, projection, 0)
}};
#undef N

E("SeekPreRoll", seek_pre_roll, EBML_TYPE_UINT)

E("CodecDelay", codec_delay, EBML_TYPE_UINT)

E("CodecDecodeAll", codec_decode_all, EBML_TYPE_UINT)

E("CodecName", codec_name, EBML_TYPE_STR)

E("CodecPrivate", codec_private, EBML_TYPE_BINARY)

E("CodecID", codec_id, EBML_TYPE_STR)

E("LanguageBCP47", language_bcp47, EBML_TYPE_STR)

E("Language", language, EBML_TYPE_STR)

E("Name", name, EBML_TYPE_STR)

E("MaxBlockAdditionID", max_block_addition_id, EBML_TYPE_UINT)

E("TrackTimecodeScale", track_timecode_scale, EBML_TYPE_FLOAT)

E("DefaultDuration", default_duration, EBML_TYPE_UINT)

E("MaxCache", max_cache, EBML_TYPE_UINT)

E("MinCache", min_cache, EBML_TYPE_UINT)

E("FlagLacing", flag_lacing, EBML_TYPE_UINT)

E("FlagVisualImpaired", flag_visual_impaired, EBML_TYPE_UINT)

E("FlagHearingImpaired", flag_hearing_impaired, EBML_TYPE_UINT)

E("FlagForced", flag_forced, EBML_TYPE_UINT)

E("FlagDefault", flag_default, EBML_TYPE_UINT)

E("FlagEnabled", flag_enabled, EBML_TYPE_UINT)

E("TrackType", track_type, EBML_TYPE_UINT)

E("TrackUID", track_uid, EBML_TYPE_UINT)

E("TrackNumber", track_number, EBML_TYPE_UINT)

#define N track_entry
E_S("TrackEntry", 27)
F(MATROSKA_ID_TRACKNUMBER, track_number, 0)
F(MATROSKA_ID_TRACKUID, track_uid, 0)
F(MATROSKA_ID_TRACKTYPE, track_type, 0)
F(MATROSKA_ID_FLAGENABLED, flag_enabled, 0)
F(MATROSKA_ID_FLAGDEFAULT, flag_default, 0)
F(MATROSKA_ID_FLAGFORCED, flag_forced, 0)
F(MATROSKA_ID_FLAGHEARINGIMPAIRED, flag_hearing_impaired, 0)
F(MATROSKA_ID_FLAGVISUALIMPAIRED, flag_visual_impaired, 0)
F(MATROSKA_ID_FLAGLACING, flag_lacing, 0)
F(MATROSKA_ID_MINCACHE, min_cache, 0)
F(MATROSKA_ID_MAXCACHE, max_cache, 0)
F(MATROSKA_ID_DEFAULTDURATION, default_duration, 0)
F(MATROSKA_ID_TRACKTIMECODESCALE, track_timecode_scale, 0)
F(MATROSKA_ID_MAXBLOCKADDITIONID, max_block_addition_id, 0)
F(MATROSKA_ID_NAME, name, 0)
F(MATROSKA_ID_LANGUAGE, language, 0)
F(MATROSKA_ID_LANGUAGEBCP47, language_bcp47, 0)
F(MATROSKA_ID_CODECID, codec_id, 0)
F(MATROSKA_ID_CODECPRIVATE, codec_private, 0)
F(MATROSKA_ID_CODECNAME, codec_name, 0)
F(MATROSKA_ID_CODECDECODEALL, codec_decode_all, 0)
F(MATROSKA_ID_CODECDELAY, codec_delay, 0)
F(MATROSKA_ID_SEEKPREROLL, seek_pre_roll, 0)
F(MATROSKA_ID_VIDEO, video, 0)
F(MATROSKA_ID_AUDIO, audio, 0)
F(MATROSKA_ID_CONTENTENCODINGS, content_encodings, 0)
F(MATROSKA_ID_BLOCKADDITIONMAPPING, block_addition_mapping, 1)
}};
#undef N

#define N tracks
E_S("Tracks", 1)
F(MATROSKA_ID_TRACKENTRY, track_entry, 1)
}};
#undef N

E("SimpleBlock", simple_block, EBML_TYPE_BINARY)

E("BlockAdditional", block_additional, EBML_TYPE_BINARY)

E("BlockAddID", block_add_id, EBML_TYPE_UINT)

#define N block_more
E_S("BlockMore", 2)
F(MATROSKA_ID_BLOCKADDID, block_add_id, 0)
F(MATROSKA_ID_BLOCKADDITIONAL, block_additional, 0)
}};
#undef N

#define N block_additions
E_S("BlockAdditions", 1)
F(MATROSKA_ID_BLOCKMORE, block_more, 1)
}};
#undef N

E("DiscardPadding", discard_padding, EBML_TYPE_SINT)

E("ReferenceBlock", reference_block, EBML_TYPE_SINT)

E("BlockDuration", block_duration, EBML_TYPE_UINT)

E("Block", block, EBML_TYPE_BINARY)

#define N block_group
E_S("BlockGroup", 5)
F(MATROSKA_ID_BLOCK, block, 0)
F(MATROSKA_ID_BLOCKDURATION, block_duration, 0)
F(MATROSKA_ID_REFERENCEBLOCK, reference_block, 1)
F(MATROSKA_ID_DISCARDPADDING, discard_padding, 0)
F(MATROSKA_ID_BLOCKADDITIONS, block_additions, 0)
}};
#undef N

E("Timecode", timecode, EBML_TYPE_UINT)

#define N cluster
E_S("Cluster", 3)
F(MATROSKA_ID_TIMECODE, timecode, 0)
F(MATROSKA_ID_BLOCKGROUP, block_group, 1)
F(MATROSKA_ID_SIMPLEBLOCK, simple_block, 1)
}};
#undef N

E("Duration", duration, EBML_TYPE_FLOAT)

E("WritingApp", writing_app, EBML_TYPE_STR)

E("MuxingApp", muxing_app, EBML_TYPE_STR)

E("Title", title, EBML_TYPE_STR)

E("DateUTC", date_utc, EBML_TYPE_SINT)

E("TimecodeScale", timecode_scale, EBML_TYPE_UINT)

E("NextUID", next_uid, EBML_TYPE_BINARY)

E("PrevUID", prev_uid, EBML_TYPE_BINARY)

E("SegmentUID", segment_uid, EBML_TYPE_BINARY)

#define N info
E_S("Info", 9)
F(MATROSKA_ID_SEGMENTUID, segment_uid, 0)
F(MATROSKA_ID_PREVUID, prev_uid, 0)
F(MATROSKA_ID_NEXTUID, next_uid, 0)
F(MATROSKA_ID_TIMECODESCALE, timecode_scale, 0)
F(MATROSKA_ID_DATEUTC, date_utc, 0)
F(MATROSKA_ID_TITLE, title, 0)
F(MATROSKA_ID_MUXINGAPP, muxing_app, 0)
F(MATROSKA_ID_WRITINGAPP, writing_app, 0)
F(MATROSKA_ID_DURATION, duration, 0)
}};
#undef N

E("SeekPosition", seek_position, EBML_TYPE_UINT)

E("SeekID", seek_id, EBML_TYPE_EBML_ID)

#define N seek
E_S("Seek", 2)
F(MATROSKA_ID_SEEKID, seek_id, 0)
F(MATROSKA_ID_SEEKPOSITION, seek_position, 0)
}};
#undef N

#define N seek_head
E_S("SeekHead", 1)
F(MATROSKA_ID_SEEK, seek, 1)
}};
#undef N

#define N segment
E_S("Segment", 8)
F(MATROSKA_ID_SEEKHEAD, seek_head, 1)
F(MATROSKA_ID_INFO, info, 1)
F(MATROSKA_ID_CLUSTER, cluster, 1)
F(MATROSKA_ID_TRACKS, tracks, 1)
F(MATROSKA_ID_CUES, cues, 0)
F(MATROSKA_ID_ATTACHMENTS, attachments, 0)
F(MATROSKA_ID_CHAPTERS, chapters, 0)
F(MATROSKA_ID_TAGS, tags, 1)
}};
#undef N

E("Void", void, EBML_TYPE_BINARY)

E("CRC32", crc32, EBML_TYPE_BINARY)

E("DocTypeReadVersion", doc_type_read_version, EBML_TYPE_UINT)

E("DocTypeVersion", doc_type_version, EBML_TYPE_UINT)

E("DocType", doc_type, EBML_TYPE_STR)

E("EBMLMaxSizeLength", ebml_max_size_length, EBML_TYPE_UINT)

E("EBMLMaxIDLength", ebml_max_id_length, EBML_TYPE_UINT)

E("EBMLReadVersion", ebml_read_version, EBML_TYPE_UINT)

E("EBMLVersion", ebml_version, EBML_TYPE_UINT)

#define N ebml
E_S("EBML", 7)
F(EBML_ID_EBMLVERSION, ebml_version, 0)
F(EBML_ID_EBMLREADVERSION, ebml_read_version, 0)
F(EBML_ID_EBMLMAXIDLENGTH, ebml_max_id_length, 0)
F(EBML_ID_EBMLMAXSIZELENGTH, ebml_max_size_length, 0)
F(EBML_ID_DOCTYPE, doc_type, 0)
F(EBML_ID_DOCTYPEVERSION, doc_type_version, 0)
F(EBML_ID_DOCTYPEREADVERSION, doc_type_read_version, 0)
}};
#undef N
