rockbox/apps/codecs/libcook
Dave Chapman 868652abaa Patch by Mohamed Tarek - add #define to protect against multiple inclusion
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20897 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 23:14:55 +00:00
..
libavutil
avcodec.h
bitstream.c
bitstream.h
bytestream.h
cook.c
cookdata.h
dsputil.h
ffmpeg_config.h
fft.c
Makefile.test
mdct.c
README.rockbox
rm2wav.c
rm2wav.h Patch by Mohamed Tarek - add #define to protect against multiple inclusion 2009-05-09 23:14:55 +00:00

Library: libcook
Imported by : Mohamed Tarek

These files comprise a rm parser and a cook decoder based on the decoder
from ffmpeg.

LICENSING INFORMATION

ffmpeg is licensed under the Lesser GNU General Public License and the
file cook.c is Copyright 2003 Sascha Sommer and 2005 Benjamin Larsson.

IMPORT DETAILS

The decoder is based on ffmpeg-svn r18079.

The file libavcodec/cook.c was modified to remove all ffmpeg-specific
code and to use the current rm parser.

In initializing random_state in COOKContext, ffmpeg used a random_seed()
function that was weird in the way it gets the random number. So it was
decided to not use this function at all,and the value was initialized to 1,
because according to Benjamin Larsson random_seed() could just be 
replaced by any value.

The current files contain lots of code which is either not needed by
the decoder or totally disabled (#if 0 .. #endif) to enable
compiling. This was during the isolation of the decoder from ffmpeg,
the intention was to take as few files as possible to be able to
compile cook.c and the related files outside ffmpeg.

The decoder still uses floating point and relies on dynamic allocations 
in some parts of it. It's still not ready to be ported to rockbox.

TESTING

The test program should compile in any Unix-like environment using the
command "make -f Makefile.test".

Running "./cooktest file.rm" will decode the audio data to a WAV file
called "output.wav" in the current directory.