matroska: add new parsing code
commit5f631d1c0834927a945d72dc8e9abd77b2e6b154
authorUoti Urpala <uau@glyph.nonexistent.invalid>
Sun, 24 Jan 2010 22:55:11 +0000 (25 00:55 +0200)
committerUoti Urpala <uau@glyph.nonexistent.invalid>
Wed, 27 Jan 2010 12:26:43 +0000 (27 14:26 +0200)
tree947ee1309fc15b627a70b7212b734f6aea926254
parentffc3db22395b2a505e2f9ef6e805650c9b375731
matroska: add new parsing code

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.
Makefile
TOOLS/matroska.py [new file with mode: 0755]
libmpdemux/demux_mkv.c
libmpdemux/ebml.c
libmpdemux/ebml.h
libmpdemux/ebml_defs.c [new file with mode: 0644]
libmpdemux/ebml_types.h [new file with mode: 0644]