Magnus Holmgren
ae00bd69d6
AAC decoder: Remove suspicious use of the REAL_CONST macro. I don't know what triggers the execution of this code, but this change stops some floating point math code from being linked. It looks like the right thing to do...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16590 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 12:36:30 +00:00
Jens Arnold
8c6920e343
Revert accidental tree commit. Sorry for that.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16574 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 23:50:55 +00:00
Jens Arnold
d1ed7c37b1
No need to have \n here. panicf() won't output it anyway.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16570 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 23:34:43 +00:00
Michael Giacomelli
75c7ac80e8
Commit FS#8670 by Andree Buschmann. Fixes potiential overflow issue in musepack files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16563 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 21:26:03 +00:00
Adam Gashlin
460d6d2d22
clear up some sim warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16419 a1c6a512-1295-4272-9138-f99709370657
2008-02-25 21:57:09 +00:00
Adam Gashlin
2668547a55
Fix ADX decoder, old constant coefficients were for 44.1khz only, they
...
are now calculated at runtime.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16418 a1c6a512-1295-4272-9138-f99709370657
2008-02-25 21:47:56 +00:00
Magnus Holmgren
87842ca0e7
Change to (or add) 'standard' codec startup delay, fixing potential startup problems for APE and MPC files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16410 a1c6a512-1295-4272-9138-f99709370657
2008-02-24 19:12:15 +00:00
Magnus Holmgren
313a6d6c2b
Try to fix resume problems for FLAC files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16404 a1c6a512-1295-4272-9138-f99709370657
2008-02-24 13:22:40 +00:00
Jens Arnold
99db6dbafe
Revert the buggy warning fix for gcc 4.2. It caused a sim built with gcc 4.2 to segfault. Get rid of the warning by introducing a temporary variable instead. Obviously the cfft1(pos|neg)() call is too complex for gcc 4.2 to cope without that tempvar. Oh well...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16292 a1c6a512-1295-4272-9138-f99709370657
2008-02-12 19:57:26 +00:00
Thom Johansen
7667a865ff
Optimize the ARM ASM qmf_synth() clipping stage a bit. Also fix a typo and remove some trailing white space.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16242 a1c6a512-1295-4272-9138-f99709370657
2008-02-08 00:19:16 +00:00
Daniel Stenberg
1456415cab
make the gcc work-around somewhat more inclusive for gcc 4.2.X where X is 1
...
or bigger
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16238 a1c6a512-1295-4272-9138-f99709370657
2008-02-07 00:02:41 +00:00
Daniel Stenberg
5c0cf6ef2c
a rather lame attempt to silence the gcc 4.2.3 warnings on what seems to be
...
legitimate code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16237 a1c6a512-1295-4272-9138-f99709370657
2008-02-06 23:51:54 +00:00
Jens Arnold
b2fa99b4dd
Vorbis codec: Only try to put the ARM assembler optimised MDCT in IRAM if the target uses IRAM. This fixes the code for gigabeat, but it is kept disabled for gigabeat because the C code is actually slightly faster (~0.5%).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16164 a1c6a512-1295-4272-9138-f99709370657
2008-01-25 18:52:15 +00:00
Michael Sevakis
ef1f7d3bf9
SPC Codec: Ensure no crash occurs on load failure which could cause emulation to be run without a program loaded on dual core (DSP wasn't initialized yet). The load failures come from core buffering not having the atomic audio file fully loaded before the codec requests the buffer (it gets as many bytes as can be provided) which IMHO isn't very atomic :). Changes in thread execution order after dumping spinlocks for general use simply revealed the buffering race condition. No fix for that will be hacked into the codec itself but should be fixed in the core. Add my copyright to files I had a significant part in developing per request of Adam Gashlin.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16154 a1c6a512-1295-4272-9138-f99709370657
2008-01-24 13:35:13 +00:00
Michael Giacomelli
5730da2ba8
Apply last fall's exponent fix to WMA v1 files as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16114 a1c6a512-1295-4272-9138-f99709370657
2008-01-19 23:00:50 +00:00
Michael Giacomelli
dadd80a8a6
If seek fails, don't insert nonsense for the current position. Also, make one of the error messages a bit more clear.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16002 a1c6a512-1295-4272-9138-f99709370657
2008-01-06 02:50:01 +00:00
Peter D'Hoye
eb947cdde1
Another fix for file system issues when encountering disk full (like when recording)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15920 a1c6a512-1295-4272-9138-f99709370657
2007-12-13 23:36:22 +00:00
Dan Everton
19f487b451
Revert previous 'fix'. Did not actually fix the warning as I wasn't paying attention.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15899 a1c6a512-1295-4272-9138-f99709370657
2007-12-09 03:54:12 +00:00
Dan Everton
147980e1e5
Fix warnings in libfaad
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15898 a1c6a512-1295-4272-9138-f99709370657
2007-12-09 03:40:40 +00:00
Thom Johansen
4c4b3a314a
Exclude an unneeded file from the voice codec build. Remove non-existing feature from config-speex.h.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15894 a1c6a512-1295-4272-9138-f99709370657
2007-12-08 00:50:16 +00:00
Adam Gashlin
d83ceef0c2
metadata writing does not belong in the spc codec
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15884 a1c6a512-1295-4272-9138-f99709370657
2007-12-06 00:43:52 +00:00
Dave Chapman
05b158f81e
Code-police raid - cosmetic changes only.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15862 a1c6a512-1295-4272-9138-f99709370657
2007-12-01 02:46:31 +00:00
Dave Chapman
aaacb7010f
Remove the mallocs for the codecdata in the m4a parser and assume a maximum size of 64 bytes (see comments in source). Also clean up the alac_set_info() function a little and make it alignment-safe. We still need to remove the seektable related mallocs. Please report if any AAC or ALAC files stop playing in Rockbox after this commit - but it is not expected to cause problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15861 a1c6a512-1295-4272-9138-f99709370657
2007-12-01 01:01:35 +00:00
Dave Chapman
95c117cdb8
Use the correct variable name - fixes warning
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15860 a1c6a512-1295-4272-9138-f99709370657
2007-11-30 19:58:59 +00:00
Michael Giacomelli
8b99ad39b1
Fix warning when compiling the sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15858 a1c6a512-1295-4272-9138-f99709370657
2007-11-30 14:24:05 +00:00
Michael Sevakis
5323fe996b
Move encoder CPU boost control to the core. Allow CPU to sleep a bit when PCM buffer is empty and save some power. Codec API becomes incompatible so full updates! :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15854 a1c6a512-1295-4272-9138-f99709370657
2007-11-30 05:16:56 +00:00
Michael Giacomelli
1a5d59498a
Fix overflow when seeking in long files wma. Also, add a simple sanity check when seeking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15851 a1c6a512-1295-4272-9138-f99709370657
2007-11-30 00:46:32 +00:00
Thom Johansen
feb75d43c8
Remove unneeded files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15848 a1c6a512-1295-4272-9138-f99709370657
2007-11-29 23:49:43 +00:00
Thom Johansen
9fe5633789
Stop writing to the metadata struct in the codec, it's not nice. These fields are already properly filled out anyway.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15845 a1c6a512-1295-4272-9138-f99709370657
2007-11-29 01:45:56 +00:00
Michael Sevakis
a124e1251a
Be sure SPC codec runs nicely from the start by using more IRAM when the dual core is done for PP5002. Basically ready, it is.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15808 a1c6a512-1295-4272-9138-f99709370657
2007-11-26 08:02:18 +00:00
Thom Johansen
d2ab668679
Move some stuff out of IRAM for the voice decoder.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15796 a1c6a512-1295-4272-9138-f99709370657
2007-11-24 21:29:46 +00:00
Thom Johansen
40f2427192
Remove unused file.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15795 a1c6a512-1295-4272-9138-f99709370657
2007-11-24 19:45:44 +00:00
Thom Johansen
929443cca5
Sync to SVN.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15792 a1c6a512-1295-4272-9138-f99709370657
2007-11-24 19:14:29 +00:00
Jens Arnold
a561abf07b
Speex: Put filter code in IRAM on PP5002 for a nice 12% speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15765 a1c6a512-1295-4272-9138-f99709370657
2007-11-23 00:24:07 +00:00
Michael Giacomelli
f861320177
Add seeking support for wma. Works quite well on my Sansa, and theres some effort to catch and recover from seeking errors, but theres likely to be problems in some files. Also, add Thom's idea to skip past some errors in wma streams rather then just giving up.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15753 a1c6a512-1295-4272-9138-f99709370657
2007-11-22 05:32:26 +00:00
Thom Johansen
57a27c69a9
Sync Speex to SVN.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15750 a1c6a512-1295-4272-9138-f99709370657
2007-11-22 01:29:14 +00:00
Thom Johansen
e7988b8d88
Remove a couple of redundant array copy operations.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15747 a1c6a512-1295-4272-9138-f99709370657
2007-11-22 00:04:58 +00:00
Thom Johansen
3947b0c632
FS #8179 . Small Musepack speedup for ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15692 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 16:31:10 +00:00
Michael Sevakis
371ebe1160
libspeex: let DEBUGF work correctly for both core and codec builds
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15677 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 23:17:39 +00:00
Thom Johansen
c31818ccf0
Disable some UWB mode stuff and lost package handling in voice codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15676 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 23:17:25 +00:00
Michael Sevakis
1a41c8afee
SPC Codec: Run SPC emulation on COP and audio sample processing on CPU on dual-core PortalPlayer targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15673 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 19:03:45 +00:00
Michael Sevakis
99617d71ba
Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:12:19 +00:00
Thom Johansen
65458ee71c
Speex encoder specially tailored to create voice UI snippets. Small fixups to libspeex to allow it to be built.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15640 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 15:35:37 +00:00
Thom Johansen
869a7e7ca6
Trim some stuff and move some defines to a more logical place.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15637 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 14:30:51 +00:00
Thom Johansen
2bb48eb8ed
Throw away the first samples to come out of the decoder to account for encoder latency.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15618 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 14:43:32 +00:00
Thom Johansen
8082148200
Sync latest Speex stereo changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15617 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 12:11:13 +00:00
Michael Sevakis
d3027d424b
Build libspeex for core voice on SWCODEC. Development phase - not currently utilized.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15615 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 10:31:57 +00:00
Thom Johansen
85b325fdb9
Sync Speex to SVN. Disable stereo compatibility hack since we don't needed it and it produced warnings. Remove unneeded math.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15613 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 02:15:56 +00:00
Thom Johansen
91f618f1ba
Remove unneeded math wrappers. Clear state structs in decoder init. Start initial work at stripping away parts of Speex in preparation for its use as a statically linked voice UI codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15612 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 00:55:05 +00:00
Thom Johansen
d75a5486e6
New Speex stereo code in libspeex and speex.c, stereo should be more robust now. Remove last floating point code in speex.c and remove some unused stuff.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15611 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 00:46:49 +00:00
Thom Johansen
a953e65dbd
Remove C++ style comment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15556 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 15:43:40 +00:00
Thom Johansen
1730e406ed
Strip out a large unneeded portion of the Speex stereo decoding function, and port the rest of it to fixed point. Disable the unneeded stereo float decoding function. Correct the output buffer size and change some minor syntactic stuff in speex.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15554 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 14:57:49 +00:00
Thom Johansen
d3ba403f60
Forgot these.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15552 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 01:30:52 +00:00
Thom Johansen
f32b7748dd
Remove unneeded file from SOURCES and partial SVN sync.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15551 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 01:26:21 +00:00
Adam Gashlin
b9dba4f128
Sorry, switching back again to the "better behaved" ADX codec of r15494.
...
Not perfect, but with a safer failure than the hacky old/reborn one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15548 a1c6a512-1295-4272-9138-f99709370657
2007-11-09 02:42:39 +00:00
Thom Johansen
e43c1ac338
Remove some unneeded floating point usage, port some needed floating point code to fixed point.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15547 a1c6a512-1295-4272-9138-f99709370657
2007-11-09 01:11:34 +00:00
Thom Johansen
51afaf20a3
Disable another encoder only function.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15545 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 23:41:47 +00:00
Michael Sevakis
af2e9cc6e9
SPC/Coldfire: Just use msac.w instead of neg.l/mac.w. It seems fine. Must've been cache aliasing. :-)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15532 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 15:30:47 +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
Michael Sevakis
d67c29302a
Change oggmalloc.c to use size_t and kill a warning about type-punning. Align the size before checking out-of-mem so no overlap may occur between tmp and alloc.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15525 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 08:55:01 +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
Adam Gashlin
1c108df4ee
Revert to old ADX codec, works around broken bacwards seek
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15518 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 19:01:58 +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
Thom Johansen
39393636eb
Ifdef out some more stuff we don't need.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15515 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 16:43:14 +00:00
Thom Johansen
c7a8663c7b
Assembler versions of signal_mul. Decent speedup for Coldfire and small speedup for ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15502 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 00:50:37 +00:00
Thom Johansen
d9a9801171
Smaller and more correctly sized statically allocated arrays in decoder state structs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15500 a1c6a512-1295-4272-9138-f99709370657
2007-11-06 21:25:46 +00:00
Thom Johansen
f5903789fb
Exclude some unneeded LSP code. Add some #endif clarification comments here and there.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15497 a1c6a512-1295-4272-9138-f99709370657
2007-11-06 17:10:17 +00:00
Adam Gashlin
b848c683d6
Better behaved buffering.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15494 a1c6a512-1295-4272-9138-f99709370657
2007-11-06 16:29:28 +00:00
Brandon Low
b46175c202
Don't if this, it's a good idea for codecs to explicit seek
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15482 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 18:16:13 +00:00
Brandon Low
3f69930aa0
Fix mp3 resume
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15481 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 18:15:52 +00:00
Brandon Low
3379440a4b
Remove conf_filechunk, it should never have been a setting and its implementation doesn't do what it claims any way
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15478 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 17:48:21 +00:00
Brandon Low
1df1e7b0c7
Remove unused conf_preseek from buffering.c and all of its accountraments. This is _not_ a setting. This is a guessing tool used by either playback or buffering to serve its clients better. Use the REBUFFER_GUESS size in resume to help obviate pondlife's bug. This will also need to be used when FS8092 gets fixed correctly with a complete rebuffer for backward movements. It may also belong in buffering not playback, haven't decided for sure
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15475 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 16:02:12 +00:00
Brandon Low
d02b5c744e
Don't keep useless id3v2 or other leading tag data on the buffer, it could be large
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15465 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 01:56:12 +00:00
Thom Johansen
80e4d671d2
Make Speex read its input directly from the Ogg packet, which makes for less copying and one less malloc(). Thanks to Jean-Marc Valin for the tip.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15395 a1c6a512-1295-4272-9138-f99709370657
2007-11-01 21:34:15 +00:00
Thom Johansen
bf1b7f131c
First attempt at ifdeffing out as much of the encoder stuff as possible from Speex. Gives a smaller binary and allows me to remove a couple more files from SOURCES.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15394 a1c6a512-1295-4272-9138-f99709370657
2007-11-01 21:30:51 +00:00
Thom Johansen
6d88717f69
ARM assembler versions of iir_mem16() and qmf_synth(), yielding a very nice speedup. Touch some comments in filters_cf.S
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15393 a1c6a512-1295-4272-9138-f99709370657
2007-11-01 21:11:26 +00:00
Michael Giacomelli
781c82c0d6
Argh.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15368 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 23:22:33 +00:00
Michael Giacomelli
31b74ecb21
Copyright.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15367 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 23:21:42 +00:00
Michael Giacomelli
132bc634ed
We removed the old Q15.16 precision trig functions from decoding ages ago, so no need to leave them in. Also, this code needs a GPL header.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15366 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 23:16:41 +00:00
Dave Chapman
f026c0fc82
Remove unnecessary #include - this fixes compilation of the standalone demac tool
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15320 a1c6a512-1295-4272-9138-f99709370657
2007-10-26 21:17:37 +00:00
Thom Johansen
8431c08b7d
QMF filter memory doesn't need to be 32 bits, so convert it to 16 bits. Alter assembler code to reflect this. Also do a small optimization in the reverse block copy of the qmf_synth() Coldfire assembler.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15315 a1c6a512-1295-4272-9138-f99709370657
2007-10-26 11:34:08 +00:00
Thom Johansen
cf86a9886f
Forgot a file. Remove files we don't need to build from SOURCES.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15311 a1c6a512-1295-4272-9138-f99709370657
2007-10-26 01:26:39 +00:00
Thom Johansen
fa971b142d
Sync with Speex SVN. Syntactic change in filters_cf.S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15310 a1c6a512-1295-4272-9138-f99709370657
2007-10-26 01:16:55 +00:00
Brandon Low
4bde8982f1
Fix a fixme in flac and make the usage of the read_filebuf codec api more consistent with its actual contract.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15303 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 18:58:44 +00:00
Jens Arnold
35f23267bf
Further optimised the filter vector math assembly for coldfire, and added assembly filter vector math for ARM. Both make use of the fact that the first argument of the vector functions is longword aligned. * The ARM version is tailored for ARM7TDMI, and would slow down arm9 or higher. Introduced a new CPU_ macro for ARM7TDMI. Speedup for coldfire: -c3000 104%->109%, -c4000 43%->46%, -c5000 1.7%->2.0%. Speedup for PP502x: -c2000 66%->75%, -c3000 37%->48%, -c4000 11%->18%, -c5000 2.5%->3.7%
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15302 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 18:58:16 +00:00
Jens Arnold
3ea3caf341
* Flip argument order for scalarproduct() so that the first argument is always 32 bit aligned, like it is already the case for vector_add() and vector_sub(), for upcoming optimisations. * Un-inline the apply_filter functions for better cache utilisation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15301 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 18:45:28 +00:00
Thom Johansen
f6b358dfa0
Negate _after_ output so we don't negate the whole output signal.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15294 a1c6a512-1295-4272-9138-f99709370657
2007-10-24 23:30:55 +00:00
Thom Johansen
4c913fced3
Coldfire assembler version of inner_prod() for another small speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15293 a1c6a512-1295-4272-9138-f99709370657
2007-10-24 22:50:29 +00:00
Thom Johansen
cd9fc7a2b9
Coldfire assembler version of qmf_synth(). Wideband and ultra-wideband Speex files should see a great speedup. Also add faster and symmetric clipping in iir_mem16().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15292 a1c6a512-1295-4272-9138-f99709370657
2007-10-24 22:39:08 +00:00
Thom Johansen
9d9225ed1d
iir_mem16() in assembler for Coldfire for a decent performance boost. Add EMAC init in nb_celp.c, since all modes need this as a base.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15274 a1c6a512-1295-4272-9138-f99709370657
2007-10-22 23:44:19 +00:00
Thom Johansen
ba482642f2
Fix ultra-wideband mode. Disable big parts of the encoder stuff for a smaller binary.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15263 a1c6a512-1295-4272-9138-f99709370657
2007-10-22 12:03:03 +00:00
Thom Johansen
86a999c478
Change decoder struct dynamic array members to static arrays sized based on current maximums. Move decoder state structs into IRAM for big speedups This means only one decoder can be instantiated at a time, but that should not be a problem. Tweak Makefile to use -O2 for Coldfire. Update SVN revision info to sync-time revision.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15256 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 23:24:06 +00:00
Jens Arnold
87f5359d60
Shuffle some instructions around for that extra percent of performance. Fix a bunch of comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15216 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 22:57:19 +00:00
Jens Arnold
5d066590cc
APE codec: Assembler optimised predictor for coldfire. Heavily based on the arm version atm, instruction reordering will probably allow for a bit more speedup soon. Speedup: -c1000: 177% -> 210%, -c2000: 135% -> 147%, -c3000: 97% -> 103%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15211 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 21:35:07 +00:00
Thom Johansen
aae1c89456
Squish a warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15210 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 21:21:12 +00:00
Thom Johansen
56db559754
Sync Speex to SVN. Add new header file to adapt to Speex' new way of doing wrapper functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15209 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 21:10:25 +00:00
Thom Johansen
6dc3a743ad
Remove some Speex distribution test code we won't use.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15208 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 18:10:28 +00:00
Thom Johansen
877ea486ba
Move multiply routines into the header. Give Coldfire a fixmul32b(). Remove some tabs and empty lines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15205 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 12:27:38 +00:00
Jens Arnold
2e9c77cc2a
APE codec: Further optimised filtering yields 3..4% speedup for -c2000 (now 135% realtime), -c3000 (now 97% realtime) and higher modes. Single 32 bit stores are faster than movem/lea in IRAM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15200 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 07:30:55 +00:00
Jens Arnold
2640bdb262
APE codec: Assembler optimised vector math routines for coldfire. -c2000 is now usable at 130% realtime (was 107%), -c3000 is near realtime (93%, was 64%). -c1000 doesn't change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15194 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 22:37:33 +00:00
Thom Johansen
9a1a2fd686
Oversight in syncing on my end, sorry.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15184 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 10:14:31 +00:00
Thom Johansen
6e4aa260d0
Add Coldfire and ARM assembler for "reverse multiply and copy" function too. Gives big speedup on Coldfire, small on ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15183 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 10:09:21 +00:00
Thom Johansen
fffc257897
Woops, movem.l needs other order.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15178 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 00:48:00 +00:00
Thom Johansen
00662a235c
Add Coldfire assembler for window and add function, yielding a nice speedup. Tweak ARM assembler version of same routine to act the same as the Coldfire version. Remove an error condition that newer ffmpegs do not bail out on. Files requiring this new behaviour have been observed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15177 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 00:28:10 +00:00
Thom Johansen
7113d11a1c
Make a fix for the WMA seek to start bug that actually works...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15170 a1c6a512-1295-4272-9138-f99709370657
2007-10-17 18:19:35 +00:00
Thom Johansen
a478e46946
Fix FS #7973 . Hack a way to make skip to start of track work for WMA until we have proper seeking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15166 a1c6a512-1295-4272-9138-f99709370657
2007-10-17 12:51:37 +00:00
Peter D'Hoye
85058f5d9c
Fix FS #5852 by trying to properly close and update the recorded file, and give the FAT the correct file info. Add filehandle checks to some file functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15072 a1c6a512-1295-4272-9138-f99709370657
2007-10-10 23:26:17 +00:00
Marcoen Hirschberg
b8753ffdaa
move structures around in the header files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14941 a1c6a512-1295-4272-9138-f99709370657
2007-10-01 13:46:07 +00:00
Marcoen Hirschberg
6b559b2188
disable the ARM optimized MDCT for the Gigabeat for now as it creates a data abort
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14940 a1c6a512-1295-4272-9138-f99709370657
2007-10-01 13:42:03 +00:00
Thom Johansen
59d6b08d9c
Make AC3 codec use Rockbox' native bitswap routines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14886 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 15:42:09 +00:00
Michael Sevakis
7914e90738
Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 10:20:02 +00:00
Tomasz Malesinski
c13eba29ff
FS #7833 : Optimizations to the Vorbis codec:
...
- ARM assembly version of parts of mdct,
- special case for vorbis_book_decodevv_add for 2 channels and even book->dim,
- store the output in vb->pcm if possible, as it is usually in IRAM as
opposed to v->pcm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14875 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 21:58:51 +00:00
Magnus Holmgren
8fadf6bbe0
Fix playback of HE-AACv2 (aka SBR+PS) files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14807 a1c6a512-1295-4272-9138-f99709370657
2007-09-21 17:39:24 +00:00
Marcoen Hirschberg
6475ad7821
reuse the largest sin and cos tables for smaller sizes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14786 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 17:35:36 +00:00
Marcoen Hirschberg
4d853fff2f
fix a warning for coldfire
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14779 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 13:52:41 +00:00
Marcoen Hirschberg
1be7314b39
get rid of warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14778 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 13:02:27 +00:00
Marcoen Hirschberg
b2abd67671
remove unused struct member and variable
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14777 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 12:32:39 +00:00
Marcoen Hirschberg
1ddef375df
move (i)MDCT and FFT code to separate files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14776 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 12:27:24 +00:00
Marcoen Hirschberg
cd5edbe52c
small cleanups
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14772 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 10:50:59 +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
Jens Arnold
aebeabdade
Stop libmad from crashing on 64 bit simulators.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14636 a1c6a512-1295-4272-9138-f99709370657
2007-09-07 23:45:42 +00:00
Jens Arnold
20444c47a8
Fix warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14577 a1c6a512-1295-4272-9138-f99709370657
2007-09-02 11:06:29 +00:00
Michael Giacomelli
a514c60fd0
Apparently, negative exponents are possible when decoding exponential VLC. Should fix occasional glitches that happened in files of all bitrates.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14571 a1c6a512-1295-4272-9138-f99709370657
2007-09-02 03:28:49 +00:00
Thom Johansen
953348f1ba
FS #7166 . Musepack optimizations and cleanups. Huge speedup on ARM. Note that all ARM (Ipod/Sansa/Gigabeat) targets will now play back Musepack files with somewhat reduced accuracy. Please get in touch via forums or Flyspray if you've got sample files where this is very apparent. Most users should hear no difference.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14531 a1c6a512-1295-4272-9138-f99709370657
2007-08-30 11:41:05 +00:00
Michael Giacomelli
153d74443a
Clean up iMDCT coefficient calculations.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14451 a1c6a512-1295-4272-9138-f99709370657
2007-08-24 20:02:50 +00:00
Michael Giacomelli
8159b9ee9a
Faster Q1.31 multiply for ARM. Add some ARM asm windowing code. Simply replacing c code with loop unrolled + load/store multiple instructions makes a surprising difference on PP. Also, add comments to the windowing code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14365 a1c6a512-1295-4272-9138-f99709370657
2007-08-16 03:33:15 +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
Marcoen Hirschberg
c43629f08b
use the full resolution we get from the WMA decoder and let the DSP code do the rest
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14224 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 23:34:28 +00:00
Michael Giacomelli
aa2b7cbe03
Fix warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14207 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 02:10:49 +00:00
Michael Giacomelli
98f0d77879
Clean up VLC functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14206 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 01:43:09 +00:00
Michael Sevakis
8edfff979b
Flush-out cleared sections on dual core targets when loading plugins and codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14172 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 00:11:41 +00:00
Dave Chapman
2ff816fab6
Cosmetic changes - TAB and whitespace policing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14135 a1c6a512-1295-4272-9138-f99709370657
2007-08-02 07:41:28 +00:00
Michael Giacomelli
206e883e78
Initial attept at supporting Line Spectral Pairs. Various issues remain, and the ffmpeg decoder itself often fails on certain valid LSP files. Expect some issues.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14134 a1c6a512-1295-4272-9138-f99709370657
2007-08-02 04:47:33 +00:00
Dave Chapman
f52c178517
Revert r14050 (apart from the non-related whitespace changes) and fix the S3C2440 (Gigabeat F/X) problems introduced by my r14041 commit in a slightly different way: Introduce a mad_iram.h file and centralise all IRAM-related decisions in there (similar to how Tremor does it). Now checks for CPU type (S3C2440) instead of target (TOSHIBA_GIGABEAT_F) and there is also a .ibss variable in syth_full_arm.S which shouldn't go in IRAM on S3C2440 targets. Closes FS#7500
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14057 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 16:40:11 +00:00
Michael Giacomelli
f68ab0d497
Fix mp3 playback on the gigabeat by not putting code in IRAM. Someone actually familar with the gigabeat port should check this.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14050 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 05:21:20 +00:00
Dave Chapman
66b51909c0
FS #6705 - ARM optimisations for libmad by Tomasz Malesinski. Modified slightly by me to not put code in IRAM for PP502x (it's slower), and for the mpegplayer version of libmad for PP5002 (there isn't enough room). On my ipod Color, it increases a 320kbps MP3 test file from 169% realtime to 188% realtime. Reported speedup on the ipod 3G was from 118% to 155% realtime for a 192kbps MP3.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14041 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 15:21:25 +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
Michael Giacomelli
54b80471a5
Fix overflow in noise coding. Greatly improves sound quality of some low bitrate files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13975 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 02:34:21 +00:00
Michael Giacomelli
e9c09d4d0e
Fix decoding of misc sample rates that no one ever uses
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13946 a1c6a512-1295-4272-9138-f99709370657
2007-07-21 01:03:58 +00:00
Michael Giacomelli
bc3ada265b
Add incomplete support for files using noise coding but not LSP. In practice, this means files >= 20kbps will probably work, and those below will probably not.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13945 a1c6a512-1295-4272-9138-f99709370657
2007-07-20 21:36:54 +00:00
Michael Giacomelli
bab671eb4d
Fix nasty bug that causes low bitrate files to crash because of an incorrect assumption about MDCT window sizes on my part. Clears the way for further low bitrate fixes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13937 a1c6a512-1295-4272-9138-f99709370657
2007-07-20 03:41:09 +00:00
Dave Chapman
e6a3f7d731
Cosmetic changes - update a comment and add more info to a DEBUGF
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13925 a1c6a512-1295-4272-9138-f99709370657
2007-07-18 09:43:12 +00:00
Daniel Stenberg
8219912d91
simplified the codec specification part in configure
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13922 a1c6a512-1295-4272-9138-f99709370657
2007-07-16 22:25:41 +00:00
Michael Sevakis
84501494ce
Forgot to add a file as usual.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13920 a1c6a512-1295-4272-9138-f99709370657
2007-07-16 21:16:52 +00:00
Michael Sevakis
8552eff9e4
Make the SPC codec run like it used to on Coldfire before -Os crushed it. Build as a lib using the old -O option. Should not impact ARM targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13919 a1c6a512-1295-4272-9138-f99709370657
2007-07-16 21:03:25 +00:00
Nils Wallménius
497a1f07bd
Clean out unused code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13910 a1c6a512-1295-4272-9138-f99709370657
2007-07-15 19:55:30 +00:00
Michael Giacomelli
4f9bffe18e
Fix warnings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13866 a1c6a512-1295-4272-9138-f99709370657
2007-07-13 01:41:31 +00:00
Jens Arnold
42bd5b46f0
WMA codec: Coldfire is capable of unaligned memory accesses, so lets make use of it. ~1.5% speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13865 a1c6a512-1295-4272-9138-f99709370657
2007-07-12 22:12:25 +00:00
Michael Giacomelli
9ac2756e94
Fix the above by including all required files and updating SOURCES.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13860 a1c6a512-1295-4272-9138-f99709370657
2007-07-12 03:26:20 +00:00
Michael Giacomelli
362f894a53
Sync the bitstream functions with ffmpeg. Switch wmadeci.c over to get_vlc2 which is how ffmpeg now does it and is also slightly faster. Add in defines for later VLC memory usage optization. Kill some header files that weren't needed and update others that were out of sync. We're now much closer to the current ffmpeg codec which should make fixing the remaining issues much easier.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13859 a1c6a512-1295-4272-9138-f99709370657
2007-07-12 03:17:19 +00:00
Dave Chapman
a9df713ee9
TAB and whitespace police
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13858 a1c6a512-1295-4272-9138-f99709370657
2007-07-11 23:07:41 +00:00
Michael Giacomelli
28b0c58726
Don't assume files are WMAv2, instead actually check that they are and quit gracefully if they are not.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13855 a1c6a512-1295-4272-9138-f99709370657
2007-07-11 16:58:11 +00:00
Michael Giacomelli
00b16fab6c
Ancient ffmpeg bug fix that should never have been missed. Prevents floating point value from truncating downward. My files are byte for byte identical with this fix, but the ffmpeg mailing list claims its important.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13846 a1c6a512-1295-4272-9138-f99709370657
2007-07-11 01:20:31 +00:00
Dave Chapman
47e969278b
ASF parser improvements - it now correctly handles files containing multiple payloads. i.e. files where the audio packets are split into multiple payloads, and streams where audio/video payloads are mixed within the same packet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13840 a1c6a512-1295-4272-9138-f99709370657
2007-07-10 13:37:16 +00:00
Dave Chapman
0fd4e3f8e1
Restore some lost copyright headers from the ffmpeg project
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13834 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 18:01:20 +00:00
Dave Chapman
88e32c2fc6
Reorganise the wma_decode_superframe() function - split into a separate init and decode functions. Each call to the decode function now decodes a single frame (2048 samples) instead of an entire superframe (which typically contained about 7 or 8 frames and can in theory contain up to 16 frames). This allows us to replace the 256KB output buffer with a 8KB buffer, and also perform more yields in the main decoding loop.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13833 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 17:24:00 +00:00
Dan Everton
07fabd1cd1
ICONST_ATTR most constant tables in Speex. Results in a 10% improvement on Coldfire (200% to 220% realtime). Almost certainly not the best use of IRAM, but it works now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13831 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 11:18:10 +00:00
Dave Chapman
85aa3a8d38
Code reorganisation - move the vlc functions back to common.c/common.h (where they originally were in the ffmpeg source). This code is still identical to the ffmpeg source.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13830 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 10:53:56 +00:00
Michael Giacomelli
4b1cf3ea44
Compute MDCT in place. Make that place within IRAM. Gives nice speed boost on ARM. Probably make a huge difference on Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13828 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 02:48:32 +00:00
Michael Giacomelli
5a1999eacd
Move very commonly accessed array into IRAM. Should give a nice speedup on Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13827 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 01:59:33 +00:00
Dave Chapman
0361fd5e50
wma_decode_end() doesn't exist any more - it was only used to deallocate memory.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13826 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 00:35:36 +00:00
Michael Giacomelli
899212858c
Code clean up.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13825 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 00:21:19 +00:00
Michael Giacomelli
9b176d88c8
Inline wma_window functions. No real performance improvement. Also, thanks to Benjamin Larsson for cleaning up some code I was simply to lazy to fix myself.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13823 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 22:03:56 +00:00
Michael Giacomelli
610d3b4cc5
Merge bit reverse tables together.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13822 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 21:52:49 +00:00
Michael Giacomelli
93bc5ef1d6
Fix rare overflow when decoding MDCT coefficients. As a bonus, decoding is now slightly faster. Thanks to preglow for suggesting I test with a full scale normalized square wave.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13815 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 06:06:00 +00:00
Michael Giacomelli
030dce6f88
Fix previous
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13814 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 05:57:14 +00:00
Michael Giacomelli
f5114daa73
Move MDCT reconstruction window code over to new trig function. Improves accuracy significantly and slightly reduces code size. Codec SNR now appears to be limited by truncation to 16 bit. Comparison to MS decoder gives > 91 dB of agreement, and a lower RMS error verses the source wav then MS. Additionally, move one commonly accessed table into IRAM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13813 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 05:16:24 +00:00
Michael Giacomelli
2f1da8d24a
Merged in first part of ffmpeg accuracy improvments. No change on my samples, but brings us closer to ffmpeg's source and clears the way for additional bug fixes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13804 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 02:44:58 +00:00
Michael Giacomelli
e0473717e5
Merged in ffmpeg combined MDCT reconstruction. Saves us a 16KB buffer, and gives a nice speed increase. Brings code much closer to ffmpeg's.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13803 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 01:50:24 +00:00
Dave Chapman
9b96d66621
Yet more dead code removal
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13789 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 20:45:00 +00:00
Dave Chapman
ba3f4ed565
Remove some unused code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13788 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 20:27:26 +00:00
Jens Arnold
e7cdd6cbc6
Assemblerised CMUL() for ARM, giving ~20% speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13787 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 19:23:18 +00:00
Michael Giacomelli
fe8ae10ab4
Attempt #2
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13786 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 17:51:52 +00:00
Michael Giacomelli
51b3bbbf1c
Opps fix static ASM function on coldfire
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13785 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 17:26:24 +00:00
Michael Giacomelli
a16d0f389e
Code clean up: Move fixed point functions into their own files. Move various lookup tables into header files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13784 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 17:15:09 +00:00
Jens Arnold
5717a0af87
Shorten the coldfire fixmul32() by 2 instructions and use one register less. Smaller code, but practically no speed change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13783 a1c6a512-1295-4272-9138-f99709370657
2007-07-04 00:31:17 +00:00
Thom Johansen
4aeab55f67
Replace some 64 bit multiplies with assembly on Coldfire targets. Codec lots closer to realtime on those targets now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13779 a1c6a512-1295-4272-9138-f99709370657
2007-07-03 19:36:26 +00:00
Dave Chapman
9cb40ea5e3
WMA clean-up commit - fix 64-bit sim warnings, set svn keywords property, and add new files to apps/FILES
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13771 a1c6a512-1295-4272-9138-f99709370657
2007-07-03 10:21:23 +00:00
Dave Chapman
c72824786a
Initial, work-in-progress, version of a WMA codec using Michael Giacomelli's fixed-point and malloc-less WMA decoder (based on the ffmpeg WMA decoder from early 2006, and also building on the work started by Paul Jones). The codec itself and the ASF parsing code were written by me, inspired by the ASF parser in libasf. Current performance is around 400% realtime on gigabeat, 100% realtime on PP and 20% realtime on Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13769 a1c6a512-1295-4272-9138-f99709370657
2007-07-03 09:25:36 +00:00
Magnus Holmgren
932b20ec62
Vorbis: Apply various bugfixes from upstream Tremor.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13756 a1c6a512-1295-4272-9138-f99709370657
2007-07-01 17:58:49 +00:00
Magnus Holmgren
c3206a455a
AAC: Add support for iTunes-style gapless playback.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13636 a1c6a512-1295-4272-9138-f99709370657
2007-06-16 13:00:52 +00:00
Dave Chapman
cee61b57c8
Remove some unused code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13630 a1c6a512-1295-4272-9138-f99709370657
2007-06-14 22:35:01 +00:00
Dave Chapman
283738086d
Oops, forgot to set keywords prop
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13627 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 22:03:28 +00:00
Dave Chapman
6b713820c1
ARM assembler predictor decoding function. This increases my -c1000 test track from around 94% realtime on an ipod to around 104% realtime, but yields only a tiny speedup (453% to 455%) on the Gigabeat. Including this optimisation, total decoding time for my 245.70s -c1000 test track on an ipod is 236.06s, with the predictor decoding taking 51.40s of that time - meaning the predictor decoding is only about 22% of the total decoding time.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13626 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 22:02:34 +00:00
Dave Chapman
601ede7f9c
C optimisations to the predictor decoding - create a single function for decoding stereo streams, and reorganise to minimise the number of variables used. My -c1000 test track now decodes at 93% realtime on PortalPlayer (was 78%), 187% on Coldfire (was 170%) and 447% on Gigabeat (was 408%).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13608 a1c6a512-1295-4272-9138-f99709370657
2007-06-10 08:55:16 +00:00
Dave Chapman
6131996538
Define and use a local APE_MAX function to make the standalone demac decoder compile again.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13601 a1c6a512-1295-4272-9138-f99709370657
2007-06-09 00:58:15 +00:00
Nils Wallménius
a85793fc54
Build Tremor with -O3 for coldfire targets, gives a slight increase in speed, remember to make clean.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13598 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 22:51:39 +00:00
Dave Chapman
7b1d90a851
Seeking and resume support for Monkey's Audio
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13597 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 22:35:26 +00:00
Dave Chapman
c995ae8026
Make v3.97 APE files work in Rockbox
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13571 a1c6a512-1295-4272-9138-f99709370657
2007-06-06 17:46:49 +00:00
Dave Chapman
8dcd6058c8
Correct a comment (thanks to Markun for spotting)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13569 a1c6a512-1295-4272-9138-f99709370657
2007-06-06 08:53:55 +00:00
Dave Chapman
520274219a
Initial commit of Monkey's Audio (.ape/.mac) support. Note that Monkey's is an extremely CPU-intensive codec, and that the decoding speed is directly related to the compression level (-c1000, -c2000, -c3000, -c4000 or -c5000) used when encoding the file. Current performance is: -c1000 to -c3000 are realtime on a Gigabeat, -c1000 is realtime on Coldfire targets (H100, H300 and Cowon), and nothing is realtime on PortalPlayer targets (iPods, H10, Sansa). Hopefully this can be improved. More information at FS #7256 .
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13562 a1c6a512-1295-4272-9138-f99709370657
2007-06-05 16:58:29 +00:00
Dan Everton
213e7d8472
Fix prototypes and warning in ARM version of libspeex filter.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13462 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 10:05:32 +00:00
Dan Everton
df6f2f9a3c
Upgrade to libspeex 1.2beta2. Very minor performance increase (0.6% on coldfire).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13461 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 09:50:31 +00:00
Nils Wallménius
9e94b380f0
Accept FS#6934 by Akio Idehara to fix an unresolved dependency on apps/codecs/codec_crt0.o that could trigger when using 'make' with the '-j' switch
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13386 a1c6a512-1295-4272-9138-f99709370657
2007-05-14 10:07:41 +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 Chapman
9a011f3a80
Clean up the codec API - remove all unused (and in many cases inappropriate) functions, move functions used only by encoders into the HAVE_RECORDING part of the API and document the reasons for the more unexpected functions being present.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13343 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 11:09:45 +00:00
Dave Chapman
a8b7967055
Code police - codecs shouldn't call GUI functions
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13341 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 10:34:10 +00:00
Michael Sevakis
205ec3279d
Make recording complain about every little file I/O problem (error on close() failure and fsync() failure). Why? I guess we will find out the disk is full about 1/2 sector sooner on average when the file APIs actually detect this correctly. :/
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13262 a1c6a512-1295-4272-9138-f99709370657
2007-04-25 19:53:34 +00:00
Jens Arnold
27b4a64f9b
AIFF COMM chunks might be larger than 18 bytes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13249 a1c6a512-1295-4272-9138-f99709370657
2007-04-23 23:11:33 +00:00
Dave Chapman
266707f818
Build libmad separately for mpegplayer. This provides flexibility to adjust things like IRAM usage independently - use #ifdef MPEGPLAYER in libmad to make any mpegplayer specific changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13147 a1c6a512-1295-4272-9138-f99709370657
2007-04-13 23:05:42 +00:00