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