Rafaël Carré
45c7498f59
FS#11335 by me: make ARM assembly functions thumb-friendly
...
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+
Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Andree Buschmann
e02ceefdbc
Submit FS#11381. Use -O2 for ffmpegFLAC on ARM targets. This will give reasonable speed-up (+3% on PP502x) for svn and major speed-up when switching to eabi tool chain (+9% on PP502x). Coldfire was tested to be faster when keeping -O1.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26712 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 06:21:28 +00:00
Jens Arnold
08d3c0be37
Revert r25929. Test have shown that the assembler code is more than 50% faster than the C code both on ARM7TDMI (tested on PP5002 and PP5022) and on ARM1136JF-S (tested on Gigabeat S). If it is slower on ARM9*, it should be disabled for ARM9 only.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25937 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 19:05:25 +00:00
Rafaël Carré
aee2dcf958
flac: remove ARM assembly
...
Using current gcc it only makes decoding a tiny bit slower
Using eabi gcc it makes no speed difference
Tested on fuzev1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25929 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 13:01:40 +00:00
Thomas Martitz
0a1d7c28b7
Make open() posix compliant api-wise. A few calls (those with O_CREAT) need 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-05-06 17:35:13 +00:00
Andree Buschmann
398b37124e
Remove all tabs within codec path.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 19:44:05 +00:00
Andrew Mahone
50512cdeac
Fix red: av_log2 undefined for ARM_ARCH <= 4, missing codeclib.h includes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23869 a1c6a512-1295-4272-9138-f99709370657
2009-12-06 04:43:23 +00:00
Nils Wallménius
b9d7f98f8c
Move av_log2 function and asociated table to the codec lib, remove 3 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-12-05 16:47:43 +00:00
Nils Wallménius
685ca2672e
Use clz instruction to calculate integer logarithms, speeds up decoding of one flac 8 sample by 12%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23783 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 15:21:00 +00:00
Dave Chapman
90f1e5caf2
Check some previously unchecked return values in the standalone FLAC test program - fixes some warnings spotted by Mohamed Tarek El Haddad (mt).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20875 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 17:52:38 +00:00
Boris Gjenero
cd6cbf5001
Fix FS#10111 - Pops and clicks when playing 24 bit FLAC files. This fixes decoding of RICE2 entropy coding. Backported from ffmpeg.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20671 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 02:15:04 +00:00
Jens Arnold
6421f94c0d
Silence warning from 'ar' if the archive had to be created.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-03-01 09:04:15 +00:00
Daniel Stenberg
2e6d604bb6
Stop hiding errors by redirecting stderr to /dev/null. If we really need to do re-introduce somewhere we should rather make it dependent on the V variable so that make V=1 would still show the error and only "normal" builds would hide it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20090 a1c6a512-1295-4272-9138-f99709370657
2009-02-23 08:45:16 +00:00
Björn Stenberg
a091d20ba0
Added 'keywords' and 'eol-style' properties.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 19:54:23 +00:00
Björn Stenberg
303b455ceb
Remove .a files before running ar, to avoid problems with renamed files remaining in the library.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 16:49:55 +00:00
Björn Stenberg
c6b3d38a15
New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
...
Many #include lines adjusted to conform to the new standards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 11:27:31 +00:00
Dave Chapman
ed2936ae70
Make the standalone FLAC test program work again (compile with make -f Makefile.test).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18093 a1c6a512-1295-4272-9138-f99709370657
2008-07-19 08:41:21 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Marcoen Hirschberg
6bcd830490
from ffmpeg: replace FIR with finite differences.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15530 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 14:02:42 +00:00
Marcoen Hirschberg
c537760179
from ffmpeg: Add decoding support for variable block size FLAC files using the latest FLAC specification.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15521 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 23:35:43 +00:00
Marcoen Hirschberg
d74a8ec85d
from ffmpeg: Add support for FLAC's new RICE2 entropy coding method. fixes 24-bit FLAC files encoded with flac-1.2.1
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15517 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 18:18:56 +00:00
Dave Chapman
219b1f58a6
Remove some unrequired SIMULATOR checks - the CPU_* family of defines are never defined for the sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14711 a1c6a512-1295-4272-9138-f99709370657
2007-09-15 16:49:28 +00:00
Dave Chapman
f02cba8096
Code cleaning - remove some unnecessary defined(SIMULATOR) checks
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
2007-05-10 13:16:08 +00:00
Marcoen Hirschberg
66fdee0253
fix previous commit and use just .text
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11870 a1c6a512-1295-4272-9138-f99709370657
2006-12-31 01:04:23 +00:00
Marcoen Hirschberg
e904732222
fix flac on ARM platforms which don't use iram
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11869 a1c6a512-1295-4272-9138-f99709370657
2006-12-31 00:22:53 +00:00
Tomasz Malesinski
5c54ba49d5
Added macros controlling what goes to IRAM on different targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11483 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 21:59:27 +00:00
Adam Boot
c1916afa41
Sample-accurate seeking for FLAC
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11474 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 22:00:45 +00:00
Magnus Holmgren
02da4e6130
Update several codec Makefiles so that the codec libs build again on Coldfire targets, after the recent move of system-related things to the target tree. (Note to admins: make errors aren't detected on the CVS build page. :))
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11401 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 18:14:12 +00:00
Jens Arnold
a796260a6b
Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11369 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 21:48:06 +00:00
Thom Johansen
4134e91950
Assembler optimised FLAC 24 bit handling routines for Coldfire based players. Decoding speed should be improved drastically. Haven't got so many 24 bit files myself, so let me know if something sounds off.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11329 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 00:59:38 +00:00
Jens Arnold
d1ce4e779e
Consistent style of 'make' messages. Always use ranlib after ar.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11322 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 22:33:39 +00:00
Thom Johansen
bdaac21086
Fix erronous ARM assembler case for order 1 frames in the FLAC codec. Fixes FS #5759 .
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10411 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 17:08:43 +00:00
Thom Johansen
4ba14d9113
Free one register extra so we can block load a bit more.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9069 a1c6a512-1295-4272-9138-f99709370657
2006-03-17 00:31:15 +00:00
Thom Johansen
154d959a8b
Enable ARM optimisation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8931 a1c6a512-1295-4272-9138-f99709370657
2006-03-06 11:14:29 +00:00
Thom Johansen
10decf883a
ARM assembler optimised LPC decode routine for FLAC (not yet enabled).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8927 a1c6a512-1295-4272-9138-f99709370657
2006-03-06 03:07:00 +00:00
Marcoen Hirschberg
f16c1f341a
prevent rockbox from using the wrong includes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8827 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 13:48:52 +00:00
Thom Johansen
37a165d796
Convert to use common internal sample format.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8681 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 19:26:18 +00:00
Dave Chapman
8e46ab85a9
Patch #1426489 - Shorten codec optimisations from Mark Arigo
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8615 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 22:16:35 +00:00
Brandon Low
05dccc3551
Profiling support, tools and documentation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Magnus Holmgren
1b0d1daf38
Codec makefile cleanup: remove redundant things, don't generate dependency files when cleaning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8154 a1c6a512-1295-4272-9138-f99709370657
2005-12-05 19:32:13 +00:00
Dave Chapman
c01775ff41
Shorten updates from Mark Arigo: calculate average bitrate, skip id3v2 tags and remove debugf definition from codec
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7840 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 11:04:02 +00:00
Dave Chapman
663fba1399
Oops
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7817 a1c6a512-1295-4272-9138-f99709370657
2005-11-12 02:07:19 +00:00
Dave Chapman
33df605c93
Move ff_log2_tab out of header file into its own .c file
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7816 a1c6a512-1295-4272-9138-f99709370657
2005-11-11 23:32:29 +00:00
Dave Chapman
2bf9be1c02
Patch #1352575 - Shorten codec from the ffmpeg project. Rockbox implementation by Mark Arigo.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7814 a1c6a512-1295-4272-9138-f99709370657
2005-11-11 19:45:36 +00:00
Thom Johansen
97a21a3b36
Unrolled loops up to order 10 plus slight optimisation of default case.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7759 a1c6a512-1295-4272-9138-f99709370657
2005-11-05 17:54:37 +00:00
Dave Chapman
4b03c14a3e
Add seekpoint parsing and dummy ICODE_ATTR macro to standalone FLAC test program
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7742 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 18:48:23 +00:00
Dave Chapman
6f7f921ebe
Move all code into IRAM
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7740 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 15:32:40 +00:00
Thom Johansen
6ff8463216
Enabled the FLAC EMAC optimisations.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7678 a1c6a512-1295-4272-9138-f99709370657
2005-10-28 22:03:52 +00:00
Dave Chapman
e12ab49b73
Add more useful error codes from decoder
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7675 a1c6a512-1295-4272-9138-f99709370657
2005-10-28 20:09:47 +00:00
Dave Chapman
3efa91ed03
Should be referring to libffmpegFLAC, not libalac - how did this work in the past?
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7665 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 17:04:57 +00:00