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
Mohamed Tarek
5dd8c53b96
Modify the wma pro decoder to produce non-interleaved samples, and work directly on the buffers in WMAProDecCtx instead to avoid the redundant copying of the output data. ~10% speedup (-2MHz) on pp502x and ~1.5% speedup (-3.8Mhz)
...
on mcf2049.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27583 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 22:03:20 +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
6087d89603
libatrac: Coldfire asm for atrac3_iqmf_dewindowing, speeds up decoding of my atrac3 rm file by 45%. Based on preliminary patch by Andree Buschmann
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27578 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 17:22:35 +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
Rafaël Carré
fc243f8e55
aiff codec: small clean up
...
- Use printf format width specifier for printing codecs
- Use sizeof() to get the number of supported formats
- Avoid a useless comparison
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27571 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 08:59:21 +00:00
Nils Wallménius
6325ef978b
codecs: mark some local variables with 'static'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27566 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 22:24:53 +00:00
Nils Wallménius
97b9a4bad8
libatrac: Set the emac mode on coldfire, fixes whitenoise output if playing an atrac file after using a codec that sets macsr to integer mode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27536 a1c6a512-1295-4272-9138-f99709370657
2010-07-23 23:47:22 +00:00
Andree Buschmann
7c33e1b4fe
Introduce macros for identical multiply-add blocks.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27535 a1c6a512-1295-4272-9138-f99709370657
2010-07-23 22:06:45 +00:00
Nils Wallménius
f3a0ae59f5
libmad: small tweak to coldfire inline asm, gives a slight speedup and now builds fine with gcc 4.4.4
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27529 a1c6a512-1295-4272-9138-f99709370657
2010-07-23 08:47:31 +00:00
Andree Buschmann
3f0b93c011
Submit FS#11491. Refactor coldfire inline asm within libmad's synth_full() to gain better readability. Thanks to Nils Wallménius for supporting.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27524 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 18:57:31 +00:00
Nils Wallménius
4f5b390a6d
Convert inline coldfire assembler to a 'real' assembler function, with tweaks by Buschel. Speeds up mpc decoding by ~1% on h300.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27504 a1c6a512-1295-4272-9138-f99709370657
2010-07-20 23:35:07 +00:00
Nils Wallménius
f32294d6ab
Shorten: tweak some inline asm, use local lables to not cause problems when the function gets inlined, mark it as inline, tweak clobbers and use lea instead of add in one place. Fixes problems when building libffmpegFLAC with newer gcc.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27503 a1c6a512-1295-4272-9138-f99709370657
2010-07-20 08:18:04 +00:00
Jens Arnold
2e73e53679
Make libdemac compile again on OSX x86 and x86_64 by replacing .rept with fancy preprocessor stuff.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27490 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 10:04:54 +00:00
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