summaryrefslogtreecommitdiff
path: root/apps/codecs/libcook (follow)
Commit message (Collapse)AuthorAge
* Set up EMAC mode in cook, fixing whitenois when transitioning from a codec ↵Nils Wallménius2010-05-14
| | | | | | using different emac mode.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26016 a1c6a512-1295-4272-9138-f99709370657
* Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz2010-05-06
| | | | | | | | directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
* Make open() posix compliant api-wise. A few calls (those with O_CREAT) need ↵Thomas Martitz2010-05-06
| | | | | | the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
* Remove CLIP_TO_15 from codeclib. Remove tabs.Andree Buschmann2010-02-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24834 a1c6a512-1295-4272-9138-f99709370657
* Further work on cook codec. Rounding is not needed when using a large fract ↵Andree Buschmann2010-02-21
| | | | | | part in the internal sample representation. Move quantization array to iram. Beautification of mdct post processing. Speed up of 0.2 MHz on PP5022. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24821 a1c6a512-1295-4272-9138-f99709370657
* Optimization for cook codec. Rework sample output to be able to use highly ↵Andree Buschmann2010-02-21
| | | | | | optimized dsp routines. Moved some functions to iram. Speeds up codec by 1.3 MHz on PP5022. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24815 a1c6a512-1295-4272-9138-f99709370657
* Merge from branches/mdctexp - faster ifft+imdct in codec libDave Hooper2010-02-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
* Fix red: av_log2 undefined for ARM_ARCH <= 4, missing codeclib.h includes.Andrew Mahone2009-12-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23869 a1c6a512-1295-4272-9138-f99709370657
* Move av_log2 function and asociated table to the codec lib, remove 3 ↵Nils Wallménius2009-12-05
| | | | | | identical implementations, always have LUT in iram (gives a *tiny* speedup on coldfire), make the clz based function return the same value as the non clz based function for 0 input to be safe (slows down flac ~2% on the gigabeat S) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23858 a1c6a512-1295-4272-9138-f99709370657
* Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate ↵Mohamed Tarek2009-08-15
| | | | | | copies across codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
* remove duplicates of bswap.h from libwma, libcook and libatrac. Create ↵Mohamed Tarek2009-08-15
| | | | | | codecs/lib/ffmpeg_bswap.h and use it instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22328 a1c6a512-1295-4272-9138-f99709370657
* Factor out bytestream reading functions needed in rm parsers/codecs.Mohamed Tarek2009-08-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22308 a1c6a512-1295-4272-9138-f99709370657
* Modify libcook to use rockbox's mdct library in its standalone test program.Mohamed Tarek2009-08-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22297 a1c6a512-1295-4272-9138-f99709370657
* Fix compilation of the standalone test program.Mohamed Tarek2009-07-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22064 a1c6a512-1295-4272-9138-f99709370657
* Approx 10% speedup in cook on files tested: Remove some inner loops in ↵Dave Hooper2009-07-26
| | | | | | favour of memcpy/memset/vect_add calls; remove multiplication from index arithmetic in loops in favour of pointer arithmetic; make use of the MULT31, MULT31_SHIFT15 and CLIP_TO_15 implementations from codelib instead of having their own implementations in cook git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22055 a1c6a512-1295-4272-9138-f99709370657
* Compile librm separately in preparation for addition of more codecs.Mohamed Tarek2009-07-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22028 a1c6a512-1295-4272-9138-f99709370657
* Remove a divide in the cook's init function. Harmless but might as well ↵Michael Giacomelli2009-07-24
| | | | | | drop it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22019 a1c6a512-1295-4272-9138-f99709370657
* Commited the wrong thing, fix zeroing in cook.Michael Giacomelli2009-07-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21989 a1c6a512-1295-4272-9138-f99709370657
* Rearrange loop to avoid one branch per iteration.Michael Giacomelli2009-07-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21988 a1c6a512-1295-4272-9138-f99709370657
* Generic codec-extradata parsing, in preparation for addition of AAC/RM.Mohamed Tarek2009-07-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21941 a1c6a512-1295-4272-9138-f99709370657
* Optimize overlap_math by only doing shifting if theres gain, and moving the ↵Michael Giacomelli2009-07-18
| | | | | | check for sign outside of the for loop. 3% speedup on PP5024. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21940 a1c6a512-1295-4272-9138-f99709370657
* Rearrange the MDCT library lookup tables so that codecs can access them. ↵Michael Giacomelli2009-07-17
| | | | | | Access them in cook. Remove old cook trig tables. Replace old 32x16 bit fixed point multiply code with faster ASM ARM/Coldfire versions using full 32 bit precision. Improves performance signficantly on PP5024 (~200% realtime for a 64k file) while saving a lot of memory and improving accuracy. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21939 a1c6a512-1295-4272-9138-f99709370657
* Remove a call to av_clip() which limits the PCM output of the decoder to 16-bit.Mohamed Tarek2009-07-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21911 a1c6a512-1295-4272-9138-f99709370657
* Remove an overlooked, unused float from struct COOKContext.Mohamed Tarek2009-07-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21909 a1c6a512-1295-4272-9138-f99709370657
* Previous commit didn't fix compiling on Cygwin, this one should.Maurus Cuelenaere2009-07-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21724 a1c6a512-1295-4272-9138-f99709370657
* Fix compiling on Cygwin hosts.Maurus Cuelenaere2009-07-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21722 a1c6a512-1295-4272-9138-f99709370657
* Adding support for rm playback. Only cook codec is supported for now and no ↵Mohamed Tarek2009-07-06
| | | | | | seeking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21695 a1c6a512-1295-4272-9138-f99709370657
* Move rm.[c/h] from libcook to librm. No functional changes.Mohamed Tarek2009-05-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21066 a1c6a512-1295-4272-9138-f99709370657
* Move the code segment that corrects the value of (number of packets) to Mohamed Tarek2009-05-22
| | | | | | | | the parser. This is strictly parser-related and main.c shouldn't have to deal with it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21043 a1c6a512-1295-4272-9138-f99709370657
* Modify the test program to read audio frames from a memory buffer rather Mohamed Tarek2009-05-22
| | | | | | | | than a file descriptor, to make the decoding process as much similar as to how it should be in rockbox. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21042 a1c6a512-1295-4272-9138-f99709370657
* -Remove some unnecessary defines from rm.c.Mohamed Tarek2009-05-22
| | | | | | | | -Modify code related to the renamed rm.[c/h] instead of rm2wav.[c/h]. -Remove struct cook_extradata from rm.c as it is not used. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21041 a1c6a512-1295-4272-9138-f99709370657
* Rename rm2wav.[c/h] to rm.[c/h]. No functional changes.Mohamed Tarek2009-05-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21040 a1c6a512-1295-4272-9138-f99709370657
* Move wav related code to main.cMohamed Tarek2009-05-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21039 a1c6a512-1295-4272-9138-f99709370657
* Move bswap.h up from libavutil/ and remove libavutil/Mohamed Tarek2009-05-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20931 a1c6a512-1295-4272-9138-f99709370657
* -Remove all dynamic allocations, hence remove cook_decode_close() which was ↵Mohamed Tarek2009-05-12
| | | | | | | | | | | | | | basically needed for freeing allocated memory. -Remove any ffmpeg-specific attributes (av_const,av_always_inline .. etc.). -Move some math functions to cook_fixpoint.h - libavutil/common.h is no longer needed. -Remove libavutil/mem.[c/h], libavutil/common.h and libavutil/internal.h. -Fix a warning in cookdata_fixpoint.h. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20922 a1c6a512-1295-4272-9138-f99709370657
* -Remove calls to av_log() and use DEBUGF/printf instead, thuse removing Mohamed Tarek2009-05-12
| | | | | | | | | | libavutil/log.[c/h] and libavutil/avutil.h. -Take necessary defines to bitstream.h from libavutil/intreadwrite.h to remove the latter. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20918 a1c6a512-1295-4272-9138-f99709370657
* Remove bytestream.h and and a related comment from cook.hMohamed Tarek2009-05-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20917 a1c6a512-1295-4272-9138-f99709370657
* -Took cook_random() from an old cook.c revision [6 mar 2007], which is a Mohamed Tarek2009-05-11
| | | | | | | | | simple RNG, to eliminate the need for lfg.c/h. -Remove lfg.c/h and md5.c/h as they are no longer needed and use the more common form of my name in docs/COMMITTERS. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20915 a1c6a512-1295-4272-9138-f99709370657
* Patch by Mohamed Tarek from FS#10182 - remove avcodec.h as it is no longer ↵Dave Chapman2009-05-11
| | | | | | needed. Also remove -lm from Makefile.test for the same reason. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20909 a1c6a512-1295-4272-9138-f99709370657
* Fix the $Id$ line broken by r20907.Dave Chapman2009-05-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20908 a1c6a512-1295-4272-9138-f99709370657
* Actually remove the unneeded files in the last commit.Michael Giacomelli2009-05-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20903 a1c6a512-1295-4272-9138-f99709370657
* Patch by Mohamed Tarek from FS #10182. Remove floating point code (FFT, ↵Michael Giacomelli2009-05-10
| | | | | | MDCT, etc) from libcook. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20902 a1c6a512-1295-4272-9138-f99709370657
* Patch by Mohamed Tarek from FS#10182 - convert codec to fixed-point using ↵Dave Chapman2009-05-10
| | | | | | patches submitted to the ffmpeg mailing list in 2007 by Ian Braithwaite. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20901 a1c6a512-1295-4272-9138-f99709370657
* Patch by Mohamed Tarek from FS#10182: 1) Move the main() test program from ↵Dave Chapman2009-05-09
| | | | | | cook.c to a new main.c; 2) Move some common definitions from cook.c to cook.h. No functional changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20898 a1c6a512-1295-4272-9138-f99709370657
* Patch by Mohamed Tarek - add #define to protect against multiple inclusionDave Chapman2009-05-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20897 a1c6a512-1295-4272-9138-f99709370657
* The first part of Mohamed Tarek's Google Summer of Code work to implement ↵Dave Chapman2009-05-09
| | | | | | RealAudio support in Rockbox. This is a self-contained Cook decoder using the original ffmpeg (still floating point) decoder and a new RM parser started by me in 2008 and continued by MT over the past few months. This is the equivalent of libcook.patch1 from FS#10182, but with further cleaning by both MT and me to minimise the differences to the original ffmpeg files. See README.rockbox for more details. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20883 a1c6a512-1295-4272-9138-f99709370657
* Initial commit of the minimal set of ffmpeg (r18079) files required for Cook ↵Dave Chapman2009-05-09
(realaudio) decoding. These are the unmodified versions from ffmpeg, committed as a base for future changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20882 a1c6a512-1295-4272-9138-f99709370657