Commit graph

812 commits

Author SHA1 Message Date
Andree Buschmann
c0951d95b3 Resort operands in mul/smull/mla/smlal to use D[] as second multiplication operand. Additionally do not pre-scale D[] for the 64 Bit precision synthesizer. Through this the 64 Bit multiplication is speed up by 1.5MHz without loss of precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17719 a1c6a512-1295-4272-9138-f99709370657
2008-06-14 11:22:31 +00:00
Andree Buschmann
f52696ef8a Correct DSP_SET_SAMPLE_DEPTH to 29 for mpc (18.14 fixed point samples). Higher precision for fast 32x32=32 multiplication in dewindowing part of synthesis filter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17708 a1c6a512-1295-4272-9138-f99709370657
2008-06-10 06:11:50 +00:00
Andree Buschmann
84ca420ad1 Small mpc quality improvement. Guarantee symmetric synthesis window for pre-shifted signed coefficients.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17704 a1c6a512-1295-4272-9138-f99709370657
2008-06-08 09:55:57 +00:00
Andree Buschmann
cc11e9466a Further changes in mpc buffered seek. Remove magical number and replace it with a better commented #define. Use shift and bit mask instead of division and modulo operations when using the seek buffer. Saves some binary size for the codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17686 a1c6a512-1295-4272-9138-f99709370657
2008-06-04 05:41:59 +00:00
Antonius Hellmann
758072173e Some quality improvements in the mp3 encoder engine. For more details
see FS#9007.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17679 a1c6a512-1295-4272-9138-f99709370657
2008-06-02 19:28:08 +00:00
Nils Wallménius
999d3e89a8 Put pointer arrays in the correct iram section, tiny const police to make it possible too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17677 a1c6a512-1295-4272-9138-f99709370657
2008-06-02 17:56:37 +00:00
Jens Arnold
bc97952134 libmad: PP5002 does in fact profit more from -O2 than PP502x, so use it for all targets. The previous check was half-baked (excluded iPod 3rd Gen only, but 1st/2nd Gen are also PP5002).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17675 a1c6a512-1295-4272-9138-f99709370657
2008-06-01 20:07:09 +00:00
Michael Giacomelli
54ac25fcb2 Compile libmad with -O2 for the Ipods instead of just newer PP targets. Gives a 2% speedup on Ipods, but no change elsewhere. I've left the 3G alone, but its probably worth checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17674 a1c6a512-1295-4272-9138-f99709370657
2008-06-01 17:50:06 +00:00
Andree Buschmann
d56016addd Fix for FS#9054. MPC-playback stopped after 3:34min caused by out-of-bounds access.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17671 a1c6a512-1295-4272-9138-f99709370657
2008-05-31 14:05:33 +00:00
Robert Kukla
d23f78b1c6 fix FS#9042 - MOD codec: SoundTracker variant MOD files will not play
- remove dubious format check and assume no formattag -> Soundtracker
- change method for remembering "periods converted" as the old one would corrupt Soundtracker files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17635 a1c6a512-1295-4272-9138-f99709370657
2008-05-26 23:00:07 +00:00
Andree Buschmann
5670ca18bb Fixes backward seeking on resumed files and backward seeking to positions to which formerly was seeked forward to (sounds complicated and it is).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17606 a1c6a512-1295-4272-9138-f99709370657
2008-05-22 12:32:28 +00:00
Andree Buschmann
6a74a5dd3b Commit FS#9015. Rework of musepack buffered seek. Now a static seek buffer of 8192 entries is used. The seeking precision is adapted to the length of the file (e.g. 26ms for files <=3.5min and 0.4s for files ~60min).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17604 a1c6a512-1295-4272-9138-f99709370657
2008-05-22 09:58:19 +00:00
Thom Johansen
c0f7eb9f9d FS #8680. MOD codec by Rainer Sinsch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17595 a1c6a512-1295-4272-9138-f99709370657
2008-05-21 11:19:58 +00:00
Andree Buschmann
1d28fe7d79 Musepack seek hotfix. Do not dynamically allocate seek buffer but use a buffer of constant size (~28.5min). Files larger than this will still not seek properly. Some additional rework has to be done for the seek buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17584 a1c6a512-1295-4272-9138-f99709370657
2008-05-19 18:06:00 +00:00
Andree Buschmann
18f13b149a Move ARM assembler of musepack synthesis filter to own file. Additionally add ICONST_ATTR to noise generator data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17562 a1c6a512-1295-4272-9138-f99709370657
2008-05-17 21:26:34 +00:00
Andree Buschmann
ff78cd8418 Commit FS#9000. Speed up Musepack decoder by 3% on PP5022/24 via using ICODE_ATTR for calc_new_V(). Additionally correct a type in decoder-struct.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17552 a1c6a512-1295-4272-9138-f99709370657
2008-05-17 11:11:01 +00:00
Andree Buschmann
14698f5a20 Musepack performance optimization for PP5022/PP5024/MCF5250 targets. Use IRAM for internal sample buffers and lookup tables. Speeds up decoding by ~7% on PP5022/PP5024 (Sansa: c200, e200 + iPod mini2G, nano, video) and by ~27% on MCF5250 (iaudio m5, x5).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17507 a1c6a512-1295-4272-9138-f99709370657
2008-05-14 19:49:01 +00:00
Michael Sevakis
209aa8eda5 Real fake IRAM by placing .i.... section in the analagous DRAM sections in the linker scripts that hasn't done this yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17449 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 22:03:45 +00:00
Andree Buschmann
14d45c9d17 Removed non-active seek mechanism from musepack library, small other cleanups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17446 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 20:33:28 +00:00
Andree Buschmann
a7a2baa97f Some changes for musepack: Disable SV4-SV6 support (I guess I am the only one who oned such). Remove tabs, perform some minor code beautification and add ICONST_ATTR to some requantization constants.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17438 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 15:15:10 +00:00
Nicolas Pennequin
367aec35d7 Fix a couple quirks from the previous commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17370 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:49:31 +00:00
Nicolas Pennequin
357ffb3c46 Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Bertrik Sikken
19425909c3 Another round of making local functions static and making sure that source files are in sync with their header files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17337 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 21:33:00 +00:00
Michael Sevakis
8a04f62031 SPC Codec: I'm pretty sure Gigabeat S can do realtime BRR decode and echo. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17330 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 16:11:39 +00:00
Bertrik Sikken
d0e32119f1 Make local function interp_pitch in filters.c static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17326 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 15:14:04 +00:00
Michael Sevakis
a74d15025e Build the remaining plugins for Gigabeat S and straigten out the fake IRAM in the codecs and plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17303 a1c6a512-1295-4272-9138-f99709370657
2008-05-02 00:38:11 +00:00
Magnus Holmgren
bce419d890 Fix skipping back to the start of WMA files, broken by the addition of resume support. Not the most elegant fix perhaps, but it works for me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17291 a1c6a512-1295-4272-9138-f99709370657
2008-04-29 19:00:42 +00:00
Michael Giacomelli
e7999873f5 Fix mistake in previous WMA commit. Also update comments to reflect changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17202 a1c6a512-1295-4272-9138-f99709370657
2008-04-21 00:46:55 +00:00
Michael Giacomelli
dac1ed5f41 This table is probably 128 entries long beginning with -60. Greatly improves FS#7488, but does not entirely fix it. Also, while I'm recomputing tables, use proper whitespace formating.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17162 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 23:05:20 +00:00
Dave Chapman
d65930f972 Correct copyright date and add acknowledgement of projects (libasf and VLC) that the ASF parsing code is based on.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17146 a1c6a512-1295-4272-9138-f99709370657
2008-04-16 19:42:26 +00:00
Michael Giacomelli
861525852c Increase the size of one of the look up tables. Fixes 'burst of static' in some files. I still have no idea how big it really needs to be...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17103 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 01:12:51 +00:00
Magnus Holmgren
d715f79ed6 Remove redundant init call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17092 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 10:00:42 +00:00
Michael Giacomelli
9a946f6022 Commit FS#8822 by Magnus Holmgren. Fixes resuming previously playing WMA files after a reboot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17090 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 19:52:31 +00:00
Michael Giacomelli
82dc8175cf Make the WMA decoder less noisy in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17014 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:32:48 +00:00
Michael Giacomelli
c6bbb0f690 Fix sim for now. Eventually I should change the decoder to error out if theres a problem allocating huffman tables.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17013 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:25:09 +00:00
Michael Giacomelli
231f0c208d Let the console know when the huffman tables have overflown. This should never happen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17012 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:11:14 +00:00
Michael Giacomelli
4a808073c7 Amazingly, I've only been initing about 1/2 the huffman table entries needed to actually decode a WMA file for the last 8 months and yet somehow never noticed. Fixes FS#8713, FS#8606 and probably a lot of other files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17011 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:01:44 +00:00
Michael Sevakis
05099149f1 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 04:34:57 +00:00
Nicolas Pennequin
73a71a4712 Move audio_set_elapsed to mpa.c, as recommended by the TODO note. Please correct me if affecting ci->id3->elapsed directly (ie without using ci->set_elapsed) is wrong.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16945 a1c6a512-1295-4272-9138-f99709370657
2008-04-03 12:13:03 +00:00
Nils Wallménius
a216c66b42 Remove obsolete comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16942 a1c6a512-1295-4272-9138-f99709370657
2008-04-03 07:47:23 +00:00
Jens Arnold
02580851ad Revert... stupid svn doesn't complain when passing -m twice :(
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16939 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:45:23 +00:00
Jens Arnold
01a106dbfa Make the measured LCD scanrates from the greylib known to the scanrate test plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16938 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:42:21 +00:00
Michael Sevakis
4855e734f3 Move codec_get_file_pos somewhere else like the comment said should be done. Codec API version increment was needed so update all codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16874 a1c6a512-1295-4272-9138-f99709370657
2008-03-29 06:36:53 +00:00
Michael Giacomelli
03f1b98531 Fix misleading debug statement.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16838 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 01:40:16 +00:00
Jens Arnold
1f4bcc86da Revert accidental tree commit. /me needs a smaller enter key...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:57:23 +00:00
Jens Arnold
9a7978aeab Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as 24 bit BMP instead of unnecessary 32 bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:43:08 +00:00
Michael Giacomelli
afd5c6a03f Fix (another) overflow when seeking in long WMA files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16597 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 23:38:11 +00:00
Michael Giacomelli
191b7e8380 Don't assume reading the duration field advances the buffer 12 bytes, instead check the return value and seek accordingly. Improves (fixes?) seeking in sample submitted by Lear.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16595 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 22:55:38 +00:00
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