summaryrefslogtreecommitdiff
path: root/apps/codecs/libcook/README.rockbox
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libcook/README.rockbox')
-rw-r--r--apps/codecs/libcook/README.rockbox29
1 files changed, 9 insertions, 20 deletions
diff --git a/apps/codecs/libcook/README.rockbox b/apps/codecs/libcook/README.rockbox
index b51508f8a9..ae72f2a2f2 100644
--- a/apps/codecs/libcook/README.rockbox
+++ b/apps/codecs/libcook/README.rockbox
@@ -13,24 +13,6 @@ IMPORT DETAILS
13 13
14The decoder is based on ffmpeg-svn r18079. 14The decoder is based on ffmpeg-svn r18079.
15 15
16The file libavcodec/cook.c was modified to remove all ffmpeg-specific
17code and to use the current rm parser.
18
19In initializing random_state in COOKContext, ffmpeg used a random_seed()
20function that was weird in the way it gets the random number. So it was
21decided to not use this function at all,and the value was initialized to 1,
22because according to Benjamin Larsson random_seed() could just be
23replaced by any value.
24
25The current files contain lots of code which is either not needed by
26the decoder or totally disabled (#if 0 .. #endif) to enable
27compiling. This was during the isolation of the decoder from ffmpeg,
28the intention was to take as few files as possible to be able to
29compile cook.c and the related files outside ffmpeg.
30
31The decoder still uses floating point and relies on dynamic allocations
32in some parts of it. It's still not ready to be ported to rockbox.
33
34CONVERSION TO FIXED-POINT 16CONVERSION TO FIXED-POINT
35 17
36A patch from ffmpeg's mailing list was used to convert the decoder to 18A patch from ffmpeg's mailing list was used to convert the decoder to
@@ -44,8 +26,9 @@ be done manually. The patch was also applied to cookdata.h and was
44used to create cookdata_fixpoint.h, cook_fixpoint.h and 26used to create cookdata_fixpoint.h, cook_fixpoint.h and
45cook_fixp_mdct.h. 27cook_fixp_mdct.h.
46 28
47The patch used a cook_random() function for noise filling. this was 29cook_fixp_mdct.h and parts from cookdata_fixpoint.h were dropped and
48dropped and av_lfg_get() was used instead for consistency. 30rockbox's mdct library is now used in both the test program and the
31real codec.
49 32
50Note : Only parts of the patch were committed to ffmpeg's repository. 33Note : Only parts of the patch were committed to ffmpeg's repository.
51 34
@@ -54,5 +37,11 @@ TESTING
54The test program should compile in any Unix-like environment using the 37The test program should compile in any Unix-like environment using the
55command "make -f Makefile.test". 38command "make -f Makefile.test".
56 39
40For ARM targets add -DCPU_ARM to CFLAGS in Makefile.test to make use of
41the asm ARM optimisations in rockbox's mdct library.
42
43For Big-endian targets, change -D"ROCKBOX_LITTLE_ENDIAN=1"
44to -D"ROCKBOX_BIG_ENDIAN=1" in Makefile.test.
45
57Running "./cooktest file.rm" will decode the audio data to a WAV file 46Running "./cooktest file.rm" will decode the audio data to a WAV file
58called "output.wav" in the current directory. 47called "output.wav" in the current directory.