Commit graph

19 commits

Author SHA1 Message Date
Andree Buschmann
4b49ef2ade Another minor ARM speedup for libwmapro. Drop lsb of multiplication result in fixmul31(). The difference to current implementation is +/-1 in the output signal. Same routines are used for other codecs and in the codec lib as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27728 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 21:59:29 +00:00
Andree Buschmann
cc7fac27b5 Minor of libwmapro on ARM. Swap operands for fixmul31, is 1% faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27727 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 21:43:49 +00:00
Mohamed Tarek
13167d2389 Remove the comment about Coldfire asm. The current code (using fixmul16 macros) is fast enough; even faster than an equivalent CF asm version, as pointed out by Nils Wallménius.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27724 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 18:53:42 +00:00
Nils Wallménius
a0dd4cd057 libwmapro: remove coldfire fixmul24 as it is both incorrect and unused, fix fixmul 31 comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27715 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 10:35:06 +00:00
Mohamed Tarek
4674518787 Increase wmapro decoder output sample depth to 24 bits, makes the mean error between our output and the original floating point decoder ~5e-8. (FS#11498 by Buschel)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27703 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 23:21:35 +00:00
Nils Wallménius
8082ae089d libwmapro: fix comment for coldfire fixmul31.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27626 a1c6a512-1295-4272-9138-f99709370657
2010-07-30 09:14:28 +00:00
Andree Buschmann
aa2fca384a Maintenance and minor speedup of libwmapro. Comment unused arrays, fix comment, remove tabs and introduce WMAPRO_FRACT to wma.h to remove magic numbers. Swap operands of fixmul16-call for minor speedup on ARM (+1%).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27617 a1c6a512-1295-4272-9138-f99709370657
2010-07-29 22:18:04 +00:00
Nils Wallménius
79ae416b95 libwmapro: coldfire asm for vector_fixmul_scalar, 1% speedup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27607 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 23:25:45 +00:00
Andree Buschmann
17069799a9 Refactor asm macros in libwmapro's vector_fixmul_() functions. No change to output samples.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27604 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 20:46:51 +00:00
Andree Buschmann
3bb8020f78 Add ARM assembler to libwmapro vector_fixmul_scalar(). Speeds up decoding by 1% on PP5022.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27603 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 19:36:15 +00:00
Andree Buschmann
8cc8bb9bde Submit next part of FS#11498. Unroll loop for minor speedup of libwmapro on ARM (1%).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27595 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 18:15:53 +00:00
Nils Wallménius
ac16071399 libwmapro: tiny tweak fo coldfire fixmul24 for a very slight speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27585 a1c6a512-1295-4272-9138-f99709370657
2010-07-27 06:30:38 +00:00
Nils Wallménius
30d286d859 libwmapro: slightly shorter and faster inline asm fixed point multiplication routines, speedup is ~0.5%. Also don't lie to gcc about which vars are changed by the asm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27584 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 23:00:22 +00:00
Andree Buschmann
87d59ab56c Submit part of FS#11498. Major speedup for WMA Professional on ARM and Coldfire CPUs. Introduce asm routines for multiplications, move arrays with major impact on decoding speed to IRAM. Speeds up decoding by 25% on PP5022 and 34% on mcf5249.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27582 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 21:43:07 +00:00
Nils Wallménius
025eed5c74 libwmapro: coldfire asm for vector_fixmul_window, gives a speedup of ~13%, drop the add_bias argument for the vector_fixmul_window function, since it was always 0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27573 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 11:15:25 +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
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
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
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