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