0001-Add-generated-ebml-sources.patch (42195B)
- From 500b8f9510babd4e5d2d9cd35af689617946a1d9 Mon Sep 17 00:00:00 2001
- From: Michael Forney <mforney@mforney.org>
- Date: Wed, 14 Aug 2024 20:07:19 -0700
- Subject: [PATCH] Add generated ebml sources
- These require python to generate.
- $ python TOOLS/matroska.py --generate-header ebml_types.h
- $ python TOOLS/matroska.py --generate-definitions ebml_defs.inc
- ---
- ebml_defs.inc | 595 +++++++++++++++++++++++++++++++++++++++++++++
- ebml_types.h | 658 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 1253 insertions(+)
- create mode 100644 ebml_defs.inc
- create mode 100644 ebml_types.h
- diff --git a/ebml_defs.inc b/ebml_defs.inc
- new file mode 100644
- index 0000000000..da65194639
- --- /dev/null
- +++ b/ebml_defs.inc
- @@ -0,0 +1,595 @@
- +// 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("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("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", 24)
- +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_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)
- +}};
- +#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
- diff --git a/ebml_types.h b/ebml_types.h
- new file mode 100644
- index 0000000000..d544694d48
- --- /dev/null
- +++ b/ebml_types.h
- @@ -0,0 +1,658 @@
- +// Generated by TOOLS/matroska.py, do not edit manually
- +
- +#define EBML_ID_EBML 0x1a45dfa3
- +#define EBML_ID_EBMLVERSION 0x4286
- +#define EBML_ID_EBMLREADVERSION 0x42f7
- +#define EBML_ID_EBMLMAXIDLENGTH 0x42f2
- +#define EBML_ID_EBMLMAXSIZELENGTH 0x42f3
- +#define EBML_ID_DOCTYPE 0x4282
- +#define EBML_ID_DOCTYPEVERSION 0x4287
- +#define EBML_ID_DOCTYPEREADVERSION 0x4285
- +#define EBML_ID_CRC32 0xbf
- +#define EBML_ID_VOID 0xec
- +#define MATROSKA_ID_SEGMENT 0x18538067
- +#define MATROSKA_ID_SEEKHEAD 0x114d9b74
- +#define MATROSKA_ID_SEEK 0x4dbb
- +#define MATROSKA_ID_SEEKID 0x53ab
- +#define MATROSKA_ID_SEEKPOSITION 0x53ac
- +#define MATROSKA_ID_INFO 0x1549a966
- +#define MATROSKA_ID_SEGMENTUID 0x73a4
- +#define MATROSKA_ID_PREVUID 0x3cb923
- +#define MATROSKA_ID_NEXTUID 0x3eb923
- +#define MATROSKA_ID_TIMECODESCALE 0x2ad7b1
- +#define MATROSKA_ID_DATEUTC 0x4461
- +#define MATROSKA_ID_TITLE 0x7ba9
- +#define MATROSKA_ID_MUXINGAPP 0x4d80
- +#define MATROSKA_ID_WRITINGAPP 0x5741
- +#define MATROSKA_ID_DURATION 0x4489
- +#define MATROSKA_ID_CLUSTER 0x1f43b675
- +#define MATROSKA_ID_TIMECODE 0xe7
- +#define MATROSKA_ID_BLOCKGROUP 0xa0
- +#define MATROSKA_ID_BLOCK 0xa1
- +#define MATROSKA_ID_BLOCKDURATION 0x9b
- +#define MATROSKA_ID_REFERENCEBLOCK 0xfb
- +#define MATROSKA_ID_DISCARDPADDING 0x75a2
- +#define MATROSKA_ID_BLOCKADDITIONS 0x75a1
- +#define MATROSKA_ID_BLOCKMORE 0xa6
- +#define MATROSKA_ID_BLOCKADDID 0xee
- +#define MATROSKA_ID_BLOCKADDITIONAL 0xa5
- +#define MATROSKA_ID_SIMPLEBLOCK 0xa3
- +#define MATROSKA_ID_TRACKS 0x1654ae6b
- +#define MATROSKA_ID_TRACKENTRY 0xae
- +#define MATROSKA_ID_TRACKNUMBER 0xd7
- +#define MATROSKA_ID_TRACKUID 0x73c5
- +#define MATROSKA_ID_TRACKTYPE 0x83
- +#define MATROSKA_ID_FLAGENABLED 0xb9
- +#define MATROSKA_ID_FLAGDEFAULT 0x88
- +#define MATROSKA_ID_FLAGFORCED 0x55aa
- +#define MATROSKA_ID_FLAGLACING 0x9c
- +#define MATROSKA_ID_MINCACHE 0x6de7
- +#define MATROSKA_ID_MAXCACHE 0x6df8
- +#define MATROSKA_ID_DEFAULTDURATION 0x23e383
- +#define MATROSKA_ID_TRACKTIMECODESCALE 0x23314f
- +#define MATROSKA_ID_MAXBLOCKADDITIONID 0x55ee
- +#define MATROSKA_ID_NAME 0x536e
- +#define MATROSKA_ID_LANGUAGE 0x22b59c
- +#define MATROSKA_ID_LANGUAGEBCP47 0x22b59d
- +#define MATROSKA_ID_CODECID 0x86
- +#define MATROSKA_ID_CODECPRIVATE 0x63a2
- +#define MATROSKA_ID_CODECNAME 0x258688
- +#define MATROSKA_ID_CODECDECODEALL 0xaa
- +#define MATROSKA_ID_CODECDELAY 0x56aa
- +#define MATROSKA_ID_SEEKPREROLL 0x56bb
- +#define MATROSKA_ID_VIDEO 0xe0
- +#define MATROSKA_ID_FLAGINTERLACED 0x9a
- +#define MATROSKA_ID_PIXELWIDTH 0xb0
- +#define MATROSKA_ID_PIXELHEIGHT 0xba
- +#define MATROSKA_ID_DISPLAYWIDTH 0x54b0
- +#define MATROSKA_ID_DISPLAYHEIGHT 0x54ba
- +#define MATROSKA_ID_DISPLAYUNIT 0x54b2
- +#define MATROSKA_ID_PIXELCROPTOP 0x54bb
- +#define MATROSKA_ID_PIXELCROPLEFT 0x54cc
- +#define MATROSKA_ID_PIXELCROPRIGHT 0x54dd
- +#define MATROSKA_ID_PIXELCROPBOTTOM 0x54aa
- +#define MATROSKA_ID_FRAMERATE 0x2383e3
- +#define MATROSKA_ID_COLOURSPACE 0x2eb524
- +#define MATROSKA_ID_STEREOMODE 0x53b8
- +#define MATROSKA_ID_COLOUR 0x55b0
- +#define MATROSKA_ID_MATRIXCOEFFICIENTS 0x55b1
- +#define MATROSKA_ID_BITSPERCHANNEL 0x55b2
- +#define MATROSKA_ID_CHROMASUBSAMPLINGHORZ 0x55b3
- +#define MATROSKA_ID_CHROMASUBSAMPLINGVERT 0x55b4
- +#define MATROSKA_ID_CBSUBSAMPLINGHORZ 0x55b5
- +#define MATROSKA_ID_CBSUBSAMPLINGVERT 0x55b6
- +#define MATROSKA_ID_CHROMASITINGHORZ 0x55b7
- +#define MATROSKA_ID_CHROMASITINGVERT 0x55b8
- +#define MATROSKA_ID_RANGE 0x55b9
- +#define MATROSKA_ID_TRANSFERCHARACTERISTICS 0x55ba
- +#define MATROSKA_ID_PRIMARIES 0x55bb
- +#define MATROSKA_ID_MAXCLL 0x55bc
- +#define MATROSKA_ID_MAXFALL 0x55bd
- +#define MATROSKA_ID_MASTERINGMETADATA 0x55d0
- +#define MATROSKA_ID_PRIMARYRCHROMATICITYX 0x55d1
- +#define MATROSKA_ID_PRIMARYRCHROMATICITYY 0x55d2
- +#define MATROSKA_ID_PRIMARYGCHROMATICITYX 0x55d3
- +#define MATROSKA_ID_PRIMARYGCHROMATICITYY 0x55d4
- +#define MATROSKA_ID_PRIMARYBCHROMATICITYX 0x55d5
- +#define MATROSKA_ID_PRIMARYBCHROMATICITYY 0x55d6
- +#define MATROSKA_ID_WHITEPOINTCHROMATICITYX 0x55d7
- +#define MATROSKA_ID_WHITEPOINTCHROMATICITYY 0x55d8
- +#define MATROSKA_ID_LUMINANCEMAX 0x55d9
- +#define MATROSKA_ID_LUMINANCEMIN 0x55da
- +#define MATROSKA_ID_PROJECTION 0x7670
- +#define MATROSKA_ID_PROJECTIONTYPE 0x7671
- +#define MATROSKA_ID_PROJECTIONPRIVATE 0x7672
- +#define MATROSKA_ID_PROJECTIONPOSEYAW 0x7673
- +#define MATROSKA_ID_PROJECTIONPOSEPITCH 0x7674
- +#define MATROSKA_ID_PROJECTIONPOSEROLL 0x7675
- +#define MATROSKA_ID_AUDIO 0xe1
- +#define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5
- +#define MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY 0x78b5
- +#define MATROSKA_ID_CHANNELS 0x9f
- +#define MATROSKA_ID_BITDEPTH 0x6264
- +#define MATROSKA_ID_CONTENTENCODINGS 0x6d80
- +#define MATROSKA_ID_CONTENTENCODING 0x6240
- +#define MATROSKA_ID_CONTENTENCODINGORDER 0x5031
- +#define MATROSKA_ID_CONTENTENCODINGSCOPE 0x5032
- +#define MATROSKA_ID_CONTENTENCODINGTYPE 0x5033
- +#define MATROSKA_ID_CONTENTCOMPRESSION 0x5034
- +#define MATROSKA_ID_CONTENTCOMPALGO 0x4254
- +#define MATROSKA_ID_CONTENTCOMPSETTINGS 0x4255
- +#define MATROSKA_ID_CUES 0x1c53bb6b
- +#define MATROSKA_ID_CUEPOINT 0xbb
- +#define MATROSKA_ID_CUETIME 0xb3
- +#define MATROSKA_ID_CUETRACKPOSITIONS 0xb7
- +#define MATROSKA_ID_CUETRACK 0xf7
- +#define MATROSKA_ID_CUECLUSTERPOSITION 0xf1
- +#define MATROSKA_ID_CUERELATIVEPOSITION 0xf0
- +#define MATROSKA_ID_CUEDURATION 0xb2
- +#define MATROSKA_ID_ATTACHMENTS 0x1941a469
- +#define MATROSKA_ID_ATTACHEDFILE 0x61a7
- +#define MATROSKA_ID_FILEDESCRIPTION 0x467e
- +#define MATROSKA_ID_FILENAME 0x466e
- +#define MATROSKA_ID_FILEMIMETYPE 0x4660
- +#define MATROSKA_ID_FILEDATA 0x465c
- +#define MATROSKA_ID_FILEUID 0x46ae
- +#define MATROSKA_ID_CHAPTERS 0x1043a770
- +#define MATROSKA_ID_EDITIONENTRY 0x45b9
- +#define MATROSKA_ID_EDITIONUID 0x45bc
- +#define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45bd
- +#define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45db
- +#define MATROSKA_ID_EDITIONFLAGORDERED 0x45dd
- +#define MATROSKA_ID_CHAPTERATOM 0xb6
- +#define MATROSKA_ID_CHAPTERUID 0x73c4
- +#define MATROSKA_ID_CHAPTERTIMESTART 0x91
- +#define MATROSKA_ID_CHAPTERTIMEEND 0x92
- +#define MATROSKA_ID_CHAPTERFLAGHIDDEN 0x98
- +#define MATROSKA_ID_CHAPTERFLAGENABLED 0x4598
- +#define MATROSKA_ID_CHAPTERSEGMENTUID 0x6e67
- +#define MATROSKA_ID_CHAPTERSEGMENTEDITIONUID 0x6ebc
- +#define MATROSKA_ID_CHAPTERDISPLAY 0x80
- +#define MATROSKA_ID_CHAPSTRING 0x85
- +#define MATROSKA_ID_CHAPLANGUAGE 0x437c
- +#define MATROSKA_ID_CHAPLANGUAGEBCP47 0x437d
- +#define MATROSKA_ID_CHAPCOUNTRY 0x437e
- +#define MATROSKA_ID_TAGS 0x1254c367
- +#define MATROSKA_ID_TAG 0x7373
- +#define MATROSKA_ID_TARGETS 0x63c0
- +#define MATROSKA_ID_TARGETTYPEVALUE 0x68ca
- +#define MATROSKA_ID_TARGETTYPE 0x63ca
- +#define MATROSKA_ID_TARGETTRACKUID 0x63c5
- +#define MATROSKA_ID_TARGETEDITIONUID 0x63c9
- +#define MATROSKA_ID_TARGETCHAPTERUID 0x63c4
- +#define MATROSKA_ID_TARGETATTACHMENTUID 0x63c6
- +#define MATROSKA_ID_SIMPLETAG 0x67c8
- +#define MATROSKA_ID_TAGNAME 0x45a3
- +#define MATROSKA_ID_TAGLANGUAGE 0x447a
- +#define MATROSKA_ID_TAGLANGUAGEBCP47 0x447b
- +#define MATROSKA_ID_TAGSTRING 0x4487
- +#define MATROSKA_ID_TAGDEFAULT 0x4484
- +
- +
- +struct ebml_simple_tag {
- + char * tag_name;
- + char * tag_language;
- + char * tag_language_bcp47;
- + char * tag_string;
- + uint64_t tag_default;
- +
- + int n_tag_name;
- + int n_tag_language;
- + int n_tag_language_bcp47;
- + int n_tag_string;
- + int n_tag_default;
- +};
- +
- +struct ebml_targets {
- + uint64_t target_type_value;
- + char * target_type;
- + uint64_t target_track_uid;
- + uint64_t target_edition_uid;
- + uint64_t target_chapter_uid;
- + uint64_t target_attachment_uid;
- +
- + int n_target_type_value;
- + int n_target_type;
- + int n_target_track_uid;
- + int n_target_edition_uid;
- + int n_target_chapter_uid;
- + int n_target_attachment_uid;
- +};
- +
- +struct ebml_tag {
- + struct ebml_targets targets;
- + struct ebml_simple_tag *simple_tag;
- +
- + int n_targets;
- + int n_simple_tag;
- +};
- +
- +struct ebml_tags {
- + struct ebml_tag *tag;
- +
- + int n_tag;
- +};
- +
- +struct ebml_chapter_display {
- + char * chap_string;
- + char * *chap_language;
- + char * *chap_language_bcp47;
- + char * *chap_country;
- +
- + int n_chap_string;
- + int n_chap_language;
- + int n_chap_language_bcp47;
- + int n_chap_country;
- +};
- +
- +struct ebml_chapter_atom {
- + uint64_t chapter_uid;
- + uint64_t chapter_time_start;
- + uint64_t chapter_time_end;
- + uint64_t chapter_flag_hidden;
- + uint64_t chapter_flag_enabled;
- + bstr chapter_segment_uid;
- + uint64_t chapter_segment_edition_uid;
- + struct ebml_chapter_display *chapter_display;
- +
- + int n_chapter_uid;
- + int n_chapter_time_start;
- + int n_chapter_time_end;
- + int n_chapter_flag_hidden;
- + int n_chapter_flag_enabled;
- + int n_chapter_segment_uid;
- + int n_chapter_segment_edition_uid;
- + int n_chapter_display;
- +};
- +
- +struct ebml_edition_entry {
- + uint64_t edition_uid;
- + uint64_t edition_flag_hidden;
- + uint64_t edition_flag_default;
- + uint64_t edition_flag_ordered;
- + struct ebml_chapter_atom *chapter_atom;
- +
- + int n_edition_uid;
- + int n_edition_flag_hidden;
- + int n_edition_flag_default;
- + int n_edition_flag_ordered;
- + int n_chapter_atom;
- +};
- +
- +struct ebml_chapters {
- + struct ebml_edition_entry *edition_entry;
- +
- + int n_edition_entry;
- +};
- +
- +struct ebml_attached_file {
- + char * file_description;
- + char * file_name;
- + char * file_mime_type;
- + bstr file_data;
- + uint64_t file_uid;
- +
- + int n_file_description;
- + int n_file_name;
- + int n_file_mime_type;
- + int n_file_data;
- + int n_file_uid;
- +};
- +
- +struct ebml_attachments {
- + struct ebml_attached_file *attached_file;
- +
- + int n_attached_file;
- +};
- +
- +struct ebml_cue_track_positions {
- + uint64_t cue_track;
- + uint64_t cue_cluster_position;
- + uint64_t cue_relative_position;
- + uint64_t cue_duration;
- +
- + int n_cue_track;
- + int n_cue_cluster_position;
- + int n_cue_relative_position;
- + int n_cue_duration;
- +};
- +
- +struct ebml_cue_point {
- + uint64_t cue_time;
- + struct ebml_cue_track_positions *cue_track_positions;
- +
- + int n_cue_time;
- + int n_cue_track_positions;
- +};
- +
- +struct ebml_cues {
- + struct ebml_cue_point *cue_point;
- +
- + int n_cue_point;
- +};
- +
- +struct ebml_content_compression {
- + uint64_t content_comp_algo;
- + bstr content_comp_settings;
- +
- + int n_content_comp_algo;
- + int n_content_comp_settings;
- +};
- +
- +struct ebml_content_encoding {
- + uint64_t content_encoding_order;
- + uint64_t content_encoding_scope;
- + uint64_t content_encoding_type;
- + struct ebml_content_compression content_compression;
- +
- + int n_content_encoding_order;
- + int n_content_encoding_scope;
- + int n_content_encoding_type;
- + int n_content_compression;
- +};
- +
- +struct ebml_content_encodings {
- + struct ebml_content_encoding *content_encoding;
- +
- + int n_content_encoding;
- +};
- +
- +struct ebml_audio {
- + double sampling_frequency;
- + double output_sampling_frequency;
- + uint64_t channels;
- + uint64_t bit_depth;
- +
- + int n_sampling_frequency;
- + int n_output_sampling_frequency;
- + int n_channels;
- + int n_bit_depth;
- +};
- +
- +struct ebml_projection {
- + uint64_t projection_type;
- + bstr projection_private;
- + double projection_pose_yaw;
- + double projection_pose_pitch;
- + double projection_pose_roll;
- +
- + int n_projection_type;
- + int n_projection_private;
- + int n_projection_pose_yaw;
- + int n_projection_pose_pitch;
- + int n_projection_pose_roll;
- +};
- +
- +struct ebml_mastering_metadata {
- + double primary_r_chromaticity_x;
- + double primary_r_chromaticity_y;
- + double primary_g_chromaticity_x;
- + double primary_g_chromaticity_y;
- + double primary_b_chromaticity_x;
- + double primary_b_chromaticity_y;
- + double white_point_chromaticity_x;
- + double white_point_chromaticity_y;
- + double luminance_max;
- + double luminance_min;
- +
- + int n_primary_r_chromaticity_x;
- + int n_primary_r_chromaticity_y;
- + int n_primary_g_chromaticity_x;
- + int n_primary_g_chromaticity_y;
- + int n_primary_b_chromaticity_x;
- + int n_primary_b_chromaticity_y;
- + int n_white_point_chromaticity_x;
- + int n_white_point_chromaticity_y;
- + int n_luminance_max;
- + int n_luminance_min;
- +};
- +
- +struct ebml_colour {
- + uint64_t matrix_coefficients;
- + uint64_t bits_per_channel;
- + uint64_t chroma_subsampling_horz;
- + uint64_t chroma_subsampling_vert;
- + uint64_t cb_subsampling_horz;
- + uint64_t cb_subsampling_vert;
- + uint64_t chroma_siting_horz;
- + uint64_t chroma_siting_vert;
- + uint64_t range;
- + uint64_t transfer_characteristics;
- + uint64_t primaries;
- + uint64_t max_cll;
- + uint64_t max_fall;
- + struct ebml_mastering_metadata mastering_metadata;
- +
- + int n_matrix_coefficients;
- + int n_bits_per_channel;
- + int n_chroma_subsampling_horz;
- + int n_chroma_subsampling_vert;
- + int n_cb_subsampling_horz;
- + int n_cb_subsampling_vert;
- + int n_chroma_siting_horz;
- + int n_chroma_siting_vert;
- + int n_range;
- + int n_transfer_characteristics;
- + int n_primaries;
- + int n_max_cll;
- + int n_max_fall;
- + int n_mastering_metadata;
- +};
- +
- +struct ebml_video {
- + uint64_t flag_interlaced;
- + uint64_t pixel_width;
- + uint64_t pixel_height;
- + uint64_t display_width;
- + uint64_t display_height;
- + uint64_t display_unit;
- + uint64_t pixel_crop_top;
- + uint64_t pixel_crop_left;
- + uint64_t pixel_crop_right;
- + uint64_t pixel_crop_bottom;
- + double frame_rate;
- + bstr colour_space;
- + uint64_t stereo_mode;
- + struct ebml_colour colour;
- + struct ebml_projection projection;
- +
- + int n_flag_interlaced;
- + int n_pixel_width;
- + int n_pixel_height;
- + int n_display_width;
- + int n_display_height;
- + int n_display_unit;
- + int n_pixel_crop_top;
- + int n_pixel_crop_left;
- + int n_pixel_crop_right;
- + int n_pixel_crop_bottom;
- + int n_frame_rate;
- + int n_colour_space;
- + int n_stereo_mode;
- + int n_colour;
- + int n_projection;
- +};
- +
- +struct ebml_track_entry {
- + uint64_t track_number;
- + uint64_t track_uid;
- + uint64_t track_type;
- + uint64_t flag_enabled;
- + uint64_t flag_default;
- + uint64_t flag_forced;
- + uint64_t flag_lacing;
- + uint64_t min_cache;
- + uint64_t max_cache;
- + uint64_t default_duration;
- + double track_timecode_scale;
- + uint64_t max_block_addition_id;
- + char * name;
- + char * language;
- + char * language_bcp47;
- + char * codec_id;
- + bstr codec_private;
- + char * codec_name;
- + uint64_t codec_decode_all;
- + uint64_t codec_delay;
- + uint64_t seek_pre_roll;
- + struct ebml_video video;
- + struct ebml_audio audio;
- + struct ebml_content_encodings content_encodings;
- +
- + int n_track_number;
- + int n_track_uid;
- + int n_track_type;
- + int n_flag_enabled;
- + int n_flag_default;
- + int n_flag_forced;
- + int n_flag_lacing;
- + int n_min_cache;
- + int n_max_cache;
- + int n_default_duration;
- + int n_track_timecode_scale;
- + int n_max_block_addition_id;
- + int n_name;
- + int n_language;
- + int n_language_bcp47;
- + int n_codec_id;
- + int n_codec_private;
- + int n_codec_name;
- + int n_codec_decode_all;
- + int n_codec_delay;
- + int n_seek_pre_roll;
- + int n_video;
- + int n_audio;
- + int n_content_encodings;
- +};
- +
- +struct ebml_tracks {
- + struct ebml_track_entry *track_entry;
- +
- + int n_track_entry;
- +};
- +
- +struct ebml_block_more {
- + uint64_t block_add_id;
- + bstr block_additional;
- +
- + int n_block_add_id;
- + int n_block_additional;
- +};
- +
- +struct ebml_block_additions {
- + struct ebml_block_more *block_more;
- +
- + int n_block_more;
- +};
- +
- +struct ebml_block_group {
- + bstr block;
- + uint64_t block_duration;
- + int64_t *reference_block;
- + int64_t discard_padding;
- + struct ebml_block_additions block_additions;
- +
- + int n_block;
- + int n_block_duration;
- + int n_reference_block;
- + int n_discard_padding;
- + int n_block_additions;
- +};
- +
- +struct ebml_cluster {
- + uint64_t timecode;
- + struct ebml_block_group *block_group;
- + bstr *simple_block;
- +
- + int n_timecode;
- + int n_block_group;
- + int n_simple_block;
- +};
- +
- +struct ebml_info {
- + bstr segment_uid;
- + bstr prev_uid;
- + bstr next_uid;
- + uint64_t timecode_scale;
- + int64_t date_utc;
- + char * title;
- + char * muxing_app;
- + char * writing_app;
- + double duration;
- +
- + int n_segment_uid;
- + int n_prev_uid;
- + int n_next_uid;
- + int n_timecode_scale;
- + int n_date_utc;
- + int n_title;
- + int n_muxing_app;
- + int n_writing_app;
- + int n_duration;
- +};
- +
- +struct ebml_seek {
- + uint32_t seek_id;
- + uint64_t seek_position;
- +
- + int n_seek_id;
- + int n_seek_position;
- +};
- +
- +struct ebml_seek_head {
- + struct ebml_seek *seek;
- +
- + int n_seek;
- +};
- +
- +struct ebml_segment {
- + struct ebml_seek_head *seek_head;
- + struct ebml_info *info;
- + struct ebml_cluster *cluster;
- + struct ebml_tracks *tracks;
- + struct ebml_cues cues;
- + struct ebml_attachments attachments;
- + struct ebml_chapters chapters;
- + struct ebml_tags *tags;
- +
- + int n_seek_head;
- + int n_info;
- + int n_cluster;
- + int n_tracks;
- + int n_cues;
- + int n_attachments;
- + int n_chapters;
- + int n_tags;
- +};
- +
- +struct ebml_ebml {
- + uint64_t ebml_version;
- + uint64_t ebml_read_version;
- + uint64_t ebml_max_id_length;
- + uint64_t ebml_max_size_length;
- + char * doc_type;
- + uint64_t doc_type_version;
- + uint64_t doc_type_read_version;
- +
- + int n_ebml_version;
- + int n_ebml_read_version;
- + int n_ebml_max_id_length;
- + int n_ebml_max_size_length;
- + int n_doc_type;
- + int n_doc_type_version;
- + int n_doc_type_read_version;
- +};
- +extern const struct ebml_elem_desc ebml_ebml_desc;
- +extern const struct ebml_elem_desc ebml_segment_desc;
- +extern const struct ebml_elem_desc ebml_seek_head_desc;
- +extern const struct ebml_elem_desc ebml_seek_desc;
- +extern const struct ebml_elem_desc ebml_info_desc;
- +extern const struct ebml_elem_desc ebml_cluster_desc;
- +extern const struct ebml_elem_desc ebml_block_group_desc;
- +extern const struct ebml_elem_desc ebml_block_additions_desc;
- +extern const struct ebml_elem_desc ebml_block_more_desc;
- +extern const struct ebml_elem_desc ebml_tracks_desc;
- +extern const struct ebml_elem_desc ebml_track_entry_desc;
- +extern const struct ebml_elem_desc ebml_video_desc;
- +extern const struct ebml_elem_desc ebml_colour_desc;
- +extern const struct ebml_elem_desc ebml_mastering_metadata_desc;
- +extern const struct ebml_elem_desc ebml_projection_desc;
- +extern const struct ebml_elem_desc ebml_audio_desc;
- +extern const struct ebml_elem_desc ebml_content_encodings_desc;
- +extern const struct ebml_elem_desc ebml_content_encoding_desc;
- +extern const struct ebml_elem_desc ebml_content_compression_desc;
- +extern const struct ebml_elem_desc ebml_cues_desc;
- +extern const struct ebml_elem_desc ebml_cue_point_desc;
- +extern const struct ebml_elem_desc ebml_cue_track_positions_desc;
- +extern const struct ebml_elem_desc ebml_attachments_desc;
- +extern const struct ebml_elem_desc ebml_attached_file_desc;
- +extern const struct ebml_elem_desc ebml_chapters_desc;
- +extern const struct ebml_elem_desc ebml_edition_entry_desc;
- +extern const struct ebml_elem_desc ebml_chapter_atom_desc;
- +extern const struct ebml_elem_desc ebml_chapter_display_desc;
- +extern const struct ebml_elem_desc ebml_tags_desc;
- +extern const struct ebml_elem_desc ebml_tag_desc;
- +extern const struct ebml_elem_desc ebml_targets_desc;
- +extern const struct ebml_elem_desc ebml_simple_tag_desc;
- +
- +#define MAX_EBML_SUBELEMENTS 24
- --
- 2.44.0