-
Notifications
You must be signed in to change notification settings - Fork 0
Clone/fork of mhegenc, originally authored by Samsung
License
nexgenta/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. 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 http://www.fokus.gmd.de/ovma/freeware/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 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 [email protected] Language -------- The language accepted by the encoder (and decoder) includes extensions for the UK DTT broadcast profile and freesat extensions.
About
Clone/fork of mhegenc, originally authored by Samsung
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published