-
Notifications
You must be signed in to change notification settings - Fork 0
Automatically exported from code.google.com/p/mhegenc
License
blxd/mhegenc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
MHEG-5 encoder/decoder `mhegenc` =============================================== Copyright (c) 2003 Samsung Electronics (UK) Ltd. Copyright (c) 2005,2007 SpongeLava Ltd. Copyright (c) 2013 Strategy & Technology Ltd. Licence ======= See the LICENCE file. Installation ============ Just some simple instructions, the build system will likely be the last thing to get sorted out. Prerequisites ------------- flex http://www.gnu.org/software/flex/flex.html A similar scanner tool may work, but it needs to have the lookahead feature (r/s) bison http://www.gnu.org/software/bison/bison.html or similar. snacc 1.3 or later http://www.fokus.gmd.de/ovma/freeware/snacc/ https://github.com/nevali/snacc Only the c-lib is needed. The source distribution for mhegenc includes the snacc-generated (and hand modified) files. Install ------- Installation can be a little tricky as snacc has suffered bit-rot over the years. The last build for v0.9 on windows/cygwin went like this: > tar -xvzf snacc-1.3.tar.gz > cd snacc-1.3 > ./configure Edit "makehead" and add -mno-cygwin to the CFLAGS line: CFLAGS = -g -O2 -DFLEX_IN_USE -mno-cygwin > make c-lib subtarget=install Ignore errors from the last step so long as the library and headers got installed. > cd ../mhegenc > make On more recent linux distributions, it takes a newer snacc to not explode. Ubuntu seems to have a package for it, or you'll need to do the autoconf dance with the github source above. > git clone https://github.com/nevali/snacc.git > cd snacc > libtoolize > aclocal > autoheader > automake --add-missing > autoconf > ./configure > make > make install Testing ------- Regression testing is performed using the included python scripts. The scripts use special test files that contain MHEG-5 Text notation for an application or scene followed by the equivalent XER form of the ASN.1 encoding. To run the test, the mhegtest.py script will use mhegenc to encode the text to DER and then use mhegasn (see below) to convert the XER to DER for comparison. They should be identical. If not, the script should dump a diff between the XER encodings for easy comparison. A similar scheme is implemented for the ASN.1 -> text conversion. mhegasn is not included with the source distribution because of copyright restrictions. It has to be rebuilt from the MHEG-5 ASN.1 definition using asn1c (http://lionet.info/asn1c). If you do have a licence for the standard and access to the ASN.1 definition (with extensions of course), creating mhegasn is a simple matter: > asn1c -fnative-types -fcompound-names mheg_5_definition.asn > gcc -I. -o mhegasn -DPDU=InterchangedObject *.c mhegtest.py is run on a single mhtest file (as the sole argument). runtests.py takes no arguments and runs everything under testfiles/ NOTE: the mhegtest.py script expects to find both mhegenc and mhegasn in your PATH. The full regression suite is also not included in the distribution because of the complex copyright on most of the files used. Feel free to contribute tests to mhegenc@spongelava.com Language -------- The language accepted by the encoder (and decoder) includes extensions for the UK DTT broadcast profile and freesat extensions.
About
Automatically exported from code.google.com/p/mhegenc
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published