adf3f09251
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657 |
||
---|---|---|
.. | ||
cook.c | ||
cook.h | ||
cook_fixpoint.h | ||
cookdata.h | ||
cookdata_fixpoint.h | ||
libcook.make | ||
main.c | ||
Makefile.test | ||
README.rockbox | ||
SOURCES |
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.