Commit graph

64 commits

Author SHA1 Message Date
Nils Wallménius
b086458e4e FS#12231
Centralize the selection of codec compilation flags to codec.make
to avoid having to duplicate the per cpu selection logic and the
build rule in the individual codec lib make files and make tweaking
easier.

The two special cases, libmad and libspeex were left alone.

I plan to introduce a var for arm generation so that appropriate flags
can be selected per generation as benchmarking results have shown that
different arm arches might have different optimal flags.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30330 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 16:33:41 +00:00
Nils Wallménius
c8535f27d1 Switch coldfire builds over to new toolchain using gcc 4.5.2 and binutils 2.20.1
Retune codec compiler optimizations with new compiler. Overall speedup with aac and flac getting big speedups.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29042 a1c6a512-1295-4272-9138-f99709370657
2011-01-12 22:28:43 +00:00
Nils Wallménius
d5c082598d libwavpack: put some lookup tables in iram, speedup of 8-10% on coldfire (h300).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28873 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 14:08:41 +00:00
Dave Bryant
516693fcc9 make WavPack library check the extent of the block that it is parsing so that it cannot run into the next block; also enhance the metadata code to handle the case of files with non-audio blocks at the beginning (which can happen if the source WAV file has lots of RIFF data)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28736 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 19:25:32 +00:00
Thomas Martitz
240923a801 Rockbox as an application: Commit current Android port progress.
General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too).
Problems:
 - Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now.
 - no cabbiev2 (only some preliminary files for it), no other default theme.
 - screen flickers sometimes if the updates are too frequent
 - no multi screen apk/package
 - strange behavior when a phone call comes in

The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder.
I've put a small README in there for instructions. There are some steps needed after the make part, which are described there,
and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657
2010-08-02 20:34:47 +00:00
Nils Wallménius
c45e1254c6 FS#11454 Tuning of codec compiler options
Tested with h300 and sansa c200v1

h300 speedups:
a52: 2%
cook: 9-17%
aac: 0.5%
vorbis: 0.5%
wma: 6-12%

