summaryrefslogtreecommitdiff
path: root/apps/codecs
AgeCommit message (Collapse)Author
2010-11-02Optimize mpc's synthesis filter by reducing stalls for arm9 and above. Speed ↵Andree Buschmann
up ranges from 4% (nano 2g) to 11% (beast). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28452 a1c6a512-1295-4272-9138-f99709370657
2010-11-01Fix typo from r28026 causing warnings on newer gcc.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28439 a1c6a512-1295-4272-9138-f99709370657
2010-11-01Fix FS#11710. On Coldfire CPU's mpc uses a speed optimization which was not ↵Andree Buschmann
correctly re-initialized when rebuffering. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28437 a1c6a512-1295-4272-9138-f99709370657
2010-10-31libtremor: tweak a hot function for codebook decoding, mostly moving pointer ↵Nils Wallménius
lookups outside the loop. Speeds up decoding by 3-6% on Coldfire and a small speedup on arm too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28419 a1c6a512-1295-4272-9138-f99709370657
2010-10-31libtremor: introduce asm optimized version of the channel_couple function ↵Nils Wallménius
for Coldfire and optimize the arm as version, speedup ~1% on Coldfire and PortalPlayer. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28405 a1c6a512-1295-4272-9138-f99709370657
2010-10-16libtremor: tiny optimization 0.5%-1.5% on coldfire and PPNils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28285 a1c6a512-1295-4272-9138-f99709370657
2010-10-12Rearrange and remove some manual register assignments, make use of pointer ↵Dave Hooper
address increments for free on arm, and remove macros in favour of explicit inline fns. also add memory clobbers to all uses of stm in inline asm. appears to resolve issues with codeclib failing to work as expected when using ARM_ASM optimisations on targets with native position independent code (e.g. android rockbox targets, but also tremor on non-rockbox targets that has been patched with the fastermdct patches) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28262 a1c6a512-1295-4272-9138-f99709370657
2010-10-10Invalidate the CPU cache after clearing bss, to make sure that bss variables ↵Frank Gevaerts
that are used via non-cached aliases don't read garbage. This fixes FS#11653 for me git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28236 a1c6a512-1295-4272-9138-f99709370657
2010-10-10Fix a few div0 cases forgotten in r27684 to enable enabling asm ↵Thomas Martitz
optimizations for android builds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28235 a1c6a512-1295-4272-9138-f99709370657
2010-10-02Fix FS#11650. Correct sliencing of subband in mpc decoder. Thanks to Leo ↵Andree Buschmann
Witt for reporting and supporting. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28200 a1c6a512-1295-4272-9138-f99709370657
2010-10-02Optimization of mpc's buffering routines through using the maximum possible ↵Andree Buschmann
buffer size. This reduces read access calls. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28198 a1c6a512-1295-4272-9138-f99709370657
2010-10-02Finally fix FS#11476 (data abort when playing some sv8 mpc files on lowmem ↵Andree Buschmann
targets like Clip+/Fuzev1/Fuzev2). This fix disables loading of seek tables from the sv8 bitstream. Those table are located at the end of sv8-files. When playing sv8 files this resulted in seek to filebegin, then fileend, then back to filebegin. Such seeking behaviour results in heavy rebuffering when playing files on targets with low RAM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28197 a1c6a512-1295-4272-9138-f99709370657
2010-09-29ARMv6 supports unaligned memory accesses and they are enabled on our only ↵Nils Wallménius
ARMv6 target so we might as well use them. Speeds up decoding of a flac8 file by 3.5%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28183 a1c6a512-1295-4272-9138-f99709370657
2010-09-19Remove some unused variables.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28118 a1c6a512-1295-4272-9138-f99709370657
2010-09-15flac: more detailed debug messageRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28087 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Minor macro redefinition in libfaad to avoid FIXED_POINT ifdef'ing.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28085 a1c6a512-1295-4272-9138-f99709370657
2010-09-14More unification of FIXED_POINT and FLOAT. Small refactoring.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28084 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Also correct autocorrelation for yet undefined SBR_LOW_POWER. Unify ↵Andree Buschmann
FIXED_POINT and FLOAT implementation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28083 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Fix scaling error that was introduced with r28069. With this fix the level ↵Andree Buschmann
of the hf-spectrum will be correct when decoding aac-he files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28081 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Correct comment.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28080 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Correct autocorrelation function in libfaad. It used the wrong fract part ↵Andree Buschmann
for the multiplication macros. Introduce appropriate solution to avoid overflow. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28079 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Further libfaad cleanup. Make libfaad compilable for floating point. ↵Andree Buschmann
Floating point cannot be used as reference though, as errorous noise is the result. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28071 a1c6a512-1295-4272-9138-f99709370657
2010-09-13Further libfaad cleanup.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28070 a1c6a512-1295-4272-9138-f99709370657
2010-09-13Clean up libfaad's fixed point implementation.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28069 a1c6a512-1295-4272-9138-f99709370657
2010-09-09Extend lc_open() to also being able to load overlay plugins.Thomas Martitz
For this it needs to look at the plugin header. Since lc_open() doesn't know it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
2010-09-09codecs_crt0.c needs to call cpucache_invalidate after copying code around.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28052 a1c6a512-1295-4272-9138-f99709370657
2010-09-07workaround weird gcc behaviourRafaël Carré
it might a bug in the 4 years old gcc version, but __ASSEMBLER__ is not defined when preprocessing .S files with -std=gnu99 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28026 a1c6a512-1295-4272-9138-f99709370657
2010-09-01Ged rid of uisimulator/common/io.c for android builds.Thomas Martitz
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants. Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know). For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one, the values can be retrieved via the new dir_get_info(). Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
2010-08-30libdemac: ARMv7 assembler optimisation for the filters, tested on Nokia ↵Jens Arnold
N900. Speedup is 2.1x for -c5000 compared to the ARMv6 asm. Note that actually compiling it on device requires hand-assembling the 'vadd' and 'vsub' instructions due to a bug in binutils 2.18.50, and making the standalone decoder use it requires Makefile and demac_config.h hacks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27944 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Restore libfaad's IRAM configuration.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27942 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Fix FS#11539. Undo r23967 and use another way to achieve results for ↵Andree Buschmann
negative exponents for pow(2,x). This solves heavy distortions on some aac encoded files and clicks/noise on track change. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27941 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Fix red.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27940 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Clean up alac/acc demux structure on next track. Solves issues with some ↵Andree Buschmann
files only being playable on direct selection, but not if switched to via playback engine or skip. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27939 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Make M4A demuxer more flexible when handling the stsd atom. Allows file ↵Magnus Holmgren
reported in the forum to play. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27938 a1c6a512-1295-4272-9138-f99709370657
2010-08-27Use system headers a bit more: use host's fcntl.h for O_RDONLY etc.Thomas Martitz
Removes the need to fix up those in the simulator. Also work around some posix-mingw incompatibilities (e.g. getcwd()). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27904 a1c6a512-1295-4272-9138-f99709370657
2010-08-26Fix residual aac-he distortion reported via forum. Bug was introduded with ↵Andree Buschmann
r27364. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27898 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Move setjmp to lib and add setjmp for sh (imported from newlib) and compile ↵Thomas Martitz
it as separate library. It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs so it doesn't fit into sources. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Fix libfaad error that was introduced with r27225. Noise bursts during ↵Andree Buschmann
playback of several files were reported in the forums. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27868 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Reinitialise ogg_malloc system on each track change with the vorbis codec - ↵Bertrik Sikken
part of FS #11533 by me git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27866 a1c6a512-1295-4272-9138-f99709370657
2010-08-22Move ffmpeg functions to their own file to avoid mixing code under different ↵Nils Wallménius
liceses in the same file. Licensing is fun! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27859 a1c6a512-1295-4272-9138-f99709370657
2010-08-22forgot commentNils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27858 a1c6a512-1295-4272-9138-f99709370657
2010-08-22libtremor: use render_line from ffmpeg (libavcodec/vorbis.c), speedup ~1% on ↵Nils Wallménius
both arm and coldfire, output unchanged. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27857 a1c6a512-1295-4272-9138-f99709370657
2010-08-14Correct the check for the requested vs returned sizes in libasf. Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27807 a1c6a512-1295-4272-9138-f99709370657
2010-08-14Add uppercase M4A file type to the mp4 parser. Technically Apple says to ↵Michael Giacomelli
use lowercase, but various programs tolerate this, so we can too. Fixes FS#11536. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27805 a1c6a512-1295-4272-9138-f99709370657
2010-08-13Update libwmavoice's README.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27801 a1c6a512-1295-4272-9138-f99709370657
2010-08-13Fix a bug in the asf parser that led to dropping packets in WMA voice. WMA ↵Mohamed Tarek
voice now outputs the correct number of samples/packets. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27800 a1c6a512-1295-4272-9138-f99709370657
2010-08-12Missed some more debug statements in libasf.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27797 a1c6a512-1295-4272-9138-f99709370657
2010-08-12Remove old debug line from wma.c.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27796 a1c6a512-1295-4272-9138-f99709370657
2010-08-12Move memset6() declaration to string-extra.h, kills a warning compiling for ↵Thomas Martitz
android since it ships a memory.h. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27789 a1c6a512-1295-4272-9138-f99709370657
2010-08-12libtremor: fix possible memoryleak when playing several ogg vorbis files in ↵Nils Wallménius
sequence, hopefully fixes FS#11533 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27776 a1c6a512-1295-4272-9138-f99709370657