Andree Buschmann
f84cb98b37
Use higher precision for libwmapro's quant_tab[].
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27662 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 22:02:57 +00:00
Rafaël Carré
2e7d92fef7
mpa: remove bad enum comparison spotted by gcc 4.5.1
...
MAD_FLAG_INCOMPLETE only applies to frame header and isn't an error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27655 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:08:25 +00:00
Andree Buschmann
f971deed6d
Housekeeping for libwmapro. Define some multiple used constants, use more precise value for cos(pi/4).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27644 a1c6a512-1295-4272-9138-f99709370657
2010-07-31 21:07:17 +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
1de66faa8e
Make codeclib_misc.h include the asm headers to simplify inclusion magic.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27615 a1c6a512-1295-4272-9138-f99709370657
2010-07-29 12:52:04 +00:00
Nils Wallménius
e436483b66
libmwapro: use codeclib asm macros for XNPROD31, speeds up decoding of a 55kbps wma pro file by 40% on h300.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27612 a1c6a512-1295-4272-9138-f99709370657
2010-07-29 11:01:30 +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
2fefcdf31c
Refinement of initial lowmem handling for libwmapro (r27593). Set maximum supported channels to 2 instead of 8 for low memory targets. This solution saves more RAM than the former solution and does avoid possible NULLPTR access. As add-on remove tabs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27602 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 19:01:45 +00:00
Mohamed Tarek
7722c1d459
Correct the scaling of the coeffs to 17bits.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27599 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 18:39:10 +00:00
Andree Buschmann
ae37fadb1b
Submit FS#11502. Minor optimization to Coldfire assembler in libatrac's fixmul16(). Thanks to Nils Willménius.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27596 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 18:17:56 +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
Mohamed Tarek
f2ed7ffaaa
Enable wmapro compilation for lowmem targets by excluding multichannel buffers for them.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27593 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 14:01:10 +00:00
Mohamed Tarek
b1fefcf3e9
Modify WMA to produce non-interleaved stereo output (FS#11503 by me). speeds up wma by 3.5MHz on CF and 2.2MHz on ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27591 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 12:45:21 +00:00
Nils Wallménius
24bde73d1e
libwmapro: build with -O2 for coldfire, 5% speedup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27586 a1c6a512-1295-4272-9138-f99709370657
2010-07-27 06:48:15 +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
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