Commit graph

1270 commits

Author SHA1 Message Date
Nils Wallménius
c45e1254c6 FS#11454 Tuning of codec compiler options
Tested with h300 and sansa c200v1

h300 speedups:
a52: 2%
cook: 9-17%
aac: 0.5%
vorbis: 0.5%
wma: 6-12%

c200v1 speedups:
alac: 1.5%
wma 3-4%
wavpack 2%


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27486 a1c6a512-1295-4272-9138-f99709370657
2010-07-18 19:05:53 +00:00
Nils Wallménius
cdb0c16023 Oops, revert unintentional commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27466 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 11:09:51 +00:00
Nils Wallménius
d1dff32ef0 Delete unused header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27465 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 11:08:29 +00:00
Nils Wallménius
fa15494ab8 libwma: void pointer voodoo to get rid ov strict aliasing warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27463 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 10:57:40 +00:00
Nils Wallménius
87b29215d5 libwma: Reuse a static buffer that was unused while decoding lsp files for some lsp related tables.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27462 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 10:40:00 +00:00
Mohamed Tarek
f98e80367d Check for errors from decode_packet in wmapro.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27461 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 09:55:38 +00:00
Mohamed Tarek
56161967c6 Increase the size of quant table in libwmapro to accomodate more values for exp. Fixes wma pro failure on test files in download.rockbox.org/test_files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27460 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 09:13:55 +00:00
Nils Wallménius
331460c1f5 libwma: Reduce size of runtab and levtab buffers, only one set can get the worst case size so make the other set the second worst case size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27459 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:57:30 +00:00
Nils Wallménius
f2a1d92030 Remove unused 2kB buffer and some dead code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27458 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:49:21 +00:00
Nils Wallménius
d6446d0b08 Begin shoehorning wma into the clip codec buffer again. Reduce the static buffer used by init_vlc so that it is no larger than is needed. Make the VLCcode struct packed to save space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27457 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:33:36 +00:00
Mohamed Tarek
53d13a8e76 libwmapro no longer needs libm in the sim; update the makefile and README.rockbox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27456 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:19:05 +00:00
Mohamed Tarek
86c3765246 libwmapro : remove dead/unneeded code from wma.[ch]
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27455 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:09:17 +00:00
Mohamed Tarek
b339963567 libwmapro : Rename all FIXED occurrances to int32_t and remove types.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27454 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:00:13 +00:00
Mohamed Tarek
0f94710410 More cleaning for libwmapro; use codeclib's bitstream functions and drop those from the libwmapro.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27453 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 07:53:14 +00:00
Mohamed Tarek
090768194f Enable ff_copy_bits in ffmpeg_bitstream.c and put_bits.h and intreadwrite.h to codeclib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27452 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 07:46:38 +00:00
Nils Wallménius
bb22ac539b libwma has Huffman tables that are too big for the stack temp buffer. Make temp buffer static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27446 a1c6a512-1295-4272-9138-f99709370657
2010-07-16 08:49:22 +00:00
Nils Wallménius
e700e195d8 Remove two unused macros.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27438 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 21:20:47 +00:00
Nils Wallménius
74063845c0 Properly fix warning by copying the swap16 and swap32 inline functions from system.h to mips/ingenic_jz47xx/system-target.h to replace the defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27433 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 17:15:20 +00:00
Michael Giacomelli
b9e7c18dda Use codeclib version of the ffmpeg bitstream code for wma rather then ancient hacked up version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27432 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 17:14:56 +00:00
Nils Wallménius
30a55c15c0 Hopefully fix 'comparison between signed and unsigned' warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27431 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 16:30:48 +00:00
Nils Wallménius
a87c61854e Sync codeclib bitstream code with upstream ffmpeg code. Build ffmpeg_bitstream.c as a part of the codec lib. Use this codeclib implementation in libffmpegFLAC. Implement adapted version of the unaligned longword reading optimization for coldfire from the libwma version of this code. Speeds up cook decoding by 2-3% on h300 and flac by 25% on h300, also speeds up flac decoding by 2% on c200 (decoding speed of cook on c200 is unchanged).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27430 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 16:19:17 +00:00
Mohamed Tarek
387af97a26 Initial cleanup for libwmapro.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27425 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 05:38:09 +00:00
Rafaël Carré
de8369f3a2 Build wmapro, disabled on targets with less than 2MB of ram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27423 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 20:27:43 +00:00
Rafaël Carré
0159c0c09c remove unused CODECLIBS variable from makefile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27422 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 20:27:37 +00:00
Rafaël Carré
4a3e6de32a wmapro: silence some warnings related to function prototypes unused in rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27421 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 20:19:57 +00:00
Rafaël Carré
7a1e04920e wmapro: don't force little endianness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27420 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 20:19:50 +00:00
Rafaël Carré
b3fee10175 Check if ROCKBOX_LITTLE_ENDIAN and ROCKBOX_BIG_ENDIAN are defined, no which value they have
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27419 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 20:19:44 +00:00
Mohamed Tarek
26e70eba26 Remove WMA Pro again from the main build temporarily till the errors/warnings are sorted out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27418 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 20:07:44 +00:00
Mohamed Tarek
d63abfc7eb Add WMA Pro to the main build. WMA Pro now plays on target and decodes in 151% realtime in a 320kbps sample on a sansa e200. Lots of cleanup still need to be done, and optimisations should start soon too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27417 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 19:37:52 +00:00
Mohamed Tarek
16284ae8ae Remove the floating point code from wmaprodec.c and change variable names accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27416 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 17:55:17 +00:00
Nils Wallménius
44f8faa6cb Tune compiler optimizations for libtta, gives a speedup of 1.1MHz on h300 and 0.4MHz on c200v1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27405 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 16:37:03 +00:00
Nils Wallménius
a4cad3d926 Coldfire assembler implementation of hybrid_filter for libtta. Speeds up decoding on h300 by 4.2MHz. Set svn properties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27404 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 16:14:32 +00:00
Nils Wallménius
d3a1945939 Use more iram in the tta lib, speeds up decoding by 47MHz on h300 (mcf5249) and 2.7MHz on c200v1 (pp5024)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27403 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 15:59:11 +00:00
Mohamed Tarek
ec4ee48318 Complete the conversion of WMA Pro to fixed point. Floating point code is still there for better history and to have a returning point in svn should something go wrong.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27402 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 15:41:10 +00:00
Andree Buschmann
c9a4fb0d0d Clean up libfaad's sbr-qmf code. Move array to correct #ifdef-path, introduce macro, beautify indentations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27394 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 22:02:06 +00:00
Andree Buschmann
fe61885e48 Minor correction to macros, beautification of loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27391 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 18:41:41 +00:00
Andree Buschmann
cef3681bae Further changes to aac-he decoding. Refactor and rearrange dct tabs to be able to use consecutive addresses (this allows additional optimization for ARM through ldm-usage). Define a macro for identical butterfly operations and exchange 2 butterflyies with less compex operations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27384 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 14:40:05 +00:00
Jens Arnold
911ed00171 Revert accidental change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27382 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 13:58:02 +00:00
Jens Arnold
12857cedfa EMACify HE-AAC QMF on coldfire: 5% speedup on MCF5249.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27381 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 13:44:41 +00:00
Andree Buschmann
6cf66eb08c Refacture parts of libfaad filterbank. Faster windowing for 8-short-window sequences.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27380 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 12:33:35 +00:00
Thomas Martitz
57613ea5fa Rename/change SIMVER to APP_TYPE in the Makefiles.
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 13:49:49 +00:00
Andree Buschmann
2f271ac54a Just another MHz saved on ARM for aac he decoding.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27365 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 00:11:39 +00:00
Andree Buschmann
e7ffe1cd4a More work on libfaad's aac he decoder. Resort table to allow more efficient load access.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27364 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 21:42:21 +00:00
Rafaël Carré
ae79b67956 Revert r27359
The ipod4g has enough free IRAM when built with gcc 4.4 eabi

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27362 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 19:58:55 +00:00
Andree Buschmann
c6898a0d55 Fix red. Remove a small array from IRAM that is not critical to performance.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27359 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 18:49:33 +00:00
Andree Buschmann
811af5968a Submit FS#11461. Major speedup for aac he profile (PP5002 +20%, PP5020 +15%, PP5022 +19%, MCF5249 +35%, MCF5250 +80%), still not realtime on most targets though. This change does a lot of refactoring in the sbr filters and the dct, switching to our optimized codeclib fft and tweaking IRAM usage.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27358 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 18:32:37 +00:00
Rafaël Carré
d05a24e64e wmapro codec sim build needs to link with libm
Override generic rule in libwmapro/*.make

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27336 a1c6a512-1295-4272-9138-f99709370657
2010-07-07 17:10:26 +00:00
Andree Buschmann
91d6fa7e1b Remove unneeded libfaad files from SOURCE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27320 a1c6a512-1295-4272-9138-f99709370657
2010-07-06 19:23:13 +00:00
Andree Buschmann
5ac3545843 Integrate FS#11445 to raac. In addition remove faad specific pcm conversion and use rockbox' optimized dsp routines. On a 192kbps file and PP5022 the decoding speeds up by 17%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27319 a1c6a512-1295-4272-9138-f99709370657
2010-07-06 19:20:55 +00:00
Mohamed Tarek
d884af2b99 Partial conversion of the wmapro decoder to fixed point arithmetic. Currently inverse quantization & rescaling,
imdct and windowing are all in fixed point.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27302 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 22:33:37 +00:00