diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-11-21 14:20:38 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-11-21 14:20:38 +0200 |
commit | 5a3edf4c0769c7e354ab6c9b0be3aa402254ff10 (patch) | |
tree | 129a8fdfa27ce0e10809442b28733f58c101b0d2 /libmpdemux | |
parent | dcaad783b049c311fe253ffa4f7ae405af4716c7 (diff) | |
download | mpv-5a3edf4c0769c7e354ab6c9b0be3aa402254ff10.tar.bz2 mpv-5a3edf4c0769c7e354ab6c9b0be3aa402254ff10.tar.xz |
TOOLS/matroska.py: recognize 3 more elements
Add definitions for DisplayUnit, OutputSamplingFrequency and
FileDescription in matroska.py. Regenerate the C template files to
allow using all current definitions in code.
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/ebml_defs.c | 25 | ||||
-rw-r--r-- | libmpdemux/ebml_types.h | 17 |
2 files changed, 36 insertions, 6 deletions
diff --git a/libmpdemux/ebml_defs.c b/libmpdemux/ebml_defs.c index 918c5055c5..b683312079 100644 --- a/libmpdemux/ebml_defs.c +++ b/libmpdemux/ebml_defs.c @@ -48,14 +48,17 @@ F(MATROSKA_ID_TAG, tag, 1) }}; #undef N +E("ChapCountry", chap_country, EBML_TYPE_STR) + E("ChapLanguage", chap_language, EBML_TYPE_STR) E("ChapString", chap_string, EBML_TYPE_STR) #define N chapter_display -E_S("ChapterDisplay", 2) +E_S("ChapterDisplay", 3) F(MATROSKA_ID_CHAPSTRING, chap_string, 0) F(MATROSKA_ID_CHAPLANGUAGE, chap_language, 1) +F(MATROSKA_ID_CHAPCOUNTRY, chap_country, 1) }}; #undef N @@ -118,8 +121,11 @@ 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", 4) +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) @@ -195,11 +201,14 @@ 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", 3) +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) }}; @@ -207,6 +216,8 @@ F(MATROSKA_ID_BITDEPTH, bit_depth, 0) E("FrameRate", frame_rate, EBML_TYPE_FLOAT) +E("DisplayUnit", display_unit, EBML_TYPE_UINT) + E("DisplayHeight", display_height, EBML_TYPE_UINT) E("DisplayWidth", display_width, EBML_TYPE_UINT) @@ -218,12 +229,13 @@ E("PixelWidth", pixel_width, EBML_TYPE_UINT) E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT) #define N video -E_S("Video", 6) +E_S("Video", 7) 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_FRAMERATE, frame_rate, 0) }}; #undef N @@ -244,6 +256,8 @@ 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) @@ -261,7 +275,7 @@ E("TrackUID", track_uid, EBML_TYPE_UINT) E("TrackNumber", track_number, EBML_TYPE_UINT) #define N track_entry -E_S("TrackEntry", 19) +E_S("TrackEntry", 20) F(MATROSKA_ID_TRACKNUMBER, track_number, 0) F(MATROSKA_ID_TRACKUID, track_uid, 0) F(MATROSKA_ID_TRACKTYPE, track_type, 0) @@ -270,6 +284,7 @@ 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) diff --git a/libmpdemux/ebml_types.h b/libmpdemux/ebml_types.h index 9dde5814ba..252515f070 100644 --- a/libmpdemux/ebml_types.h +++ b/libmpdemux/ebml_types.h @@ -42,6 +42,7 @@ #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 @@ -56,9 +57,11 @@ #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_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 @@ -77,6 +80,7 @@ #define MATROSKA_ID_CUECLUSTERPOSITION 0xf1 #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 @@ -98,6 +102,7 @@ #define MATROSKA_ID_CHAPTERDISPLAY 0x80 #define MATROSKA_ID_CHAPSTRING 0x85 #define MATROSKA_ID_CHAPLANGUAGE 0x437c +#define MATROSKA_ID_CHAPCOUNTRY 0x437e #define MATROSKA_ID_TAGS 0x1254c367 #define MATROSKA_ID_TAG 0x7373 #define MATROSKA_ID_TARGETS 0x63c0 @@ -153,9 +158,11 @@ struct ebml_tags { struct ebml_chapter_display { struct bstr chap_string; struct bstr *chap_language; + struct bstr *chap_country; int n_chap_string; int n_chap_language; + int n_chap_country; }; struct ebml_chapter_atom { @@ -199,11 +206,13 @@ struct ebml_chapters { }; struct ebml_attached_file { + struct bstr file_description; struct bstr file_name; struct bstr file_mime_type; struct bstr file_data; uint64_t file_uid; + int n_file_description; int n_file_name; int n_file_mime_type; int n_file_data; @@ -266,10 +275,12 @@ struct ebml_content_encodings { 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; }; @@ -280,6 +291,7 @@ struct ebml_video { uint64_t pixel_height; uint64_t display_width; uint64_t display_height; + uint64_t display_unit; double frame_rate; int n_flag_interlaced; @@ -287,6 +299,7 @@ struct ebml_video { int n_pixel_height; int n_display_width; int n_display_height; + int n_display_unit; int n_frame_rate; }; @@ -299,6 +312,7 @@ struct ebml_track_entry { 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; @@ -319,6 +333,7 @@ struct ebml_track_entry { 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; @@ -459,4 +474,4 @@ 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 19 +#define MAX_EBML_SUBELEMENTS 20 |