c956059ec5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22297 a1c6a512-1295-4272-9138-f99709370657
47 lines
1.5 KiB
Text
47 lines
1.5 KiB
Text
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.
|
|
|
|
CONVERSION TO FIXED-POINT
|
|
|
|
A patch from ffmpeg's mailing list was used to convert the decoder to
|
|
use fixed-point arithmetic. The patch was done by Ian Braithwaite, and
|
|
discussed here :
|
|
|
|
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/46024
|
|
|
|
The patch is a bit dated (2007) so the modifications to cook.c had to
|
|
be done manually. The patch was also applied to cookdata.h and was
|
|
used to create cookdata_fixpoint.h, cook_fixpoint.h and
|
|
cook_fixp_mdct.h.
|
|
|
|
cook_fixp_mdct.h and parts from cookdata_fixpoint.h were dropped and
|
|
rockbox's mdct library is now used in both the test program and the
|
|
real codec.
|
|
|
|
Note : Only parts of the patch were committed to ffmpeg's repository.
|
|
|
|
TESTING
|
|
|
|
The test program should compile in any Unix-like environment using the
|
|
command "make -f Makefile.test".
|
|
|
|
For ARM targets add -DCPU_ARM to CFLAGS in Makefile.test to make use of
|
|
the asm ARM optimisations in rockbox's mdct library.
|
|
|
|
For Big-endian targets, change -D"ROCKBOX_LITTLE_ENDIAN=1"
|
|
to -D"ROCKBOX_BIG_ENDIAN=1" in Makefile.test.
|
|
|
|
Running "./cooktest file.rm" will decode the audio data to a WAV file
|
|
called "output.wav" in the current directory.
|