Commit graph

1605 commits

Author SHA1 Message Date
Andree Buschmann
fabbeba59a Solve FS#12396 through rolling back r26592. This fixes distortions while mpc playback on Coldfire targets with GCC 4.5.2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31054 a1c6a512-1295-4272-9138-f99709370657
2011-11-25 19:42:26 +00:00
Torne Wuff
569285794b Bulk convert all DOS line endings to UNIX.
For the git migration we want a nice clean repository with UNIX line
endings. git does not use svn:eol-style, we just need the file contents to be
sane.

Sorry everybody. I know this messes up blame.

Scumbag *NIX developer says migrating to git will make line ending issues go
away; commits giant change to svn which changes line endings anyway. :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30924 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 22:44:25 +00:00
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