Commit graph

74 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Nils Wallménius
497a1f07bd Clean out unused code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13910 a1c6a512-1295-4272-9138-f99709370657
2007-07-15 19:55:30 +00:00
Magnus Holmgren
932b20ec62 Vorbis: Apply various bugfixes from upstream Tremor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13756 a1c6a512-1295-4272-9138-f99709370657
2007-07-01 17:58:49 +00:00
Nils Wallménius
a85793fc54 Build Tremor with -O3 for coldfire targets, gives a slight increase in speed, remember to make clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13598 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 22:51:39 +00:00
Dave Chapman
f02cba8096 Code cleaning - remove some unnecessary defined(SIMULATOR) checks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
2007-05-10 13:16:08 +00:00
Tomasz Malesinski
7d9ff93b79 FS #6848 - optimizations of Huffman decoding in Tremor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12903 a1c6a512-1295-4272-9138-f99709370657
2007-03-24 14:06:56 +00:00
Tomasz Malesinski
25046aac17 FS #6848 - fast vector operations for ARM in Tremor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12902 a1c6a512-1295-4272-9138-f99709370657
2007-03-24 13:45:54 +00:00
Robert Kukla
c306b2a9a6 should never have been committed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12594 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 17:28:28 +00:00
Tomasz Malesinski
0bed2be414 FS#6357, patch 3: implemented simple temporary malloc for the Vorbis decoder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11610 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 20:56:26 +00:00
Tomasz Malesinski
5c54ba49d5 Added macros controlling what goes to IRAM on different targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11483 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 21:59:27 +00:00
Jens Arnold
a796260a6b Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11369 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 21:48:06 +00:00
Jens Arnold
d1ce4e779e Consistent style of 'make' messages. Always use ranlib after ar.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11322 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 22:33:39 +00:00
Magnus Holmgren
93e41276be Recude iram usage for the Vorbis decoder a little. Makes it possible to build with gcc 4.0.3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10891 a1c6a512-1295-4272-9138-f99709370657
2006-09-05 17:47:48 +00:00
Magnus Holmgren
9eba0d7173 A few minor changes to match upstream svn.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10890 a1c6a512-1295-4272-9138-f99709370657
2006-09-05 16:33:30 +00:00
Daniel Stenberg
55a3018cdd more make magic to heal the broken builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10860 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 22:34:13 +00:00
Magnus Holmgren
e0d64b95db Vorbis: Improve ability to decode old files (using floor0). Not enough to be able to decode one test file though...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10323 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 18:04:43 +00:00
Magnus Holmgren
9613b91164 Fix bug #3003 (old Vorbis encode crashes Rockbox), and hopefully not break any other files. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9516 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 14:01:08 +00:00
Jens Arnold
3e8568980d Remove all references to errno, it's unnecessary since the codec doesn't directly access files. Should really fix the TLS issues with errno this time...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8873 a1c6a512-1295-4272-9138-f99709370657
2006-03-01 01:07:56 +00:00
Marcoen Hirschberg
f16c1f341a prevent rockbox from using the wrong includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8827 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 13:48:52 +00:00
Thom Johansen
5947e49f46 Make Tremor usable on ARM targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8475 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 21:21:21 +00:00
Brandon Low
05dccc3551 Profiling support, tools and documentation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Dave Chapman
88f4c11789 iPod - Tremor code has become too big for IRAM (as of 28 December 2005), so temporarily disable ICODE_ATTR to fix the broken builds. This needs reviewing anyway when the time comes to optimise Tremor for the iPod.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8298 a1c6a512-1295-4272-9138-f99709370657
2006-01-03 11:58:39 +00:00
Magnus Holmgren
41cea75095 Vorbis optimizations from Brandon Low (part of patch 1387611). Reduces cpu boost ratio on a test track by about 6 percentage points. Also fixes broken simulator playback caused by my previous Tremor commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8291 a1c6a512-1295-4272-9138-f99709370657
2005-12-28 20:42:24 +00:00
Magnus Holmgren
085f2f428e Inspired by patch #1377739 by Brandon Low: Inline oggpack_adv and the most used part of oggpack_look. Reduces CPU boost on a test track (208 kbps) by 2-3 percentage points.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8274 a1c6a512-1295-4272-9138-f99709370657
2005-12-21 19:46:34 +00:00
Magnus Holmgren
1b0d1daf38 Codec makefile cleanup: remove redundant things, don't generate dependency files when cleaning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8154 a1c6a512-1295-4272-9138-f99709370657
2005-12-05 19:32:13 +00:00
Daniel Stenberg
76667e2a5b fix gcc4 (un)signed warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8124 a1c6a512-1295-4272-9138-f99709370657
2005-12-02 08:42:48 +00:00
Magnus Holmgren
265b16ecba iRiver: Reduced stack usage in the Vorbis decoder, so files created by old versions of the encoder can be played. Also moved some small floor0-related arrays to IRAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8069 a1c6a512-1295-4272-9138-f99709370657
2005-11-26 13:39:57 +00:00
Dave Chapman
18dff12614 iPod: Work around a problem with one Tremor function not being happy in IRAM (relocation truncated to fit linker error)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7843 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 11:52:57 +00:00
Linus Nielsen Feltzing
dc9e201671 Support for a colon-separated path in APPEXTRA
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7663 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 14:39:00 +00:00
Thom Johansen
292e4e90d7 Introduced usage of IBSS_ATTR and ICONST_ATTR in codec libraries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7660 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:39:01 +00:00
Magnus Holmgren
37011258d6 iriver: more codec library cleanup: remove codec_alloca and a some extraneous defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7637 a1c6a512-1295-4272-9138-f99709370657
2005-10-17 18:46:46 +00:00
Magnus Holmgren
f273f354eb iRiver/Vorbis: And don't specify -O2 twice...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7616 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 21:41:37 +00:00
Magnus Holmgren
07e375c369 iRiver/Vorbis: Actually use the rule in the makefile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7615 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 20:54:30 +00:00
Thom Johansen
1b79209ea7 Avoid EMAC stall in MULT31_SHIFT15.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7530 a1c6a512-1295-4272-9138-f99709370657
2005-09-21 23:09:19 +00:00
Thom Johansen
735208a541 Adapted codecs and DSP system to having MACSR saved in thread context.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7485 a1c6a512-1295-4272-9138-f99709370657
2005-09-07 00:24:27 +00:00
Miika Pekkarinen
6b807b2d24 Fixed MAC initialization problem with mpa codec and removed workaround
for that bug.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7260 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 13:46:38 +00:00
Magnus Holmgren
7e33f16aee Tweaked IRAM usage in the Vorbis codec. Speeds up decoding by about 10% on a couple of test files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7249 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 12:04:41 +00:00
Magnus Holmgren
4a53787992 ReplayGain support for Ogg Vorbis files (also called VorbisGain) added.
Note that there is a small delay from leaving a setting until the change
can be heard (due to audio data buffering).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7234 a1c6a512-1295-4272-9138-f99709370657
2005-07-24 15:32:28 +00:00
Christian Gmeiner
6753fb5138 oops... should compile without warnings now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7187 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 13:09:05 +00:00
Christian Gmeiner
c6ff1f5eb5 Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Ryan Jackson
a20f127d43 Added another call to mcf5249_init_mac in ov_pcm_seek, just in case. Fixed tag corruption bug and allowed non-numeric characters in year and tracknum tags. Added support for composer tag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7168 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 23:07:51 +00:00
Ryan Jackson
b5b8f05aed Removed calls to mcf5249_init_mac() from asm_mcf5249.h, added call for it to ov_read().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7158 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 17:08:14 +00:00
Ryan Jackson
f580941b5a Changed assembly optimizations to re-init the MAC each time they're called. Fixes resampling problems with Ogg Vorbis.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7149 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 06:24:22 +00:00