diff options
Diffstat (limited to 'pkg/mpv/patch/0002-Add-generated-ebml-sources.patch')
| -rw-r--r-- | pkg/mpv/patch/0002-Add-generated-ebml-sources.patch | 1147 |
1 files changed, 1147 insertions, 0 deletions
diff --git a/pkg/mpv/patch/0002-Add-generated-ebml-sources.patch b/pkg/mpv/patch/0002-Add-generated-ebml-sources.patch new file mode 100644 index 00000000..bb3be12e --- /dev/null +++ b/pkg/mpv/patch/0002-Add-generated-ebml-sources.patch @@ -0,0 +1,1147 @@ +From 79a9af59e6865a39214f628186fd768165fa2329 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 2 Jul 2016 17:32:27 -0700 +Subject: [PATCH] Add generated ebml sources + +These require perl to generate. + +$ perl TOOLS/matroska.pl --generate-header demux/ebml.c demux/demux_mkv.c > demux/ebml_types.h +$ perl TOOLS/matroska.pl --generate-definitions demux/ebml.c > demux/ebml_defs.c +--- + demux/ebml_defs.c | 529 +++++++++++++++++++++++++++++++++++++++++++++++ + demux/ebml_types.h | 587 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 1116 insertions(+) + create mode 100644 demux/ebml_defs.c + create mode 100644 demux/ebml_types.h + +diff --git a/demux/ebml_defs.c b/demux/ebml_defs.c +new file mode 100644 +index 000000000..3fcbf8a5b +--- /dev/null ++++ b/demux/ebml_defs.c +@@ -0,0 +1,529 @@ ++/* Generated by TOOLS/matroska.pl, do not edit manually */ ++ ++ ++E("EBMLVersion", ebml_version, EBML_TYPE_UINT) ++ ++E("EBMLReadVersion", ebml_read_version, EBML_TYPE_UINT) ++ ++E("EBMLMaxIDLength", ebml_max_id_length, EBML_TYPE_UINT) ++ ++E("EBMLMaxSizeLength", ebml_max_size_length, EBML_TYPE_UINT) ++ ++E("DocType", doc_type, EBML_TYPE_STR) ++ ++E("DocTypeVersion", doc_type_version, EBML_TYPE_UINT) ++ ++E("DocTypeReadVersion", doc_type_read_version, EBML_TYPE_UINT) ++ ++#define N ebml ++E_S("EBML", 7) ++F(EBML_ID_DOCTYPE, doc_type, 0) ++F(EBML_ID_DOCTYPEREADVERSION, doc_type_read_version, 0) ++F(EBML_ID_DOCTYPEVERSION, doc_type_version, 0) ++F(EBML_ID_EBMLMAXIDLENGTH, ebml_max_id_length, 0) ++F(EBML_ID_EBMLMAXSIZELENGTH, ebml_max_size_length, 0) ++F(EBML_ID_EBMLREADVERSION, ebml_read_version, 0) ++F(EBML_ID_EBMLVERSION, ebml_version, 0) ++}}; ++#undef N ++ ++E("CRC32", crc32, EBML_TYPE_BINARY) ++ ++E("Void", void, EBML_TYPE_BINARY) ++ ++E("SeekID", seek_id, EBML_TYPE_EBML_ID) ++ ++E("SeekPosition", seek_position, EBML_TYPE_UINT) ++ ++#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 ++ ++E("SegmentUID", segment_uid, EBML_TYPE_BINARY) ++ ++E("PrevUID", prev_uid, EBML_TYPE_BINARY) ++ ++E("NextUID", next_uid, EBML_TYPE_BINARY) ++ ++E("TimecodeScale", timecode_scale, EBML_TYPE_UINT) ++ ++E("DateUTC", date_utc, EBML_TYPE_SINT) ++ ++E("Title", title, EBML_TYPE_STR) ++ ++E("MuxingApp", muxing_app, EBML_TYPE_STR) ++ ++E("WritingApp", writing_app, EBML_TYPE_STR) ++ ++E("Duration", duration, EBML_TYPE_FLOAT) ++ ++#define N info ++E_S("Info", 9) ++F(MATROSKA_ID_DATEUTC, date_utc, 0) ++F(MATROSKA_ID_DURATION, duration, 0) ++F(MATROSKA_ID_MUXINGAPP, muxing_app, 0) ++F(MATROSKA_ID_NEXTUID, next_uid, 0) ++F(MATROSKA_ID_PREVUID, prev_uid, 0) ++F(MATROSKA_ID_SEGMENTUID, segment_uid, 0) ++F(MATROSKA_ID_TIMECODESCALE, timecode_scale, 0) ++F(MATROSKA_ID_TITLE, title, 0) ++F(MATROSKA_ID_WRITINGAPP, writing_app, 0) ++}}; ++#undef N ++ ++E("Timecode", timecode, EBML_TYPE_UINT) ++ ++E("Block", block, EBML_TYPE_BINARY) ++ ++E("BlockDuration", block_duration, EBML_TYPE_UINT) ++ ++E("ReferenceBlock", reference_block, EBML_TYPE_SINT) ++ ++E("DiscardPadding", discard_padding, EBML_TYPE_SINT) ++ ++#define N block_group ++E_S("BlockGroup", 4) ++F(MATROSKA_ID_BLOCK, block, 0) ++F(MATROSKA_ID_BLOCKDURATION, block_duration, 0) ++F(MATROSKA_ID_DISCARDPADDING, discard_padding, 0) ++F(MATROSKA_ID_REFERENCEBLOCK, reference_block, 1) ++}}; ++#undef N ++ ++E("SimpleBlock", simple_block, EBML_TYPE_BINARY) ++ ++#define N cluster ++E_S("Cluster", 3) ++F(MATROSKA_ID_BLOCKGROUP, block_group, 1) ++F(MATROSKA_ID_SIMPLEBLOCK, simple_block, 1) ++F(MATROSKA_ID_TIMECODE, timecode, 0) ++}}; ++#undef N ++ ++E("TrackNumber", track_number, EBML_TYPE_UINT) ++ ++E("TrackUID", track_uid, EBML_TYPE_UINT) ++ ++E("TrackType", track_type, EBML_TYPE_UINT) ++ ++E("FlagEnabled", flag_enabled, EBML_TYPE_UINT) ++ ++E("FlagDefault", flag_default, EBML_TYPE_UINT) ++ ++E("FlagForced", flag_forced, EBML_TYPE_UINT) ++ ++E("FlagLacing", flag_lacing, EBML_TYPE_UINT) ++ ++E("MinCache", min_cache, EBML_TYPE_UINT) ++ ++E("MaxCache", max_cache, EBML_TYPE_UINT) ++ ++E("DefaultDuration", default_duration, EBML_TYPE_UINT) ++ ++E("TrackTimecodeScale", track_timecode_scale, EBML_TYPE_FLOAT) ++ ++E("MaxBlockAdditionID", max_block_addition_id, EBML_TYPE_UINT) ++ ++E("Name", name, EBML_TYPE_STR) ++ ++E("Language", language, EBML_TYPE_STR) ++ ++E("CodecID", codec_id, EBML_TYPE_STR) ++ ++E("CodecPrivate", codec_private, EBML_TYPE_BINARY) ++ ++E("CodecName", codec_name, EBML_TYPE_STR) ++ ++E("CodecDecodeAll", codec_decode_all, EBML_TYPE_UINT) ++ ++E("CodecDelay", codec_delay, EBML_TYPE_UINT) ++ ++E("SeekPreRoll", seek_pre_roll, EBML_TYPE_UINT) ++ ++E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT) ++ ++E("PixelWidth", pixel_width, EBML_TYPE_UINT) ++ ++E("PixelHeight", pixel_height, EBML_TYPE_UINT) ++ ++E("DisplayWidth", display_width, EBML_TYPE_UINT) ++ ++E("DisplayHeight", display_height, EBML_TYPE_UINT) ++ ++E("DisplayUnit", display_unit, EBML_TYPE_UINT) ++ ++E("FrameRate", frame_rate, EBML_TYPE_FLOAT) ++ ++E("ColourSpace", colour_space, EBML_TYPE_BINARY) ++ ++E("StereoMode", stereo_mode, EBML_TYPE_UINT) ++ ++E("MatrixCoefficients", matrix_coefficients, EBML_TYPE_UINT) ++ ++E("BitsPerChannel", bits_per_channel, EBML_TYPE_UINT) ++ ++E("ChromaSubsamplingHorz", chroma_subsampling_horz, EBML_TYPE_UINT) ++ ++E("ChromaSubsamplingVert", chroma_subsampling_vert, EBML_TYPE_UINT) ++ ++E("CbSubsamplingHorz", cb_subsampling_horz, EBML_TYPE_UINT) ++ ++E("CbSubsamplingVert", cb_subsampling_vert, EBML_TYPE_UINT) ++ ++E("ChromaSitingHorz", chroma_siting_horz, EBML_TYPE_UINT) ++ ++E("ChromaSitingVert", chroma_siting_vert, EBML_TYPE_UINT) ++ ++E("Range", range, EBML_TYPE_UINT) ++ ++E("TransferCharacteristics", transfer_characteristics, EBML_TYPE_UINT) ++ ++E("Primaries", primaries, EBML_TYPE_UINT) ++ ++E("MaxCLL", max_cll, EBML_TYPE_UINT) ++ ++E("MaxFALL", max_fall, EBML_TYPE_UINT) ++ ++E("PrimaryRChromaticityX", primary_r_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("PrimaryRChromaticityY", primary_r_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("PrimaryGChromaticityX", primary_g_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("PrimaryGChromaticityY", primary_g_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("PrimaryBChromaticityX", primary_b_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("PrimaryBChromaticityY", primary_b_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("WhitePointChromaticityX", white_point_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("WhitePointChromaticityY", white_point_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("LuminanceMax", luminance_max, EBML_TYPE_FLOAT) ++ ++E("LuminanceMin", luminance_min, EBML_TYPE_FLOAT) ++ ++#define N mastering_metadata ++E_S("MasteringMetadata", 10) ++F(MATROSKA_ID_LUMINANCEMAX, luminance_max, 0) ++F(MATROSKA_ID_LUMINANCEMIN, luminance_min, 0) ++F(MATROSKA_ID_PRIMARYBCHROMATICITYX, primary_b_chromaticity_x, 0) ++F(MATROSKA_ID_PRIMARYBCHROMATICITYY, primary_b_chromaticity_y, 0) ++F(MATROSKA_ID_PRIMARYGCHROMATICITYX, primary_g_chromaticity_x, 0) ++F(MATROSKA_ID_PRIMARYGCHROMATICITYY, primary_g_chromaticity_y, 0) ++F(MATROSKA_ID_PRIMARYRCHROMATICITYX, primary_r_chromaticity_x, 0) ++F(MATROSKA_ID_PRIMARYRCHROMATICITYY, primary_r_chromaticity_y, 0) ++F(MATROSKA_ID_WHITEPOINTCHROMATICITYX, white_point_chromaticity_x, 0) ++F(MATROSKA_ID_WHITEPOINTCHROMATICITYY, white_point_chromaticity_y, 0) ++}}; ++#undef N ++ ++#define N colour ++E_S("Colour", 14) ++F(MATROSKA_ID_BITSPERCHANNEL, bits_per_channel, 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_CHROMASUBSAMPLINGHORZ, chroma_subsampling_horz, 0) ++F(MATROSKA_ID_CHROMASUBSAMPLINGVERT, chroma_subsampling_vert, 0) ++F(MATROSKA_ID_MASTERINGMETADATA, mastering_metadata, 0) ++F(MATROSKA_ID_MATRIXCOEFFICIENTS, matrix_coefficients, 0) ++F(MATROSKA_ID_MAXCLL, max_cll, 0) ++F(MATROSKA_ID_MAXFALL, max_fall, 0) ++F(MATROSKA_ID_PRIMARIES, primaries, 0) ++F(MATROSKA_ID_RANGE, range, 0) ++F(MATROSKA_ID_TRANSFERCHARACTERISTICS, transfer_characteristics, 0) ++}}; ++#undef N ++ ++#define N video ++E_S("Video", 10) ++F(MATROSKA_ID_COLOUR, colour, 0) ++F(MATROSKA_ID_COLOURSPACE, colour_space, 0) ++F(MATROSKA_ID_DISPLAYHEIGHT, display_height, 0) ++F(MATROSKA_ID_DISPLAYUNIT, display_unit, 0) ++F(MATROSKA_ID_DISPLAYWIDTH, display_width, 0) ++F(MATROSKA_ID_FLAGINTERLACED, flag_interlaced, 0) ++F(MATROSKA_ID_FRAMERATE, frame_rate, 0) ++F(MATROSKA_ID_PIXELHEIGHT, pixel_height, 0) ++F(MATROSKA_ID_PIXELWIDTH, pixel_width, 0) ++F(MATROSKA_ID_STEREOMODE, stereo_mode, 0) ++}}; ++#undef N ++ ++E("SamplingFrequency", sampling_frequency, EBML_TYPE_FLOAT) ++ ++E("OutputSamplingFrequency", output_sampling_frequency, EBML_TYPE_FLOAT) ++ ++E("Channels", channels, EBML_TYPE_UINT) ++ ++E("BitDepth", bit_depth, EBML_TYPE_UINT) ++ ++#define N audio ++E_S("Audio", 4) ++F(MATROSKA_ID_BITDEPTH, bit_depth, 0) ++F(MATROSKA_ID_CHANNELS, channels, 0) ++F(MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY, output_sampling_frequency, 0) ++F(MATROSKA_ID_SAMPLINGFREQUENCY, sampling_frequency, 0) ++}}; ++#undef N ++ ++E("ContentEncodingOrder", content_encoding_order, EBML_TYPE_UINT) ++ ++E("ContentEncodingScope", content_encoding_scope, EBML_TYPE_UINT) ++ ++E("ContentEncodingType", content_encoding_type, EBML_TYPE_UINT) ++ ++E("ContentCompAlgo", content_comp_algo, EBML_TYPE_UINT) ++ ++E("ContentCompSettings", content_comp_settings, EBML_TYPE_BINARY) ++ ++#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 ++ ++#define N content_encoding ++E_S("ContentEncoding", 4) ++F(MATROSKA_ID_CONTENTCOMPRESSION, content_compression, 0) ++F(MATROSKA_ID_CONTENTENCODINGORDER, content_encoding_order, 0) ++F(MATROSKA_ID_CONTENTENCODINGSCOPE, content_encoding_scope, 0) ++F(MATROSKA_ID_CONTENTENCODINGTYPE, content_encoding_type, 0) ++}}; ++#undef N ++ ++#define N content_encodings ++E_S("ContentEncodings", 1) ++F(MATROSKA_ID_CONTENTENCODING, content_encoding, 1) ++}}; ++#undef N ++ ++#define N track_entry ++E_S("TrackEntry", 23) ++F(MATROSKA_ID_AUDIO, audio, 0) ++F(MATROSKA_ID_CODECDECODEALL, codec_decode_all, 0) ++F(MATROSKA_ID_CODECDELAY, codec_delay, 0) ++F(MATROSKA_ID_CODECID, codec_id, 0) ++F(MATROSKA_ID_CODECNAME, codec_name, 0) ++F(MATROSKA_ID_CODECPRIVATE, codec_private, 0) ++F(MATROSKA_ID_CONTENTENCODINGS, content_encodings, 0) ++F(MATROSKA_ID_DEFAULTDURATION, default_duration, 0) ++F(MATROSKA_ID_FLAGDEFAULT, flag_default, 0) ++F(MATROSKA_ID_FLAGENABLED, flag_enabled, 0) ++F(MATROSKA_ID_FLAGFORCED, flag_forced, 0) ++F(MATROSKA_ID_FLAGLACING, flag_lacing, 0) ++F(MATROSKA_ID_LANGUAGE, language, 0) ++F(MATROSKA_ID_MAXBLOCKADDITIONID, max_block_addition_id, 0) ++F(MATROSKA_ID_MAXCACHE, max_cache, 0) ++F(MATROSKA_ID_MINCACHE, min_cache, 0) ++F(MATROSKA_ID_NAME, name, 0) ++F(MATROSKA_ID_SEEKPREROLL, seek_pre_roll, 0) ++F(MATROSKA_ID_TRACKNUMBER, track_number, 0) ++F(MATROSKA_ID_TRACKTIMECODESCALE, track_timecode_scale, 0) ++F(MATROSKA_ID_TRACKTYPE, track_type, 0) ++F(MATROSKA_ID_TRACKUID, track_uid, 0) ++F(MATROSKA_ID_VIDEO, video, 0) ++}}; ++#undef N ++ ++#define N tracks ++E_S("Tracks", 1) ++F(MATROSKA_ID_TRACKENTRY, track_entry, 1) ++}}; ++#undef N ++ ++E("CueTime", cue_time, EBML_TYPE_UINT) ++ ++E("CueTrack", cue_track, EBML_TYPE_UINT) ++ ++E("CueClusterPosition", cue_cluster_position, EBML_TYPE_UINT) ++ ++E("CueRelativePosition", cue_relative_position, EBML_TYPE_UINT) ++ ++E("CueDuration", cue_duration, EBML_TYPE_UINT) ++ ++#define N cue_track_positions ++E_S("CueTrackPositions", 4) ++F(MATROSKA_ID_CUECLUSTERPOSITION, cue_cluster_position, 0) ++F(MATROSKA_ID_CUEDURATION, cue_duration, 0) ++F(MATROSKA_ID_CUERELATIVEPOSITION, cue_relative_position, 0) ++F(MATROSKA_ID_CUETRACK, cue_track, 0) ++}}; ++#undef N ++ ++#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("FileDescription", file_description, EBML_TYPE_STR) ++ ++E("FileName", file_name, EBML_TYPE_STR) ++ ++E("FileMimeType", file_mime_type, EBML_TYPE_STR) ++ ++E("FileData", file_data, EBML_TYPE_BINARY) ++ ++E("FileUID", file_uid, EBML_TYPE_UINT) ++ ++#define N attached_file ++E_S("AttachedFile", 5) ++F(MATROSKA_ID_FILEDATA, file_data, 0) ++F(MATROSKA_ID_FILEDESCRIPTION, file_description, 0) ++F(MATROSKA_ID_FILEMIMETYPE, file_mime_type, 0) ++F(MATROSKA_ID_FILENAME, file_name, 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("EditionUID", edition_uid, EBML_TYPE_UINT) ++ ++E("EditionFlagHidden", edition_flag_hidden, EBML_TYPE_UINT) ++ ++E("EditionFlagDefault", edition_flag_default, EBML_TYPE_UINT) ++ ++E("EditionFlagOrdered", edition_flag_ordered, EBML_TYPE_UINT) ++ ++E("ChapterUID", chapter_uid, EBML_TYPE_UINT) ++ ++E("ChapterTimeStart", chapter_time_start, EBML_TYPE_UINT) ++ ++E("ChapterTimeEnd", chapter_time_end, EBML_TYPE_UINT) ++ ++E("ChapterFlagHidden", chapter_flag_hidden, EBML_TYPE_UINT) ++ ++E("ChapterFlagEnabled", chapter_flag_enabled, EBML_TYPE_UINT) ++ ++E("ChapterSegmentUID", chapter_segment_uid, EBML_TYPE_BINARY) ++ ++E("ChapterSegmentEditionUID", chapter_segment_edition_uid, EBML_TYPE_UINT) ++ ++E("ChapString", chap_string, EBML_TYPE_STR) ++ ++E("ChapLanguage", chap_language, EBML_TYPE_STR) ++ ++E("ChapCountry", chap_country, EBML_TYPE_STR) ++ ++#define N chapter_display ++E_S("ChapterDisplay", 3) ++F(MATROSKA_ID_CHAPCOUNTRY, chap_country, 1) ++F(MATROSKA_ID_CHAPLANGUAGE, chap_language, 1) ++F(MATROSKA_ID_CHAPSTRING, chap_string, 0) ++}}; ++#undef N ++ ++#define N chapter_atom ++E_S("ChapterAtom", 8) ++F(MATROSKA_ID_CHAPTERDISPLAY, chapter_display, 1) ++F(MATROSKA_ID_CHAPTERFLAGENABLED, chapter_flag_enabled, 0) ++F(MATROSKA_ID_CHAPTERFLAGHIDDEN, chapter_flag_hidden, 0) ++F(MATROSKA_ID_CHAPTERSEGMENTEDITIONUID, chapter_segment_edition_uid, 0) ++F(MATROSKA_ID_CHAPTERSEGMENTUID, chapter_segment_uid, 0) ++F(MATROSKA_ID_CHAPTERTIMEEND, chapter_time_end, 0) ++F(MATROSKA_ID_CHAPTERTIMESTART, chapter_time_start, 0) ++F(MATROSKA_ID_CHAPTERUID, chapter_uid, 0) ++}}; ++#undef N ++ ++#define N edition_entry ++E_S("EditionEntry", 5) ++F(MATROSKA_ID_CHAPTERATOM, chapter_atom, 1) ++F(MATROSKA_ID_EDITIONFLAGDEFAULT, edition_flag_default, 0) ++F(MATROSKA_ID_EDITIONFLAGHIDDEN, edition_flag_hidden, 0) ++F(MATROSKA_ID_EDITIONFLAGORDERED, edition_flag_ordered, 0) ++F(MATROSKA_ID_EDITIONUID, edition_uid, 0) ++}}; ++#undef N ++ ++#define N chapters ++E_S("Chapters", 1) ++F(MATROSKA_ID_EDITIONENTRY, edition_entry, 1) ++}}; ++#undef N ++ ++E("TargetTypeValue", target_type_value, EBML_TYPE_UINT) ++ ++E("TargetTrackUID", target_track_uid, EBML_TYPE_UINT) ++ ++E("TargetEditionUID", target_edition_uid, EBML_TYPE_UINT) ++ ++E("TargetChapterUID", target_chapter_uid, EBML_TYPE_UINT) ++ ++E("TargetAttachmentUID", target_attachment_uid, EBML_TYPE_UINT) ++ ++#define N targets ++E_S("Targets", 5) ++F(MATROSKA_ID_TARGETATTACHMENTUID, target_attachment_uid, 0) ++F(MATROSKA_ID_TARGETCHAPTERUID, target_chapter_uid, 0) ++F(MATROSKA_ID_TARGETEDITIONUID, target_edition_uid, 0) ++F(MATROSKA_ID_TARGETTRACKUID, target_track_uid, 0) ++F(MATROSKA_ID_TARGETTYPEVALUE, target_type_value, 0) ++}}; ++#undef N ++ ++E("TagName", tag_name, EBML_TYPE_STR) ++ ++E("TagLanguage", tag_language, EBML_TYPE_STR) ++ ++E("TagString", tag_string, EBML_TYPE_STR) ++ ++#define N simple_tag ++E_S("SimpleTag", 3) ++F(MATROSKA_ID_TAGLANGUAGE, tag_language, 0) ++F(MATROSKA_ID_TAGNAME, tag_name, 0) ++F(MATROSKA_ID_TAGSTRING, tag_string, 0) ++}}; ++#undef N ++ ++#define N tag ++E_S("Tag", 2) ++F(MATROSKA_ID_SIMPLETAG, simple_tag, 1) ++F(MATROSKA_ID_TARGETS, targets, 0) ++}}; ++#undef N ++ ++#define N tags ++E_S("Tags", 1) ++F(MATROSKA_ID_TAG, tag, 1) ++}}; ++#undef N ++ ++#define N segment ++E_S("Segment", 8) ++F(MATROSKA_ID_ATTACHMENTS, attachments, 0) ++F(MATROSKA_ID_CHAPTERS, chapters, 0) ++F(MATROSKA_ID_CLUSTER, cluster, 1) ++F(MATROSKA_ID_CUES, cues, 0) ++F(MATROSKA_ID_INFO, info, 1) ++F(MATROSKA_ID_SEEKHEAD, seek_head, 1) ++F(MATROSKA_ID_TAGS, tags, 1) ++F(MATROSKA_ID_TRACKS, tracks, 1) ++}}; ++#undef N +diff --git a/demux/ebml_types.h b/demux/ebml_types.h +new file mode 100644 +index 000000000..4c61d77a0 +--- /dev/null ++++ b/demux/ebml_types.h +@@ -0,0 +1,587 @@ ++/* Generated by TOOLS/matroska.pl, do not edit manually */ ++ ++#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_EBML 0x1a45dfa3 ++#define EBML_ID_CRC32 0xbf ++#define EBML_ID_VOID 0xec ++#define MATROSKA_ID_SEEKID 0x53ab ++#define MATROSKA_ID_SEEKPOSITION 0x53ac ++#define MATROSKA_ID_SEEK 0x4dbb ++#define MATROSKA_ID_SEEKHEAD 0x114d9b74 ++#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_INFO 0x1549a966 ++#define MATROSKA_ID_TIMECODE 0xe7 ++#define MATROSKA_ID_BLOCK 0xa1 ++#define MATROSKA_ID_BLOCKDURATION 0x9b ++#define MATROSKA_ID_REFERENCEBLOCK 0xfb ++#define MATROSKA_ID_DISCARDPADDING 0x75A2 ++#define MATROSKA_ID_BLOCKGROUP 0xa0 ++#define MATROSKA_ID_SIMPLEBLOCK 0xa3 ++#define MATROSKA_ID_CLUSTER 0x1f43b675 ++#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_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_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_FRAMERATE 0x2383e3 ++#define MATROSKA_ID_COLOURSPACE 0x2eb524 ++#define MATROSKA_ID_STEREOMODE 0x53b8 ++#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_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_MASTERINGMETADATA 0x55D0 ++#define MATROSKA_ID_COLOUR 0x55B0 ++#define MATROSKA_ID_VIDEO 0xe0 ++#define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5 ++#define MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY 0x78b5 ++#define MATROSKA_ID_CHANNELS 0x9f ++#define MATROSKA_ID_BITDEPTH 0x6264 ++#define MATROSKA_ID_AUDIO 0xe1 ++#define MATROSKA_ID_CONTENTENCODINGORDER 0x5031 ++#define MATROSKA_ID_CONTENTENCODINGSCOPE 0x5032 ++#define MATROSKA_ID_CONTENTENCODINGTYPE 0x5033 ++#define MATROSKA_ID_CONTENTCOMPALGO 0x4254 ++#define MATROSKA_ID_CONTENTCOMPSETTINGS 0x4255 ++#define MATROSKA_ID_CONTENTCOMPRESSION 0x5034 ++#define MATROSKA_ID_CONTENTENCODING 0x6240 ++#define MATROSKA_ID_CONTENTENCODINGS 0x6d80 ++#define MATROSKA_ID_TRACKENTRY 0xae ++#define MATROSKA_ID_TRACKS 0x1654ae6b ++#define MATROSKA_ID_CUETIME 0xb3 ++#define MATROSKA_ID_CUETRACK 0xf7 ++#define MATROSKA_ID_CUECLUSTERPOSITION 0xf1 ++#define MATROSKA_ID_CUERELATIVEPOSITION 0xf0 ++#define MATROSKA_ID_CUEDURATION 0xb2 ++#define MATROSKA_ID_CUETRACKPOSITIONS 0xb7 ++#define MATROSKA_ID_CUEPOINT 0xbb ++#define MATROSKA_ID_CUES 0x1c53bb6b ++#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_ATTACHEDFILE 0x61a7 ++#define MATROSKA_ID_ATTACHMENTS 0x1941a469 ++#define MATROSKA_ID_EDITIONUID 0x45bc ++#define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45bd ++#define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45db ++#define MATROSKA_ID_EDITIONFLAGORDERED 0x45dd ++#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_CHAPSTRING 0x85 ++#define MATROSKA_ID_CHAPLANGUAGE 0x437c ++#define MATROSKA_ID_CHAPCOUNTRY 0x437e ++#define MATROSKA_ID_CHAPTERDISPLAY 0x80 ++#define MATROSKA_ID_CHAPTERATOM 0xb6 ++#define MATROSKA_ID_EDITIONENTRY 0x45b9 ++#define MATROSKA_ID_CHAPTERS 0x1043a770 ++#define MATROSKA_ID_TARGETTYPEVALUE 0x68ca ++#define MATROSKA_ID_TARGETTRACKUID 0x63c5 ++#define MATROSKA_ID_TARGETEDITIONUID 0x63c9 ++#define MATROSKA_ID_TARGETCHAPTERUID 0x63c4 ++#define MATROSKA_ID_TARGETATTACHMENTUID 0x63c6 ++#define MATROSKA_ID_TARGETS 0x63c0 ++#define MATROSKA_ID_TAGNAME 0x45a3 ++#define MATROSKA_ID_TAGLANGUAGE 0x447a ++#define MATROSKA_ID_TAGSTRING 0x4487 ++#define MATROSKA_ID_SIMPLETAG 0x67c8 ++#define MATROSKA_ID_TAG 0x7373 ++#define MATROSKA_ID_TAGS 0x1254c367 ++#define MATROSKA_ID_SEGMENT 0x18538067 ++ ++ ++struct ebml_ebml { ++ char * doc_type; ++ uint64_t doc_type_read_version; ++ uint64_t doc_type_version; ++ uint64_t ebml_max_id_length; ++ uint64_t ebml_max_size_length; ++ uint64_t ebml_read_version; ++ uint64_t ebml_version; ++ ++ int n_ebml_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; ++ int n_ebml_read_version; ++}; ++ ++struct ebml_seek { ++ uint32_t seek_id; ++ uint64_t seek_position; ++ ++ int n_seek_position; ++ int n_seek_id; ++}; ++ ++struct ebml_seek_head { ++ struct ebml_seek *seek; ++ ++ int n_seek; ++}; ++ ++struct ebml_info { ++ int64_t date_utc; ++ double duration; ++ char * muxing_app; ++ struct bstr next_uid; ++ struct bstr prev_uid; ++ struct bstr segment_uid; ++ uint64_t timecode_scale; ++ char * title; ++ char * writing_app; ++ ++ 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_block_group { ++ struct bstr block; ++ uint64_t block_duration; ++ int64_t discard_padding; ++ int64_t *reference_block; ++ ++ int n_block; ++ int n_block_duration; ++ int n_reference_block; ++ int n_discard_padding; ++}; ++ ++struct ebml_cluster { ++ struct ebml_block_group *block_group; ++ struct bstr *simple_block; ++ uint64_t timecode; ++ ++ int n_timecode; ++ int n_block_group; ++ int n_simple_block; ++}; ++ ++struct ebml_mastering_metadata { ++ double luminance_max; ++ double luminance_min; ++ double primary_b_chromaticity_x; ++ double primary_b_chromaticity_y; ++ double primary_g_chromaticity_x; ++ double primary_g_chromaticity_y; ++ double primary_r_chromaticity_x; ++ double primary_r_chromaticity_y; ++ double white_point_chromaticity_x; ++ double white_point_chromaticity_y; ++ ++ 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 bits_per_channel; ++ uint64_t cb_subsampling_horz; ++ uint64_t cb_subsampling_vert; ++ uint64_t chroma_siting_horz; ++ uint64_t chroma_siting_vert; ++ uint64_t chroma_subsampling_horz; ++ uint64_t chroma_subsampling_vert; ++ struct ebml_mastering_metadata mastering_metadata; ++ uint64_t matrix_coefficients; ++ uint64_t max_cll; ++ uint64_t max_fall; ++ uint64_t primaries; ++ uint64_t range; ++ uint64_t transfer_characteristics; ++ ++ 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 { ++ struct ebml_colour colour; ++ struct bstr colour_space; ++ uint64_t display_height; ++ uint64_t display_unit; ++ uint64_t display_width; ++ uint64_t flag_interlaced; ++ double frame_rate; ++ uint64_t pixel_height; ++ uint64_t pixel_width; ++ uint64_t stereo_mode; ++ ++ 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_frame_rate; ++ int n_colour_space; ++ int n_stereo_mode; ++ int n_colour; ++}; ++ ++struct ebml_audio { ++ uint64_t bit_depth; ++ uint64_t channels; ++ double output_sampling_frequency; ++ double sampling_frequency; ++ ++ int n_sampling_frequency; ++ int n_output_sampling_frequency; ++ int n_channels; ++ int n_bit_depth; ++}; ++ ++struct ebml_content_compression { ++ uint64_t content_comp_algo; ++ struct bstr content_comp_settings; ++ ++ int n_content_comp_algo; ++ int n_content_comp_settings; ++}; ++ ++struct ebml_content_encoding { ++ struct ebml_content_compression content_compression; ++ uint64_t content_encoding_order; ++ uint64_t content_encoding_scope; ++ uint64_t content_encoding_type; ++ ++ 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_track_entry { ++ struct ebml_audio audio; ++ uint64_t codec_decode_all; ++ uint64_t codec_delay; ++ char * codec_id; ++ char * codec_name; ++ struct bstr codec_private; ++ struct ebml_content_encodings content_encodings; ++ uint64_t default_duration; ++ uint64_t flag_default; ++ uint64_t flag_enabled; ++ uint64_t flag_forced; ++ uint64_t flag_lacing; ++ char * language; ++ uint64_t max_block_addition_id; ++ uint64_t max_cache; ++ uint64_t min_cache; ++ char * name; ++ uint64_t seek_pre_roll; ++ uint64_t track_number; ++ double track_timecode_scale; ++ uint64_t track_type; ++ uint64_t track_uid; ++ struct ebml_video video; ++ ++ 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_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_cue_track_positions { ++ uint64_t cue_cluster_position; ++ uint64_t cue_duration; ++ uint64_t cue_relative_position; ++ uint64_t cue_track; ++ ++ 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_attached_file { ++ struct bstr file_data; ++ char * file_description; ++ char * file_mime_type; ++ char * file_name; ++ 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_chapter_display { ++ char * *chap_country; ++ char * *chap_language; ++ char * chap_string; ++ ++ int n_chap_string; ++ int n_chap_language; ++ int n_chap_country; ++}; ++ ++struct ebml_chapter_atom { ++ struct ebml_chapter_display *chapter_display; ++ uint64_t chapter_flag_enabled; ++ uint64_t chapter_flag_hidden; ++ uint64_t chapter_segment_edition_uid; ++ struct bstr chapter_segment_uid; ++ uint64_t chapter_time_end; ++ uint64_t chapter_time_start; ++ uint64_t chapter_uid; ++ ++ 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 { ++ struct ebml_chapter_atom *chapter_atom; ++ uint64_t edition_flag_default; ++ uint64_t edition_flag_hidden; ++ uint64_t edition_flag_ordered; ++ uint64_t edition_uid; ++ ++ 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_targets { ++ uint64_t target_attachment_uid; ++ uint64_t target_chapter_uid; ++ uint64_t target_edition_uid; ++ uint64_t target_track_uid; ++ uint64_t target_type_value; ++ ++ int n_target_type_value; ++ int n_target_track_uid; ++ int n_target_edition_uid; ++ int n_target_chapter_uid; ++ int n_target_attachment_uid; ++}; ++ ++struct ebml_simple_tag { ++ char * tag_language; ++ char * tag_name; ++ char * tag_string; ++ ++ int n_tag_name; ++ int n_tag_language; ++ int n_tag_string; ++}; ++ ++struct ebml_tag { ++ struct ebml_simple_tag *simple_tag; ++ struct ebml_targets targets; ++ ++ int n_targets; ++ int n_simple_tag; ++}; ++ ++struct ebml_tags { ++ struct ebml_tag *tag; ++ ++ int n_tag; ++}; ++ ++struct ebml_segment { ++ struct ebml_attachments attachments; ++ struct ebml_chapters chapters; ++ struct ebml_cluster *cluster; ++ struct ebml_cues cues; ++ struct ebml_info *info; ++ struct ebml_seek_head *seek_head; ++ struct ebml_tags *tags; ++ struct ebml_tracks *tracks; ++ ++ 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; ++}; ++ ++extern const struct ebml_elem_desc ebml_ebml_desc; ++extern const struct ebml_elem_desc ebml_seek_desc; ++extern const struct ebml_elem_desc ebml_seek_head_desc; ++extern const struct ebml_elem_desc ebml_info_desc; ++extern const struct ebml_elem_desc ebml_block_group_desc; ++extern const struct ebml_elem_desc ebml_cluster_desc; ++extern const struct ebml_elem_desc ebml_mastering_metadata_desc; ++extern const struct ebml_elem_desc ebml_colour_desc; ++extern const struct ebml_elem_desc ebml_video_desc; ++extern const struct ebml_elem_desc ebml_audio_desc; ++extern const struct ebml_elem_desc ebml_content_compression_desc; ++extern const struct ebml_elem_desc ebml_content_encoding_desc; ++extern const struct ebml_elem_desc ebml_content_encodings_desc; ++extern const struct ebml_elem_desc ebml_track_entry_desc; ++extern const struct ebml_elem_desc ebml_tracks_desc; ++extern const struct ebml_elem_desc ebml_cue_track_positions_desc; ++extern const struct ebml_elem_desc ebml_cue_point_desc; ++extern const struct ebml_elem_desc ebml_cues_desc; ++extern const struct ebml_elem_desc ebml_attached_file_desc; ++extern const struct ebml_elem_desc ebml_attachments_desc; ++extern const struct ebml_elem_desc ebml_chapter_display_desc; ++extern const struct ebml_elem_desc ebml_chapter_atom_desc; ++extern const struct ebml_elem_desc ebml_edition_entry_desc; ++extern const struct ebml_elem_desc ebml_chapters_desc; ++extern const struct ebml_elem_desc ebml_targets_desc; ++extern const struct ebml_elem_desc ebml_simple_tag_desc; ++extern const struct ebml_elem_desc ebml_tag_desc; ++extern const struct ebml_elem_desc ebml_tags_desc; ++extern const struct ebml_elem_desc ebml_segment_desc; ++ ++#define MAX_EBML_SUBELEMENTS 23 +-- +2.11.0 + |
