Michael Sevakis
effceea229
Remove the event object in the kernel since it's rather extraneous at the moment. This makes the codecs and the plugins incompatible, so update fully.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18867 a1c6a512-1295-4272-9138-f99709370657
2008-10-23 13:13:00 +00:00
Nils Wallménius
2f50cd58b9
Codec memory reorganization
...
Based on a patch by Tomasz Malesinski
* Merge Codec buffer and Malloc buffer into one large buffer.
* The new merged buffer is now 1MB on targets with lots of memory.
* Renamed codec_get_memory to codec_get_buffer and made it behave more.
like plugin_get_buffer.
* Bumped Codec api and min api versions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18834 a1c6a512-1295-4272-9138-f99709370657
2008-10-19 12:35:53 +00:00
Björn Stenberg
51b45d5602
Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18814 a1c6a512-1295-4272-9138-f99709370657
2008-10-15 06:38:51 +00:00
Michael Giacomelli
1620d1fd03
Correct poor assumption on my part that WMA frames are 2048 samples long. Fixed problems with sample rates < 44.1khz. Fixes FS#9242 and FS#9439.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18805 a1c6a512-1295-4272-9138-f99709370657
2008-10-14 01:41:26 +00:00
Peter D'Hoye
528fe442fc
New recording setting to configure how mono recordings are made. Previously, this was always L+R, which was kinda silly if your signal was on L only. This setting allows for L, R or L+R. SWCODEC only for now, to be added for HWCODEC (although that will only be L and L+R probably)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18745 a1c6a512-1295-4272-9138-f99709370657
2008-10-08 22:18:16 +00:00
Jens Arnold
dd7cacdc88
Another minor improvement: better pipelining and one less register used in vector addition/ subtraction.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18739 a1c6a512-1295-4272-9138-f99709370657
2008-10-07 20:52:42 +00:00
Jens Arnold
6b84f60046
APE: Further ARMv6 filter optimisations: Save 4 'ror's per round by utilising the shift feature of the 'pack halfword' instructions in the unaligned vector addition/ subtraction, better pipelining in the aligned scalarproduct(), and a new method to calculate the unaligned scalarproduct().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18736 a1c6a512-1295-4272-9138-f99709370657
2008-10-07 19:40:17 +00:00
Jens Arnold
6219f4c862
Fix warnings on non-arm targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18702 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 21:52:47 +00:00
Jens Arnold
d1b19be423
Various speedups: (1) Put actual decoding functions into IRAM on PP5002. (2) Put the insane filter buffer into IRAM on coldfire and PP502x (just for completeness, as long as there's no better use). (3) Use the ARMv6 'ssat' instruction for saturation on Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18701 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 21:40:32 +00:00
Jens Arnold
66fe9a462c
Speed up decoding on Gigabeat F/X and S by lowering BLOCKS_PER_LOOP. This helps keeping things in the (L1) cache (except for -c5000).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18700 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 16:34:25 +00:00
Jens Arnold
5d29f5188f
Put the rangecoder struct into IRAM for a nice speedup on coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18699 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 15:54:34 +00:00
Jens Arnold
d456460707
Further speedup for ARMv6 by better pipelining in scalarproduct().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18697 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 12:30:18 +00:00
Jens Arnold
67554591d9
Fix static noise on armv6.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18694 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 10:09:57 +00:00
Jens Arnold
46bf6bd493
Add preliminary ARMv5te optimisations (verified working, but can probably be sped up further), and fix a comment in the ARMv6 code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18693 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 09:33:36 +00:00
Jens Arnold
6fcf2765dd
Add armv6 specific asm code for the APE filters, speeding up -c2000..-c5000 a bit on Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18692 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 08:54:34 +00:00
Michael Sevakis
2041fed03a
Opening function brace style police.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18574 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 09:23:32 +00:00
Michael Sevakis
5c903724fb
Simplify synchronizaton for MPA codec and make it fully atomic, let synth thread exist for life of codec, do a bit of cleanup and use number of cores do determine if it is compiled as multithread instead of CPU type.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18573 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 08:09:04 +00:00
Michael Giacomelli
9bc16e491d
Add simple ASMed fixed point multiply functions for ARM to AC3. Gives a 38% speed up on my one sample with a Sansa.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18570 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 00:51:22 +00:00
Dave Chapman
726a63f309
Correct version of memory sizes in config-logikdax.h (previous values were just experimental and should not have been committed). We also need to remove two more codecs for this codec buffer size (128KB). The m200 and DAX builds now actually build.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18568 a1c6a512-1295-4272-9138-f99709370657
2008-09-22 19:38:28 +00:00
Dave Chapman
85807cd44e
Trivial changes to make the main Rockbox builds for the Sansa m200 and Logik DAX ports compile. Note that some codecs are currently disabled (due to lowmem on these targets), but that needs more work and analysis to decide how much RAM we want to allocate to codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18566 a1c6a512-1295-4272-9138-f99709370657
2008-09-22 19:15:18 +00:00
Michael Giacomelli
0097198586
Fix careless typo on my part that broke MP3 playback on Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18564 a1c6a512-1295-4272-9138-f99709370657
2008-09-22 15:27:27 +00:00
Michael Giacomelli
3dedcfc454
Hopefully fix glitches when seeking in MP3s on dual core processors. Also, clean up initialization and preprocessor commands.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18563 a1c6a512-1295-4272-9138-f99709370657
2008-09-22 01:29:50 +00:00
Michael Giacomelli
712931ca6e
Opps, fix mp3 decoding in the sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18559 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:20:58 +00:00
Michael Giacomelli
4e36a2b991
Commit FS#9318 - MP3 synthesis filter on COP. Loads the MP3 synth filer on to the CoProcessor on all PortalPlayer devices, resulting in an ~90% speedup according to test_codec on the Sansa. Real world improvement is somewhat less, but still considerable. Allows MP3 decoding at 30MHz without boosting, or use of more DSP/EQ with less boosting/skipping, thus improving battery life. Minor changes to mpegplayer to retain compatibility with libmad changes. Should be no significant changes for other targets or codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18557 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:06:12 +00:00
Michael Giacomelli
850adb40d7
More files that were missed in the previous commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18413 a1c6a512-1295-4272-9138-f99709370657
2008-09-04 18:03:30 +00:00
Michael Giacomelli
46f85c4c54
Combine the Vorbis, WMA and AAC IMDCT functions and put them into the codeclib. Combined IMDCT is now based on existing Tremor transform. Reduces CPU for 192k AAC by 21MHz on Coldfire, and 5MHz on PP5024. WMA and Vorbis should have no functional changes since they already used this code. Further optimization is possible and would benefit all 3 codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18412 a1c6a512-1295-4272-9138-f99709370657
2008-09-04 18:02:10 +00:00
Bertrik Sikken
1e3ed74479
Made local functions static for vorbis and speex codecs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18263 a1c6a512-1295-4272-9138-f99709370657
2008-08-12 22:01:55 +00:00
Bertrik Sikken
9fe4dbf33c
Removed unused abort function implementation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18261 a1c6a512-1295-4272-9138-f99709370657
2008-08-12 21:07:15 +00:00
Michael Giacomelli
54903eb7fa
Use WMA windowing optimizations for AAC. Saves about 3.5MHz on Coldfire, and about 2 MHz on ARM. Thanks to amiconn for help with Coldfire ASM improvements. Next step: dump faad IMDCT.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18238 a1c6a512-1295-4272-9138-f99709370657
2008-08-10 20:19:38 +00:00
Michael Giacomelli
d016402fec
Actually put the output in IRAM this time by combining some buffers that weren't used at the same time.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18231 a1c6a512-1295-4272-9138-f99709370657
2008-08-10 02:31:01 +00:00
Jens Arnold
ee39863459
Speed up WMA decoding on coldfire (14% speedup with a 128kbps test file).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18228 a1c6a512-1295-4272-9138-f99709370657
2008-08-09 22:32:34 +00:00
Michael Giacomelli
52bdcbae85
Commit FS#9170 by Dave Hooper. Adds support for profiling on ARM, and fixes various issues with compiling profile builds. Also, note that profile_reader.pl syntax has changed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18142 a1c6a512-1295-4272-9138-f99709370657
2008-07-28 22:43:41 +00:00
Dominik Wenger
9b7566e3ec
asap: fix stereo mode and hopefully fix metadata handling.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18140 a1c6a512-1295-4272-9138-f99709370657
2008-07-28 19:20:40 +00:00
Dominik Wenger
073d4a71c8
Asap codec: put outputbuffer into iram. Improves performance.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18129 a1c6a512-1295-4272-9138-f99709370657
2008-07-27 14:47:43 +00:00
Dominik Wenger
ec0177dd12
Asap: fix a warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18124 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:41:50 +00:00
Dominik Wenger
49d318732f
set svn:keywords on the new files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18123 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:32:08 +00:00
Dominik Wenger
ddf9fdd30f
ups: forgot a Makefile.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18122 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:24:00 +00:00
Dominik Wenger
25bb37bb68
commit asap codec. plays .sap files. At the moment it only plays the default song. So subSongs are ignored.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18121 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:16:10 +00:00
Dominik Wenger
4e4bf82fb7
import ASAP codec ( http://asap.sourceforge.net/ ). Plays Amiga 8bit Sound. (.sap and more formats).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18120 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:10:26 +00:00
Michael Giacomelli
6da45d4c56
Remove unused variable.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18095 a1c6a512-1295-4272-9138-f99709370657
2008-07-19 20:52:43 +00:00
Dave Chapman
ed2936ae70
Make the standalone FLAC test program work again (compile with make -f Makefile.test).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18093 a1c6a512-1295-4272-9138-f99709370657
2008-07-19 08:41:21 +00:00
Michael Giacomelli
b9eb18260f
Too much on the last commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18085 a1c6a512-1295-4272-9138-f99709370657
2008-07-17 18:36:47 +00:00
Michael Giacomelli
1334738071
Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my test samples gave equivilent or better accuracy (>>16 bit), but there may still be problems. Code becomes somewhat less readable since the IMDCT has bits of Vorbis in it, but this is not a serious issue and the old ffmpeg transform remains in SVN if anyone wants it. Also, WMA now passes Vorbis as the fastest transform codec on ARM, although MPC remains the fastest lossy codec overall.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
2008-07-17 17:43:49 +00:00
Michael Giacomelli
95fb20b7a8
Fix warning due to typo on my part.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17948 a1c6a512-1295-4272-9138-f99709370657
2008-07-05 22:55:09 +00:00
Michael Giacomelli
2a75a9045c
More WMAv1 fixes by Rafael Carre.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17943 a1c6a512-1295-4272-9138-f99709370657
2008-07-05 00:44:01 +00:00
Michael Giacomelli
b50b38ae58
Forgot that the X5/M5 use a 64/64KB IRAM split, so they can't use the previous optimization.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17854 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 19:21:38 +00:00
Michael Giacomelli
a06f651c3e
Put the WMA windowing and output buffer into IRAM on targets with > 96KB of it. Improves 192k WMA decoding speed by about 2MHz on PP5024, and maybe saves some more when applying DSP.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17853 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:56:19 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Andree Buschmann
25ffa8b198
Solve possible glitch after seeking in mpc files. Documented the special treatment after seek.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17829 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 12:55:34 +00:00
Michael Giacomelli
ff9f3f8c04
Revert r14786 which resulted in a substantial reduction in accuracy to save a 7.6KB of RAM. Accuracy should be greatly improved now, and if we want to make that trade off again, I think of better ways to do it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17783 a1c6a512-1295-4272-9138-f99709370657
2008-06-24 15:39:44 +00:00