summaryrefslogtreecommitdiff
path: root/apps/codecs/libcook (unfollow)
Commit message (Collapse)Author
2010-05-14Set up EMAC mode in cook, fixing whitenois when transitioning from a codec ↵Nils Wallménius
using different emac mode.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26016 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz
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
2010-05-06Make open() posix compliant api-wise. A few calls (those with O_CREAT) need ↵Thomas Martitz
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
2010-02-21Remove CLIP_TO_15 from codeclib. Remove tabs.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24834 a1c6a512-1295-4272-9138-f99709370657
2010-02-21Further work on cook codec. Rounding is not needed when using a large fract ↵Andree Buschmann
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
2010-02-21Optimization for cook codec. Rework sample output to be able to use highly ↵Andree Buschmann
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
2010-02-17Merge from branches/mdctexp - faster ifft+imdct in codec libDave Hooper
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
2009-12-06Fix red: av_log2 undefined for ARM_ARCH <= 4, missing codeclib.h includes.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23869 a1c6a512-1295-4272-9138-f99709370657
2009-12-05Move av_log2 function and asociated table to the codec lib, remove 3 ↵Nils Wallménius
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
2009-08-15Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate ↵Mohamed Tarek
copies across codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
2009-08-15remove duplicates of bswap.h from libwma, libcook and libatrac. Create ↵Mohamed Tarek
codecs/lib/ffmpeg_bswap.h and use it instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22328 a1c6a512-1295-4272-9138-f99709370657
2009-08-14Factor out bytestream reading functions needed in rm parsers/codecs.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22308 a1c6a512-1295-4272-9138-f99709370657
2009-08-13Modify libcook to use rockbox's mdct library in its standalone test program.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22297 a1c6a512-1295-4272-9138-f99709370657
2009-07-27Fix compilation of the standalone test program.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22064 a1c6a512-1295-4272-9138-f99709370657
2009-07-26Approx 10% speedup in cook on files tested: Remove some inner loops in ↵Dave Hooper
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
2009-07-25Compile librm separately in preparation for addition of more codecs.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22028 a1c6a512-1295-4272-9138-f99709370657
2009-07-24Remove a divide in the cook's init function. Harmless but might as well ↵Michael Giacomelli
drop it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22019 a1c6a512-1295-4272-9138-f99709370657
2009-07-21Commited the wrong thing, fix zeroing in cook.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21989 a1c6a512-1295-4272-9138-f99709370657
2009-07-21Rearrange loop to avoid one branch per iteration.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21988 a1c6a512-1295-4272-9138-f99709370657
2009-07-18Generic codec-extradata parsing, in preparation for addition of AAC/RM.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21941 a1c6a512-1295-4272-9138-f99709370657
2009-07-18Optimize overlap_math by only doing shifting if theres gain, and moving the ↵Michael Giacomelli
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
2009-07-17Rearrange the MDCT library lookup tables so that codecs can access them. ↵Michael Giacomelli
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
2009-07-16Remove a call to av_clip() which limits the PCM output of the decoder to 16-bit.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21911 a1c6a512-1295-4272-9138-f99709370657
2009-07-16Remove an overlooked, unused float from struct COOKContext.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21909 a1c6a512-1295-4272-9138-f99709370657
2009-07-08Previous commit didn't fix compiling on Cygwin, this one should.Maurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21724 a1c6a512-1295-4272-9138-f99709370657
2009-07-08Fix compiling on Cygwin hosts.Maurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21722 a1c6a512-1295-4272-9138-f99709370657
2009-07-06Adding support for rm playback. Only cook codec is supported for now and no ↵Mohamed Tarek
seeking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21695 a1c6a512-1295-4272-9138-f99709370657
2009-05-24Move rm.[c/h] from libcook to librm. No functional changes.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21066 a1c6a512-1295-4272-9138-f99709370657
2009-05-22Move the code segment that corrects the value of (number of packets) to Mohamed Tarek
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
2009-05-22Modify the test program to read audio frames from a memory buffer rather Mohamed Tarek
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
2009-05-22-Remove some unnecessary defines from rm.c.Mohamed Tarek
-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
2009-05-22Rename rm2wav.[c/h] to rm.[c/h]. No functional changes.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21040 a1c6a512-1295-4272-9138-f99709370657
2009-05-22Move wav related code to main.cMohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21039 a1c6a512-1295-4272-9138-f99709370657
2009-05-14Move bswap.h up from libavutil/ and remove libavutil/Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20931 a1c6a512-1295-4272-9138-f99709370657
2009-05-12-Remove all dynamic allocations, hence remove cook_decode_close() which was ↵Mohamed Tarek
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
2009-05-12-Remove calls to av_log() and use DEBUGF/printf instead, thuse removing Mohamed Tarek
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
2009-05-12Remove bytestream.h and and a related comment from cook.hMohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20917 a1c6a512-1295-4272-9138-f99709370657
2009-05-11-Took cook_random() from an old cook.c revision [6 mar 2007], which is a Mohamed Tarek
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
2009-05-11Patch by Mohamed Tarek from FS#10182 - remove avcodec.h as it is no longer ↵Dave Chapman
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
2009-05-11Fix the $Id$ line broken by r20907.Dave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20908 a1c6a512-1295-4272-9138-f99709370657
2009-05-10Actually remove the unneeded files in the last commit.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20903 a1c6a512-1295-4272-9138-f99709370657
2009-05-10Patch by Mohamed Tarek from FS #10182. Remove floating point code (FFT, ↵Michael Giacomelli
MDCT, etc) from libcook. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20902 a1c6a512-1295-4272-9138-f99709370657
2009-05-10Patch by Mohamed Tarek from FS#10182 - convert codec to fixed-point using ↵Dave Chapman
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
2009-05-09Patch by Mohamed Tarek from FS#10182: 1) Move the main() test program from ↵Dave Chapman
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
2009-05-09Patch by Mohamed Tarek - add #define to protect against multiple inclusionDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20897 a1c6a512-1295-4272-9138-f99709370657
2009-05-09The first part of Mohamed Tarek's Google Summer of Code work to implement ↵Dave Chapman
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
2009-05-09Initial commit of the minimal set of ffmpeg (r18079) files required for Cook ↵Dave Chapman
(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