build: use python3 to generate some files previously in git

Some files used during build are generated with Python scripts in
TOOLS/. Before, the generated files were included in the git tree.
Start creating them at build time. This introduces a build-dependency
on python3.

The files in question are:
libvo/vdpau_template.c
libmpdemux/ebml_types.h
libmpdemux/ebml_defs.c
This commit is contained in:
Uoti Urpala 2012-07-02 02:09:03 +03:00
parent 86571435ba
commit 39a45c7a17
7 changed files with 20 additions and 949 deletions

3
.gitignore vendored
View File

@ -17,3 +17,6 @@
/TAGS
/locale
/po
/libmpdemux/ebml_defs.c
/libmpdemux/ebml_types.h
/libvo/vdpau_template.c

View File

@ -598,6 +598,15 @@ codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h
codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf
./$^ > $@
libvo/vdpau_template.c: TOOLS/vdpau_functions.py
./$< > $@
libmpdemux/ebml_types.h: TOOLS/matroska.py
./$< --generate-header > $@
libmpdemux/ebml_defs.c: TOOLS/matroska.py
./$< --generate-definitions > $@
# ./configure must be rerun if it changed
config.mak: configure
@echo "############################################################"
@ -631,6 +640,9 @@ checkheaders: $(ALLHEADERS:.h=.ho)
# Make sure all generated header files are created.
codec-cfg.o: codecs.conf.h
mpcommon.o osdep/mplayer-rc.o: version.h
libvo/vo_vdpau.o: libvo/vdpau_template.c
libmpdemux/ebml.o libmpdemux/demux_mkv.o: libmpdemux/ebml_types.h
libmpdemux/ebml.o: libmpdemux/ebml_defs.c
# Files that depend on libavcodec internals
libmpcodecs/vf_fspp.o libmpcodecs/vf_mcdeint.o libmpcodecs/vf_spp.o: CFLAGS := -I$(FFMPEG_SOURCE_PATH) $(CFLAGS)
@ -702,6 +714,8 @@ distclean: clean testsclean toolsclean driversclean
-$(RM) -r locale
-$(RM) $(call ADD_ALL_DIRS,/*.d)
-$(RM) config.log config.mak config.h codecs.conf.h version.h TAGS tags
-$(RM) libvo/vdpau_template.c
-$(RM) libmpdemux/ebml_types.h libmpdemux/ebml_defs.c
-$(RM) $(call ADD_ALL_EXESUFS,codec-cfg cpuinfo)
doxygen:
@ -713,10 +727,6 @@ TAGS:
tags:
$(RM) $@; find . -name '*.[chS]' -o -name '*.asm' | xargs ctags -a
generated_ebml:
TOOLS/matroska.py --generate-header >libmpdemux/ebml_types.h
TOOLS/matroska.py --generate-definitions >libmpdemux/ebml_defs.c
###### tests / tools #######
TEST_OBJS = mp_msg.o mp_fifo.o osdep/$(GETCH) osdep/$(TIMER) -ltermcap -lm

View File

@ -1,4 +1,4 @@
#!/usr/bin/python3
#!/usr/bin/env python3
"""
Generate C definitions for parsing Matroska files.
Can also be used to directly parse Matroska files and display their contents.

2
TOOLS/vdpau_functions.py Normal file → Executable file
View File

@ -1,3 +1,5 @@
#!/usr/bin/env python3
# Generate vdpau_template.c
functions = """

View File

@ -1,424 +0,0 @@
// Generated by TOOLS/matroska.py, do not edit manually
E("TagString", tag_string, EBML_TYPE_STR)
E("TagLanguage", tag_language, EBML_TYPE_STR)
E("TagName", tag_name, EBML_TYPE_STR)
#define N simple_tag
E_S("SimpleTag", 3)
F(MATROSKA_ID_TAGNAME, tag_name, 0)
F(MATROSKA_ID_TAGLANGUAGE, tag_language, 0)
F(MATROSKA_ID_TAGSTRING, tag_string, 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("TargetTypeValue", target_type_value, EBML_TYPE_UINT)
#define N targets
E_S("Targets", 5)
F(MATROSKA_ID_TARGETTYPEVALUE, target_type_value, 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("ChapLanguage", chap_language, EBML_TYPE_STR)
E("ChapString", chap_string, EBML_TYPE_STR)
#define N chapter_display
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
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("CueClusterPosition", cue_cluster_position, EBML_TYPE_UINT)
E("CueTrack", cue_track, EBML_TYPE_UINT)
#define N cue_track_positions
E_S("CueTrackPositions", 2)
F(MATROSKA_ID_CUETRACK, cue_track, 0)
F(MATROSKA_ID_CUECLUSTERPOSITION, cue_cluster_position, 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("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)
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", 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
E("CodecDecodeAll", codec_decode_all, EBML_TYPE_UINT)
E("CodecPrivate", codec_private, EBML_TYPE_BINARY)
E("CodecID", codec_id, 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", 20)
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_CODECID, codec_id, 0)
F(MATROSKA_ID_CODECPRIVATE, codec_private, 0)
F(MATROSKA_ID_CODECDECODEALL, codec_decode_all, 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("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", 3)
F(MATROSKA_ID_BLOCK, block, 0)
F(MATROSKA_ID_BLOCKDURATION, block_duration, 0)
F(MATROSKA_ID_REFERENCEBLOCK, reference_block, 1)
}};
#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

View File

@ -1,477 +0,0 @@
// 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_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_CODECID 0x86
#define MATROSKA_ID_CODECPRIVATE 0x63a2
#define MATROSKA_ID_CODECDECODEALL 0xaa
#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_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
#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_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_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_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_TAGSTRING 0x4487
struct ebml_simple_tag {
struct bstr tag_name;
struct bstr tag_language;
struct bstr tag_string;
int n_tag_name;
int n_tag_language;
int n_tag_string;
};
struct ebml_targets {
uint64_t target_type_value;
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_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 {
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 {
uint64_t chapter_uid;
uint64_t chapter_time_start;
uint64_t chapter_time_end;
uint64_t chapter_flag_hidden;
uint64_t chapter_flag_enabled;
struct 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 {
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;
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;
int n_cue_track;
int n_cue_cluster_position;
};
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;
struct 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_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;
double frame_rate;
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;
};
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;
struct bstr name;
struct bstr language;
struct bstr codec_id;
struct bstr codec_private;
uint64_t codec_decode_all;
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_codec_id;
int n_codec_private;
int n_codec_decode_all;
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_group {
struct bstr block;
uint64_t block_duration;
int64_t *reference_block;
int n_block;
int n_block_duration;
int n_reference_block;
};
struct ebml_cluster {
uint64_t timecode;
struct ebml_block_group *block_group;
struct bstr *simple_block;
int n_timecode;
int n_block_group;
int n_simple_block;
};
struct ebml_info {
struct bstr segment_uid;
struct bstr prev_uid;
struct bstr next_uid;
uint64_t timecode_scale;
int64_t date_utc;
struct bstr title;
struct bstr muxing_app;
struct bstr 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;
struct bstr 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_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_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 20

View File

@ -1,43 +0,0 @@
/* List the VDPAU functions used by MPlayer.
* Generated by vdpau_functions.py.
* First argument on each line is the VDPAU function type name,
* second macro name needed to get function address,
* third name MPlayer uses for the function.
*/
VDP_FUNCTION(VdpGetErrorString, VDP_FUNC_ID_GET_ERROR_STRING, get_error_string)
VDP_FUNCTION(VdpBitmapSurfaceCreate, VDP_FUNC_ID_BITMAP_SURFACE_CREATE, bitmap_surface_create)
VDP_FUNCTION(VdpBitmapSurfaceDestroy, VDP_FUNC_ID_BITMAP_SURFACE_DESTROY, bitmap_surface_destroy)
VDP_FUNCTION(VdpBitmapSurfacePutBitsNative, VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE, bitmap_surface_put_bits_native)
VDP_FUNCTION(VdpBitmapSurfaceQueryCapabilities, VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES, bitmap_surface_query_capabilities)
VDP_FUNCTION(VdpDecoderCreate, VDP_FUNC_ID_DECODER_CREATE, decoder_create)
VDP_FUNCTION(VdpDecoderDestroy, VDP_FUNC_ID_DECODER_DESTROY, decoder_destroy)
VDP_FUNCTION(VdpDecoderRender, VDP_FUNC_ID_DECODER_RENDER, decoder_render)
VDP_FUNCTION(VdpDeviceDestroy, VDP_FUNC_ID_DEVICE_DESTROY, device_destroy)
VDP_FUNCTION(VdpGenerateCSCMatrix, VDP_FUNC_ID_GENERATE_CSC_MATRIX, generate_csc_matrix)
VDP_FUNCTION(VdpOutputSurfaceCreate, VDP_FUNC_ID_OUTPUT_SURFACE_CREATE, output_surface_create)
VDP_FUNCTION(VdpOutputSurfaceDestroy, VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY, output_surface_destroy)
VDP_FUNCTION(VdpOutputSurfaceGetBitsNative, VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE, output_surface_get_bits_native)
VDP_FUNCTION(VdpOutputSurfacePutBitsIndexed, VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED, output_surface_put_bits_indexed)
VDP_FUNCTION(VdpOutputSurfacePutBitsNative, VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE, output_surface_put_bits_native)
VDP_FUNCTION(VdpOutputSurfaceRenderBitmapSurface, VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE, output_surface_render_bitmap_surface)
VDP_FUNCTION(VdpOutputSurfaceRenderOutputSurface, VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE, output_surface_render_output_surface)
VDP_FUNCTION(VdpPreemptionCallbackRegister, VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER, preemption_callback_register)
VDP_FUNCTION(VdpPresentationQueueBlockUntilSurfaceIdle, VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE, presentation_queue_block_until_surface_idle)
VDP_FUNCTION(VdpPresentationQueueCreate, VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE, presentation_queue_create)
VDP_FUNCTION(VdpPresentationQueueDestroy, VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY, presentation_queue_destroy)
VDP_FUNCTION(VdpPresentationQueueDisplay, VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY, presentation_queue_display)
VDP_FUNCTION(VdpPresentationQueueGetTime, VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME, presentation_queue_get_time)
VDP_FUNCTION(VdpPresentationQueueQuerySurfaceStatus, VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS, presentation_queue_query_surface_status)
VDP_FUNCTION(VdpPresentationQueueTargetCreateX11, VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_CREATE_X11, presentation_queue_target_create_x11)
VDP_FUNCTION(VdpPresentationQueueTargetDestroy, VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY, presentation_queue_target_destroy)
VDP_FUNCTION(VdpVideoMixerCreate, VDP_FUNC_ID_VIDEO_MIXER_CREATE, video_mixer_create)
VDP_FUNCTION(VdpVideoMixerDestroy, VDP_FUNC_ID_VIDEO_MIXER_DESTROY, video_mixer_destroy)
VDP_FUNCTION(VdpVideoMixerQueryFeatureSupport, VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT, video_mixer_query_feature_support)
VDP_FUNCTION(VdpVideoMixerRender, VDP_FUNC_ID_VIDEO_MIXER_RENDER, video_mixer_render)
VDP_FUNCTION(VdpVideoMixerSetAttributeValues, VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES, video_mixer_set_attribute_values)
VDP_FUNCTION(VdpVideoMixerSetFeatureEnables, VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES, video_mixer_set_feature_enables)
VDP_FUNCTION(VdpVideoSurfaceCreate, VDP_FUNC_ID_VIDEO_SURFACE_CREATE, video_surface_create)
VDP_FUNCTION(VdpVideoSurfaceDestroy, VDP_FUNC_ID_VIDEO_SURFACE_DESTROY, video_surface_destroy)
VDP_FUNCTION(VdpVideoSurfacePutBitsYCbCr, VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR, video_surface_put_bits_y_cb_cr)