c200v1 speedups:
alac: 1.5%
wma 3-4%
wavpack 2%


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27486 a1c6a512-1295-4272-9138-f99709370657
2010-07-18 19:05:53 +00:00
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
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc 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-06 21:04:40 +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
Michael Giacomelli
b92e778fd7 Reenable -O2 for Wavpack, which appears to have been lost during makefile clean up. Improves wavpack decoding performance by several MHz on ARM and Coldfire.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23566 a1c6a512-1295-4272-9138-f99709370657
2009-11-08 07:04:14 +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
Bertrik Sikken
8e22f7f5b0 Make local functions static in codecs, where possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19612 a1c6a512-1295-4272-9138-f99709370657
2008-12-29 19:49:48 +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
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
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 Bryant
bcf97a4801 Move WavPack metadata parsing to its own file and add handling of non-standard sampling rates
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14289 a1c6a512-1295-4272-9138-f99709370657
2007-08-12 06:36:06 +00:00
Dave Bryant
ee7caed7d9 fixes bug that prevented playback of WavPack files containing over 1000 bytes of RIFF header data
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14019 a1c6a512-1295-4272-9138-f99709370657
2007-07-27 03:18:45 +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
Dave Bryant
2446b22db9 Update libwavpack with latest changes from the tiny_encoder. This allows
playback of floating-point audio files, fixes a obscure decoding bug, and
improves encoding speed somewhat.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11944 a1c6a512-1295-4272-9138-f99709370657
2007-01-08 04:24:32 +00:00
Michael Sevakis
0f5cb94aa4 Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +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
f40f0debcb Adapted more Makefiles to the more efficient info printing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11390 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 01:40:20 +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
Dave Bryant
b76bb60219 Update libwavpack to the latest stream specification, and cross fingers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9769 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 22:21:36 +00:00
Dave Bryant
736df4b43b Revert the previous commit because it seemed to break the 4G Gray Sim,
although I can't figure out why or how, and I can't reproduce problem here...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9766 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 21:32:16 +00:00
Dave Bryant
dc232f56b8 Update libwavpack to the latest stream specification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9763 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 20:30:01 +00:00
Dave Bryant
0ad19c7262 Eliminate references to "long" types for 64-bit compiles; return audio data
in Rockbox standard S3.28 format


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9272 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 22:54:15 +00:00
Dave Bryant
503116240a More WavPack optimizations. Restored 24-bit file playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8842 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 08:22:34 +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
Dave Bryant
f0d1c96ee4 Optimization of WavPack decoding in ARM assembler (for iPods). This allows WavPack files encoded in "high" mode to
play without skipping, although it's still rather marginal (i.e. can't play with other DSP effects enabled). For now
this will not work with 24-bit files either, although that is coming along.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8814 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 20:53:59 +00:00
Dave Bryant
ff40af42ba Streamlined WavPack decoder by utilizing dsp functionality where it was
applicable (like mono conversion and clipping) and eliminating the
conversion to 16-bit samples (everything is now returned as 28-bit).
This reduced boost ratio (on iRiver) by about 7% on those tracks that
require it.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8598 a1c6a512-1295-4272-9138-f99709370657
2006-02-06 07:40: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
Dave Bryant
278f2b3d5a Explicitly declare char types to be signed when they must be
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8263 a1c6a512-1295-4272-9138-f99709370657
2005-12-19 03:12:20 +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
Daniel Stenberg
76667e2a5b fix gcc4 (un)signed warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8124 a1c6a512-1295-4272-9138-f99709370657
2005-12-02 08:42:48 +00:00
Dave Chapman
f7b2e840a7 "signed char" police
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7823 a1c6a512-1295-4272-9138-f99709370657
2005-11-12 15:06:46 +00:00
Linus Nielsen Feltzing
dc9e201671 Support for a colon-separated path in APPEXTRA
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7663 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 14:39:00 +00:00
Thom Johansen
292e4e90d7 Introduced usage of IBSS_ATTR and ICONST_ATTR in codec libraries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7660 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:39:01 +00:00
Christian Gmeiner
6753fb5138 oops... should compile without warnings now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7187 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 13:09:05 +00:00
Christian Gmeiner
c6ff1f5eb5 Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Dave Bryant
85e03767f7 Reorganized encoder to allow compressing blocks in smaller chunks and
improved efficiency somewhat by looping through data in tighter passes.
Code is basically ready for an attempt at direct recording.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7088 a1c6a512-1295-4272-9138-f99709370657
2005-07-09 23:14:41 +00:00
Dave Bryant
dacbc16d5b Added lossless encoding to WavPack library. Also made a few changes to
decoding stuff in preparation for future optimization and eliminated all tabs.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7009 a1c6a512-1295-4272-9138-f99709370657
2005-07-04 06:38:00 +00:00
Thom Johansen
614f0a333a WavPack optimisation by David Bryant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6635 a1c6a512-1295-4272-9138-f99709370657
2005-06-09 09:26:05 +00:00
Thom Johansen
668205f427 We clear our accumulators after we're done with them on Coldfire. No need to clear them on init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6609 a1c6a512-1295-4272-9138-f99709370657
2005-06-08 13:41:07 +00:00
Thom Johansen
9985caf3f9 ASM optimisation by David Bryant.
Placed various important arrays in IRAM.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6540 a1c6a512-1295-4272-9138-f99709370657
2005-05-31 07:56:28 +00:00
Linus Nielsen Feltzing
6705a88347 Patch #1203309 by David Bryant - WavPack codec fix and performance enhancement
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6481 a1c6a512-1295-4272-9138-f99709370657
2005-05-17 06:32:49 +00:00
Daniel Stenberg
b8a23f9e49 Fixed makefiles for autoconf.g include.
Fixed build output look in several Makefiles
Fixed code to include autoconf.h
Fixed code to use ROCKBOX_*_ENDIAN instead of previous attempts.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6421 a1c6a512-1295-4272-9138-f99709370657
2005-05-07 22:41:17 +00:00