Thomas Jarosch
670da39093
Remove errorneous ; after "for" statement.
...
Detected by my upcoming cppcheck check
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30731 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 11:11:22 +00:00
Nils Wallménius
000c706896
libtremor: build with -O2 for cf, gives a slight speedup on high bitrate files (~1%)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30730 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 10:24:17 +00:00
Nils Wallménius
1b8f81d796
fix warning in debug code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30729 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 10:18:04 +00:00
Nils Wallménius
e1ea13ee75
libtremor: hack to work around huge allocations for the comment packet in files with embedded album art. Should fix playback of such files on targets with large codec buffers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30728 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 10:09:11 +00:00
Jeffrey Goode
b76f197ff6
Silence build warning
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30708 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 13:08:04 +00:00
Andree Buschmann
da09f7f0f1
Fix detuned VRC7. In VRC7 apu the 2413 emu must run at the default clock rate. Thanks to Mauricio Garrido.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30623 a1c6a512-1295-4272-9138-f99709370657
2011-10-01 08:16:33 +00:00
Nils Wallménius
d1e241f55a
libtremor: arm asm for ff_vector_fmul_window_c on v4 and v5 cores, speeds up c200v1 and fuzev1 by ~0.4MHz and ipod classic by ~1MHz.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30584 a1c6a512-1295-4272-9138-f99709370657
2011-09-23 14:01:48 +00:00
Nils Wallménius
2abb52a084
libtremor: small whitespace cleanup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30583 a1c6a512-1295-4272-9138-f99709370657
2011-09-23 13:54:36 +00:00
Nils Wallménius
c2bd876e89
libtremor: cf asm for ff_vector_fmul_window_c, gives a speedup of ~0.3MHz.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30582 a1c6a512-1295-4272-9138-f99709370657
2011-09-22 17:32:02 +00:00
Nils Wallménius
3afdedaef2
libtremor: rename file that now contains more ffmpeg code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30581 a1c6a512-1295-4272-9138-f99709370657
2011-09-22 11:54:17 +00:00
Nils Wallménius
412cdd6cf7
libtremor: port over ffmpeg's windowing code
...
Use the windowing approach from ffmpeg in tremor, does the mdct doubling, windowing and overlap add in one go.
Also uses less memory so all the processing buffers fit in iram on targets with small iram for the common blocksizes (256/2048) now.
Speeds up decoding of vorbis files by 3MHz for 256/2048 and 20MHz for 512/4096 files on h300.
Speeds up decoding of vorbis files by 3MHz for 256/2048 and 4.5MHz for 512/4096 on the beast.
Speeds up decoding of vorbis files by 0.3MHz for 256/2048 and 1MHz for 512/4096 on c200v1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30580 a1c6a512-1295-4272-9138-f99709370657
2011-09-22 11:47:51 +00:00
Nils Wallménius
151424a6fd
codeclib/libtremor: Clean up duplication of inline funcs, constify the ones in codeclib and copy over the slightly faster MULT31_SHIFT15 from tremor for cf.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30578 a1c6a512-1295-4272-9138-f99709370657
2011-09-21 15:38:54 +00:00
Nils Wallménius
d3904712e1
libtremor: pass the floor1 lookup table pointer as a param to the render_line function to make this a little nicer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30573 a1c6a512-1295-4272-9138-f99709370657
2011-09-19 16:37:37 +00:00
Nils Wallménius
769996654b
libtremor: save a kB or two limiting an array size to the maximum number of channels we support and using a shorter type for another. No speed diff.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30559 a1c6a512-1295-4272-9138-f99709370657
2011-09-16 14:00:06 +00:00
Nils Wallménius
bcfb2b53eb
libtremor: small tweak to cf channel coupling asm, speeding up vorbis decoding by ~0.1MHz. Drop unused macro params and add some comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30558 a1c6a512-1295-4272-9138-f99709370657
2011-09-16 12:51:22 +00:00
Nils Wallménius
3f08357f2b
codeclib: more cf asm for the mdct, saves ~0.7MHz decoding vorbis on h300.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30552 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 08:31:39 +00:00
Nils Wallménius
4f27931a58
codeclib: further tweaks to the cf fft asm for a small speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30541 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 09:34:01 +00:00
Andree Buschmann
c3cffb766e
Roll back r30509 after discussion on irc. Activating AAC-HE SBR will not work on Sansa Clip v1.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30540 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 06:00:10 +00:00
Nils Wallménius
85ef10826f
codeclib: tweak coldfire mdct asm a bit more, flip usage of mac/msac instead of explicit negation, changes output slightly but is as close to the c version as before. Gives about 0.4MHz speedup of vorbis on cf.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30516 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 16:53:13 +00:00
Nils Wallménius
f93530c4ba
codeclib: coldfire asm for the TRANSFORM* functions in the fft and a little for the mdct, speeds up codecs using the codeclib mdct 0.5-1.5MHz on h300.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30513 a1c6a512-1295-4272-9138-f99709370657
2011-09-12 11:27:48 +00:00
Rafaël Carré
9ea367ea23
AAC: Enable SBR decoding for all targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30510 a1c6a512-1295-4272-9138-f99709370657
2011-09-12 00:10:18 +00:00
Bertrik Sikken
e80acd41b8
libgme: make local functions static, where possible
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30498 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 21:08:13 +00:00
Andree Buschmann
f163b405c0
Fully remove floating point code from libmusepack. Introduce two small const arrays for precalculated scalefactors, correct the integer type of scalefactors to unsigned, migrate some metadata calculations to fixed point. No impact to decoder output.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30497 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 20:35:04 +00:00
Andree Buschmann
d4249affc4
Remove residual floating point code from libgme's ym2612_emu. Saves several KB of codesize.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30496 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 18:40:12 +00:00
Andree Buschmann
4096cb1830
Further work on libgme's emu2413. Fully remove floating point, introduce another precalculated table, directly use predefined tables instead of copying them. Reduces memory and codesize by several KB.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30494 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 10:45:44 +00:00
Andree Buschmann
e8dc7a6d07
Migrate some floating point code to fixed point in libgme.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30493 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 02:52:12 +00:00
Andree Buschmann
c97c5e5d17
Bugfixes for libgme by Mauricio Garrido: added missing call of Blip_set_modified(), correctly set PSG voices in vgm_emu, correctly set current_track in vgm_emu, correct call of Sound_mute_voices() in nsf_emu. Additionally migrate few floating point code to fixed point -- even though this is unused and therefor commented out.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30490 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 17:57:33 +00:00
Andree Buschmann
6a989b8d4d
Submit FS#12258. Do not use '-ffunction-sections' and '-fdata-sections' when compiling. Fixes compiler warnings for mingw and cygwin simulatior builds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30468 a1c6a512-1295-4272-9138-f99709370657
2011-09-07 19:21:57 +00:00
Andree Buschmann
67f5249559
Fix residual red, thanks to Zagor.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30400 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 20:34:44 +00:00
Andree Buschmann
72a345b6a7
Fix some more libgme compile issues.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30399 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 19:42:18 +00:00
Andree Buschmann
89ee297314
Check for CPU_ARM in libgme/blip_buffer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30398 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 19:29:21 +00:00
Andree Buschmann
13cbade08a
Update libgme to Blargg's Game_Music_Emu 0.6-pre.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30397 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 19:19:49 +00:00
Michael Sevakis
d089e10403
Get rid of strict aliasing warnings for ARMv6 spc_dsp.c. Just do load in asm block instead.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30396 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 11:19:16 +00:00
Andree Buschmann
5ed7439cc7
Build libgme with the same compiler settings as other codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30395 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 10:30:08 +00:00
Andree Buschmann
5cfec21350
Declare several libgme functions static.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30394 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 09:15:04 +00:00
Andree Buschmann
e88d24a840
Submit parts of FS#12189 regarding codec API. Replaces access to global settings with a dedicated function to determine if the current track shall be looped. Used by several synthesizer codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30391 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 19:40:09 +00:00
Andree Buschmann
c940811ade
Introduce CPU dependent IRAM configuration for libgme. Use ICODE_ATTR for an emu2413-function to speed up PP5022 by up to 6%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30379 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 12:35:12 +00:00
Michael Sevakis
e137e9e47f
codec_main() prototype inside codec_crt0.c is no longer needed since it's in codecs.h now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30373 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 22:53:40 +00:00
Nils Wallménius
91ba09b099
libtremor: comment out some more unused functions, make a function param unsigned to simplify generated code, gives a small speedup on cf.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30372 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 17:28:44 +00:00
Nils Wallménius
1be2290bfa
libtremor: remove some inline cf asm that is no longer needed with the new toolchain, no speed diff.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30371 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 16:36:42 +00:00
Nils Wallménius
12e159dcb4
libtremor: comment out some unused functions and mark some file local functions static, saves a few hundred bytes and might give a tiny speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30370 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 16:35:45 +00:00
Andree Buschmann
cc6a780a13
Remove obsolete 'ci->set_elapsed()' from mpc.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30368 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 14:25:38 +00:00
Michael Sevakis
7ad2cad173
Commit work started in FS#12153 to put timing/position information in PCM
...
buffer chunks.
* Samples and position indication is closely associated with audio data
instead of compensating by a latency constant. Alleviates problems with
using the elapsed as a track indicator where it could be off by several
steps.
* Timing is accurate throughout track even if resampling for pitch shift,
whereas before it updated during transition latency at the normal 1:1 rate.
* Simpler PCM buffer with a constant chunk size, no linked lists.
In converting crossfade, a minor change was made to not change the WPS until
the fade-in of the incoming track, whereas before it would change upon the
start of the fade-out of the outgoing track possibly having the WPS change
with far too much lead time.
Codec changes are to set elapsed times *before* writing next PCM frame because
time and position data last set are saved in the next committed PCM chunk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 07:45:35 +00:00
Steve Bavin
953a073a4d
Minor libwmavoice fixes; initialise the entire VBM tree and remove file handle leak from test util.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30360 a1c6a512-1295-4272-9138-f99709370657
2011-08-26 16:03:48 +00:00
Andree Buschmann
e3b3547e20
Fix an issue in libfaad found by static code analysis. Two arrays within the drc_info structure require a size of 64 due to the related implementation. This code section would not have been called as the decoder checks the number of channels and rejects decoding for files using more than MAX_CHANNELS (2). Closes FS#12245.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30356 a1c6a512-1295-4272-9138-f99709370657
2011-08-26 12:37:13 +00:00
Thomas Jarosch
4ccb6e4f27
Clean up redundant assignment
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30347 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 19:27:31 +00:00
Andree Buschmann
0aa2fcb3b6
Optimized compiler settings for libgme. ARM now uses -O1 except for the 2413 emulator. The speed on PP5022 increases by 0-5% (NSF, YM2413-VGM), 5-10% (GBS, VGM) and 10-15% (SGC, KSS, AY).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30331 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 21:01:08 +00:00
Nils Wallménius
b086458e4e
FS#12231
...
Centralize the selection of codec compilation flags to codec.make
to avoid having to duplicate the per cpu selection logic and the
build rule in the individual codec lib make files and make tweaking
easier.
The two special cases, libmad and libspeex were left alone.
I plan to introduce a var for arm generation so that appropriate flags
can be selected per generation as benchmarking results have shown that
different arm arches might have different optimal flags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30330 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 16:33:41 +00:00
Andree Buschmann
46d7fb9b4a
Roll back r30328. Sorry for any inconvenience.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30329 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 15:17:25 +00:00
Andree Buschmann
1466519bd8
Allow to use different compiler settings for codecs built from libgme. ARM now uses -O1 except for the 2413 emulator. The speed on PP5022 increases by 0-5% (NSF, YM2413-VGM), 5-10% (GBS, VGM) and 10-15% (SGC, KSS, AY).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30328 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 14:01:31 +00:00