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