summaryrefslogtreecommitdiffstats
path: root/TOOLS/matroska.py
Commit message (Collapse)AuthorAgeFilesLines
* video: add metadata handling for spherical videowm42017-08-211-0/+7
| | | | | | | | | | | | | | This adds handling of spherical video metadata: retrieving it from demux_lavf and demux_mkv, passing it through filters, and adjusting it with vf_format. This does not include support for rendering this type of video. We don't expect we need/want to support the other projection types like cube maps, so we don't include that for now. They can be added later as needed. Also raise the maximum sizes of stringified image params, since they can get really long.
* TOOLS: change license of some scripts involved in build to LGPLwm42017-06-241-10/+9
| | | | | wscript calls them directly, and thus are probably part of the build system. They seem to be fully covered by relicensing agreements.
* TOOLS/matroska.py: use python3wm42017-02-011-1/+1
| | | | | "python" usually maps to Python 2, while all Python 3 installations provide "python3". And the script requires Python 3.
* demux_mkv: passthrough BlockAdditions for libvpx alphawm42017-01-311-0/+6
| | | | | Dumb but simple thing. Requires the FFmpeg libvpx decoder wrapper, as its native decoder doesn't support alpha.
* TOOLS/matroska.py: fix some minor things for dumpingwm42017-01-311-5/+4
| | | | | | | | | | | | | | TOOLS/matroska.py can be used stand-alone for dumping Matroska file contents. Fix some related issues. Elements were treated as unknown if the element hex ID contained uppercase characters. Unknown elements stopped parsing. This was intentional, but I don't really see any reason for it. Dumping with Python 2 is broken. I don't care, but everytime I hit this, I find myself trying to find out why. So make it error out explicitly.
* build: use matroska.py & file2string.py as python modulesStefano Pigozzi2017-01-051-2/+2
|
* TOOLS/matroska.py: format file dumper output slightly nicerwm42016-12-171-2/+2
|
* TOOLS/matroska.py: allow using as modulewm42016-12-171-46/+49
| | | | | | Don't force CLI usage. It can be imported, and generate_C_header() and generate_C_definitions() can be called with a file argument instead of writing to stdout always.
* Revert "Port several python scripts to Perl"wm42016-12-171-0/+463
| | | | | | | | | | | | | | | | | | This reverts commit fae73079310eef9dce9737f2e37ff4b80c8830ee. Before the waf build system was used, we had a configure script written in shell. To drop the build dependency on Python, someone rewrote the Python scripts we had to Perl. Now the shell configure script is gone, and it makes no sense to have a build dependency on both Perl and Python. This isn't just a straight revert. It adds the new Matroska EBML elements to the old Python scripts, adjusts the waf build system, and of course doesn't add anything back needed by the old build system. It would be better if this used matroska.py/file2string.py directly by importing them as modules, instead of calling them via "python". But for now this is simpler.
* Port several python scripts to PerlKovensky2012-11-081-429/+0
| | | | | | | | | | | | file2string.pl and vdpau_functions.pl are direct ports. matroska.py was reimplemented as the Parse::Matroska module in CPAN, and matroska.pl was made a client of Parse::Matroska. A copy of Parse::Matroska is included in TOOLS/lib, and matroska.pl looks there first when trying to load the module. osxbundle.py was not ported since I have no means to verify it. Python is always available on OSX though, so there is no harm in removing the check for it on configure.
* Fix string.format compatibility with Python 2.6Kovensky2012-10-011-3/+3
|
* build: use "python" instead of "python3" as interpreter namewm42012-09-291-1/+1
| | | | | This works regardless whether "python" starts a Python 2 or Python 3 interpreter.
* build: make Python scripts compatible with Python 2.xwm42012-09-291-0/+2
| | | | | They were originally written for Python 3.x. Changing them to work on Python 2.x as well is trivial. Tested with Python 2.7.3 and 3.2.3.
* build: use python3 to generate some files previously in gitUoti Urpala2012-07-161-1/+1
| | | | | | | | | | | | 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
* TOOLS/matroska.py: recognize CodecNameUoti Urpala2011-04-081-0/+1
|
* TOOLS/matroska.py: recognize 3 more elementsUoti Urpala2010-11-211-0/+3
| | | | | | Add definitions for DisplayUnit, OutputSamplingFrequency and FileDescription in matroska.py. Regenerate the C template files to allow using all current definitions in code.
* TOOLS/matroska.py: recognize MaxCache elementUoti Urpala2010-11-081-0/+1
|
* TOOLS/matroska.py: stop cleanly at EOF of complete file when parsingUoti Urpala2010-11-021-2/+10
| | | | | | | When using the script to parse a Matroska file, the script used to exit with an exception at EOF. Change it to exit quietly instead if the file was parsed successfully. Keep showing an exception if EOF is encountered in the middle of an element (truncated file).
* TOOLS/matroska.py: change to python3 syntaxUoti Urpala2010-11-021-37/+39
|
* TOOLS/matroska.py: recognize ChapCountryUoti Urpala2010-10-211-0/+1
|
* demux_mkv: read tags.Anton Khirnov2010-05-221-0/+9
|
* TOOLS/matroska.py: support 8-byte floats in parsing modeUoti Urpala2010-03-111-2/+7
| | | | | Support parsing and printing the value of 8-byte floats when using the script to parse and display contents of Matroska files.
* matroska: add new parsing codeUoti Urpala2010-01-271-0/+397
Add a new EBML parser implementation that should allow significant improvements to the Matroska demuxer. The new parsing code is not actually used yet by the demuxer. The only changes to existing code in this commit are to generate the MATROSKA_ID_* / EBML_ID_* macro definitions from the new implementation and to rename some of them (the new implementation uses names matching the official Matroska spec). The main parser implementation is added in ebml.c. There are two new generated files, ebml_defs.c and ebml_types.h, that contain definitions of EBML elements. Those are generated by the new script TOOLS/matroska.py. There's a new Makefile target "generated_ebml" that run the script to refresh the content of the generated files.