Commit graph

1380 commits

Author SHA1 Message Date
Teruaki Kawashima
930a8a5050 set mode argument for open() where O_CREAT flag is/can be set.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28527 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 11:45:20 +00:00
Nils Wallménius
f174c3513b libmusepack: use postindexing on the pointer when storing to increment it for free, saves another instruction in the loop in mpc_decoder_windowing_D speed difference is in the noise though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28492 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 16:21:25 +00:00
Nils Wallménius
9d98583a18 libmusepack: tiny optimization of the ARMv4 mpc_decoder_windowing_D implementations, using register indexed addressing to store data, saving one instruction in the loop and deleting one instruction adter the loop which isn't needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28488 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 11:49:30 +00:00
Nils Wallménius
dbdc0a8a8c libmusepack: ARMv6 assembler for mpc_decoder_windowing_D, speeds up decoding of 128kbps sample file 2MHz, or 8%, on gigabeat S. The output difference to the c implementation and the other ARM implementation is +/-1 in less than 0.1% of the output samples.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28487 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 11:20:50 +00:00
Andree Buschmann
c355122cce Minor optimization of mpc codec via moving dewindowing asm to icode section for S5L870x.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28454 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 21:13:39 +00:00
Andree Buschmann
560d89130f Using icode attribute for S5L870x is faster on some codecs. Speed up for mpc is ~3%, for aac ~1%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28453 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 21:06:20 +00:00
Andree Buschmann
48bb3d00db Optimize mpc's synthesis filter by reducing stalls for arm9 and above. Speed 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-02 21:00:34 +00:00
Nils Wallménius
0e5cd90f46 Fix typo from r28026 causing warnings on newer gcc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28439 a1c6a512-1295-4272-9138-f99709370657
2010-11-01 21:37:57 +00:00
Andree Buschmann
5245c9254a Fix FS#11710. On Coldfire CPU's mpc uses a speed optimization which was not correctly re-initialized when rebuffering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28437 a1c6a512-1295-4272-9138-f99709370657
2010-11-01 20:43:17 +00:00
Nils Wallménius
dfac9503eb libtremor: tweak a hot function for codebook decoding, mostly moving pointer 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-31 14:48:40 +00:00
Nils Wallménius
78b2711e58 libtremor: introduce asm optimized version of the channel_couple function 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-31 08:19:19 +00:00
Nils Wallménius
c1bfe4eb62 libtremor: tiny optimization 0.5%-1.5% on coldfire and PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28285 a1c6a512-1295-4272-9138-f99709370657
2010-10-16 09:58:21 +00:00
Dave Hooper
a5b17b4511 Rearrange and remove some manual register assignments, make use of pointer 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-12 23:29:17 +00:00
Frank Gevaerts
e94eea9538 Invalidate the CPU cache after clearing bss, to make sure that bss variables 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-10 20:49:21 +00:00
Thomas Martitz
bf301fdbb6 Fix a few div0 cases forgotten in r27684 to enable enabling asm optimizations for android builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28235 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:43:40 +00:00
Andree Buschmann
27122e4cc9 Fix FS#11650. Correct sliencing of subband in mpc decoder. Thanks to Leo Witt for reporting and supporting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28200 a1c6a512-1295-4272-9138-f99709370657
2010-10-02 23:02:36 +00:00
Andree Buschmann
2ddcd7fd94 Optimization of mpc's buffering routines through using the maximum possible buffer size. This reduces read access calls.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28198 a1c6a512-1295-4272-9138-f99709370657
2010-10-02 17:52:12 +00:00
Andree Buschmann
32838e96d0 Finally fix FS#11476 (data abort when playing some sv8 mpc files on lowmem 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-10-02 17:43:36 +00:00
Nils Wallménius
5b2d7e23a0 ARMv6 supports unaligned memory accesses and they are enabled on our only 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-29 13:20:03 +00:00
Michael Giacomelli
cc6ef19dd9 Remove some unused variables.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28118 a1c6a512-1295-4272-9138-f99709370657
2010-09-19 22:09:11 +00:00
Rafaël Carré
f8d1509a95 flac: more detailed debug message
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28087 a1c6a512-1295-4272-9138-f99709370657
2010-09-15 07:44:03 +00:00
Andree Buschmann
24d8e8ef1a Minor macro redefinition in libfaad to avoid FIXED_POINT ifdef'ing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28085 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 20:40:56 +00:00
Andree Buschmann
9fb54ae32b More unification of FIXED_POINT and FLOAT. Small refactoring.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28084 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 20:26:01 +00:00
Andree Buschmann
82c143c4e1 Also correct autocorrelation for yet undefined SBR_LOW_POWER. Unify FIXED_POINT and FLOAT implementation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28083 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 19:53:13 +00:00
Andree Buschmann
c8da311de4 Fix scaling error that was introduced with r28069. With this fix the level 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-14 19:31:00 +00:00
Andree Buschmann
e98ee2d696 Correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28080 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 19:17:21 +00:00
Andree Buschmann
b543a2a5d2 Correct autocorrelation function in libfaad. It used the wrong fract part 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-14 19:05:09 +00:00
Andree Buschmann
cba9d259b0 Further libfaad cleanup. Make libfaad compilable for floating point. 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-14 06:03:39 +00:00
Andree Buschmann
f24e130017 Further libfaad cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28070 a1c6a512-1295-4272-9138-f99709370657
2010-09-13 21:23:32 +00:00
Andree Buschmann
ddb936a0c5 Clean up libfaad's fixed point implementation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28069 a1c6a512-1295-4272-9138-f99709370657
2010-09-13 20:57:22 +00:00
Thomas Martitz
0d4585b28f Extend lc_open() to also being able to load overlay plugins.
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-09 16:17:21 +00:00
Thomas Martitz
6af762f2bf codecs_crt0.c needs to call cpucache_invalidate after copying code around.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28052 a1c6a512-1295-4272-9138-f99709370657
2010-09-09 14:28:58 +00:00
Rafaël Carré
5a329ded5c workaround weird gcc behaviour
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-07 14:58:10 +00:00
Thomas Martitz
6eaab4d004 Ged rid of uisimulator/common/io.c for android builds.
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-09-01 21:29:34 +00:00
Jens Arnold
811877e5b3 libdemac: ARMv7 assembler optimisation for the filters, tested on Nokia 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-30 06:31:47 +00:00
Andree Buschmann
7def0f5cbd Restore libfaad's IRAM configuration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27942 a1c6a512-1295-4272-9138-f99709370657
2010-08-29 19:27:11 +00:00
Andree Buschmann
cdca5efce9 Fix FS#11539. Undo r23967 and use another way to achieve results for 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-29 19:03:05 +00:00
Andree Buschmann
5be1c33521 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27940 a1c6a512-1295-4272-9138-f99709370657
2010-08-29 16:46:03 +00:00
Andree Buschmann
d4567b64ba Clean up alac/acc demux structure on next track. Solves issues with some 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-29 16:43:11 +00:00
Magnus Holmgren
7c8a49dbff Make M4A demuxer more flexible when handling the stsd atom. Allows file reported in the forum to play.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27938 a1c6a512-1295-4272-9138-f99709370657
2010-08-29 13:48:29 +00:00
Thomas Martitz
2c2e261648 Use system headers a bit more: use host's fcntl.h for O_RDONLY etc.
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-27 12:38:25 +00:00
Andree Buschmann
9fc1f55a0f Fix residual aac-he distortion reported via forum. Bug was introduded with r27364.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27898 a1c6a512-1295-4272-9138-f99709370657
2010-08-26 20:37:46 +00:00
Thomas Martitz
46454ac2a8 Move setjmp to lib and add setjmp for sh (imported from newlib) and compile 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-24 12:38:42 +00:00
Andree Buschmann
20de4c55a2 Fix libfaad error that was introduced with r27225. Noise bursts during 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-23 23:14:32 +00:00
Bertrik Sikken
e70bc182cf Reinitialise ogg_malloc system on each track change with the vorbis codec - part of FS #11533 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27866 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 20:09:58 +00:00
Nils Wallménius
d660e9655c Move ffmpeg functions to their own file to avoid mixing code under different 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-22 20:14:25 +00:00
Nils Wallménius
8b5f3cabcc forgot comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27858 a1c6a512-1295-4272-9138-f99709370657
2010-08-22 19:54:17 +00:00
Nils Wallménius
ca47ed6cba libtremor: use render_line from ffmpeg (libavcodec/vorbis.c), speedup ~1% on both arm and coldfire, output unchanged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27857 a1c6a512-1295-4272-9138-f99709370657
2010-08-22 19:50:26 +00:00
Mohamed Tarek
afe92f34cc Correct the check for the requested vs returned sizes in libasf.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27807 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 09:49:09 +00:00
Michael Giacomelli
f63570ace5 Add uppercase M4A file type to the mp4 parser. Technically Apple says to 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-14 01:09:46 +00:00