Commit graph

1441 commits

Author SHA1 Message Date
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
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
Andree Buschmann
4158192975 Submit FS#11450. Change compile option for libfaad to -O2 for ARM target and -O1 for other CPUs. This speeds up decoding by 1-5%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27297 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 19:29:09 +00:00
Rafaël Carré
3982f1e932 Simulator: build recording code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27280 a1c6a512-1295-4272-9138-f99709370657
2010-07-04 13:37:52 +00:00
Frank Gevaerts
b8286d45be Move -Wl,-z,defs to GLOBAL_LDOPTS (instead of GCCOPTS), to avoid noise in older gcc output when not linking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27260 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 20:58:22 +00:00
Nils Wallménius
a89fea6754 We already build with -fomit-frame-pointer so there's no need to specify that again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27255 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 11:36:35 +00:00
Andree Buschmann
1e5327eee0 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27232 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 04:40:24 +00:00
Andree Buschmann
bcbe317565 r27225 broke AAC HE profile decoding due to missing check for buffersize. Introduce a check of needed buffersize and decide whether to use a static buffer from IRAM or faad's internal allocation routines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27231 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 04:35:37 +00:00
Andree Buschmann
5633ece5a8 Remove false comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27228 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 22:32:46 +00:00
Andree Buschmann
c794c1feae Fix red and yellow. Needed to remove one codebook from IRAM due to full IRAM on iPod4G.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27226 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 21:39:55 +00:00
Andree Buschmann
52f17dfe9d Submit FS#11445. Speed up of faad (aac) decoder via several optimizations like refactoring some requantization routines, moving several arrays and code tables to IRAM, using an optimized swap32() function and inlining several huffman decoder functions. Decoding is sped up by ~10% (PP5002, PP5022, MCF5249) and ~22% (MCF5250).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27225 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 21:18:42 +00:00
Nils Wallménius
01f91ed14d Factor out sane code list bisection code and use instead of insane code, clean up some tests for readability's sake. Gives a small speedup on h300 (coldfire, 0.1-0.6MHz) and a tiny speedup on gigabeat s (armv6 0.1-0.2MHz), no real difference on PP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27223 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 20:31:07 +00:00
Rafaël Carré
a64fa107d1 mp3 encoder (codec): left and right channels were inverted in mono
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27219 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 14:21:28 +00:00
Rafaël Carré
7da040bf22 encoders are not built in sim builds
no need to check for SIMULATOR in the .c files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27209 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 08:40:00 +00:00
Nils Wallménius
7c716d6eac Clean up a leftover preprocessor symbol and improve the workaround for the 'arm-elf and static functions in iram' quirk so it doesn't affect builds with eabi toolchain (only affects nano2g).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27176 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 14:57:52 +00:00
Andree Buschmann
df238bcaf5 Remove unneeded libmad files from build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27163 a1c6a512-1295-4272-9138-f99709370657
2010-06-28 06:28:05 +00:00
Andree Buschmann
c6ced1c466 Comment further unused code in libmad.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27160 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 18:59:54 +00:00
Andree Buschmann
4c026f0c7f Comment unused code in libmad. Clean up initialization and memset'ing of decoder arrays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27159 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 18:11:07 +00:00
Nils Wallménius
99517d6319 Fix inline asm argument. Shouldn't have much impact in practice but might save a load if gcc is clever.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27157 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 15:15:46 +00:00
Andree Buschmann
96233f9cf7 Refacture libmad's synthesis filter via macro usage. Comment unused special synthesis filter for half bandwidth.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27153 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 11:21:44 +00:00
Andree Buschmann
d7ee0fe076 Housekeeping. Comment musepack code seqments unused in rockbox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27111 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 18:48:04 +00:00
Andree Buschmann
fc1fab4776 Clean up comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27078 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 06:25:18 +00:00
Andree Buschmann
a3541c07de Disable unneeded parts of mpc's file-I/O interface.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27024 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 18:45:34 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Mohamed Tarek
e481e887db Add a patch file in libwmapro to make it easier to add the library and the decoder to the main build and modify README.rockbox accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27012 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 12:38:08 +00:00
Mohamed Tarek
8eeec17041 Remove the stubbed main() from wmaprodec.c since it's useless now and remove Makefile for the same reason.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27010 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 12:29:48 +00:00
Mohamed Tarek
e576315c7e Fix reds. (Actually removed wmapro from main build, which was added in a previous commit)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27008 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 11:08:33 +00:00
Mohamed Tarek
816fca820c Wrote apps/codecs/wmapro.c and modified libwmapro to make the codec work in the sim. Neither libwmapro nor wmapro.c have been added to the main build yet, codecs.make should be edited to compile both with rockbox.
current status of the decoder :
- Plays and seeks in the sim
- Still in floating point

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27006 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 10:48:34 +00:00
Andree Buschmann
dc8af759ce Fix FS#11416. Resuming mpc was broken since r26032 due to false assumption of amount of buffered data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26990 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 13:02:31 +00:00
Nils Wallménius
273d05906d libmad: Optimize away 2 instructions from coldfire III_imdct, no measurable speed difference.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26918 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:47:37 +00:00
Rafaël Carré
c0bd4173aa Make sure files which aren't windows-specific use \n line endings only
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26893 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:59:51 +00:00
Nils Wallménius
3d2b1cfa6e ARMv6 vector mutiplication asm, speeds up vorbis decoding about 0.1MHz on gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26892 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:49:39 +00:00
Nils Wallménius
b6c17c2c82 Delete some duplicate inline asm macros since they now live in the codeclib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26891 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:01:20 +00:00
Nils Wallménius
7afea91560 ARMv6 versions of X(N)PROD31 macros and MULT32 macro. Saves about 1MHz or 3% decoding vorbis on gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26889 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 15:24:23 +00:00
Andree Buschmann
4b0c1cf23b Clean up libmad/mad.h to avoid double or inconsistent definitions of types, functions and structs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26838 a1c6a512-1295-4272-9138-f99709370657
2010-06-14 05:57:20 +00:00
Michael Sevakis
6c921f5e04 Build h10 GB with EABI toolchain. Remove some pointless ICODE attributes from mp3_enc.codec and, to make it build, move one function out of IRAM there since it really shouldn't matter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26800 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 21:21:36 +00:00
Michael Sevakis
60f843bf18 Configure Gigabeat S with EABI compiler by default. Implement the INIT section that this enables (due to selective need for long calls). Remove pcm_postinit from INIT section since it's asynchronous. Disable strict aliasing on SPC codec for now just to shut it up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26779 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 14:39:35 +00:00
Rafaël Carré
45c7498f59 FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+

Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Andree Buschmann
00e01e82cb Submit FS#11365. Speed up mp3 decoding on ARM processors. It is faster to use the C-implementation of dct32 compiled with -O1 as the asm implementation of dct32 compiled with -O2. Configuration for Coldfire processors is untouched. In the new configuration the stack of the COP decoding thread needs to be increased on dualcore targets. Speed is increasing by up to 0.9 MHz (-O2 against -O1 using eabi).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26746 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 19:02:27 +00:00
Andree Buschmann
e02ceefdbc Submit FS#11381. Use -O2 for ffmpegFLAC on ARM targets. This will give reasonable speed-up (+3% on PP502x) for svn and major speed-up when switching to eabi tool chain (+9% on PP502x). Coldfire was tested to be faster when keeping -O1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26712 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 06:21:28 +00:00
Andree Buschmann
45ab395c2f Some asm code beautification in the mpc decoder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26592 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 17:52:31 +00:00
Michael Sevakis
06a98b15bc SPC codec: The inline asm 'memory' clobbers should be unneeded since the ASM either does not modify memory (only loads values), or it modifies things only other ASM blocks deal with and the operand constraints mark them as in/out/both.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26538 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 02:20:19 +00:00
Yoshihisa Uchida
6ebe76c147 tta codec: optimize for arm target. pp502x: ~1% speed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26478 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 10:54:11 +00:00
Rafaël Carré
0ea7905395 ARM: use BX when branch to an address in register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26432 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 15:14:26 +00:00
Andree Buschmann
6805448195 Correction to clobber lists of several codec's inline assembly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26376 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 15:00:10 +00:00
Andree Buschmann
9ab57e510e Small changes to asm for better readability.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26375 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 14:56:25 +00:00
Mohamed Tarek
76aeb6028e Rename seek() to asf_seek()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26237 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 16:05:28 +00:00
Mohamed Tarek
546edf3621 Move seek() from wma.c to libasf since it's really ASF-specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26235 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 15:51:22 +00:00
Nils Wallménius
04bd1a045f fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26085 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 12:34:43 +00:00
Nils Wallménius
4f22052b5a Since we no longer use -fno-strict-aliasing in CFLAGS we don't need to strip it out for the codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26084 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 11:57:47 +00:00
Jeffrey Goode
6083f3dff5 Fix logf lines in codecs (type mismatches)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26038 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 01:57:32 +00:00
Andree Buschmann
db42781ca8 Fix FS#11261 (slow seek forward in mpc files). Since the introduction of the sv8 library mpc did not use efficient buffering when seeking forward. With this change the implementation will not flush the buffer on each frame but will keep the already buffered data as long as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26032 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 22:06:28 +00:00
Yoshihisa Uchida
9fedf45814 updates the README document.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26017 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:24:36 +00:00
Nils Wallménius
800e710258 Set up EMAC mode in cook, fixing whitenois when transitioning from a codec using different emac mode.'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26016 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:08:59 +00:00
Yoshihisa Uchida
32794a9eef fix: The second playback time is not correct in playing TTA musics continuously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26015 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:08:56 +00:00
Nils Wallménius
abd6b147cc Restor setting of EMAC mode on coldfire lost in r25056 fixes whitenoise when transitioning from a codec using a different EMAC mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26013 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 10:48:26 +00:00
Michael Giacomelli
8cb4183839 Put decoder array into IRAM. Improves Coldfire (h300) performance 218MHz ->102.84 MHz. Should be realtime on all CF targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25998 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 18:37:06 +00:00
Yoshihisa Uchida
0f5c6d47d4 add True Audio (TTA) codec
decoding speed iPod video ~153%
But in some players, the decoding speed is not enough.
(e.g., H180 52.4% (thanks amiconn), H300 55.09% (thanks n1s))

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25994 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 12:40:09 +00:00
Nils Wallménius
889b4a8ce8 Two tiny tweaks to some arm asm
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25993 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 09:44:05 +00:00
Nils Wallménius
88bd8e74c4 Some asm for mdct on coldfire, speeds up vorbis decoding by about 0.3MHz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25984 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 08:03:42 +00:00
Nils Wallménius
85f0873682 Simplify special case function, speedup of about 0.2MHz on both coldfire and pp decoding the files in the test set
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25977 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 22:41:17 +00:00
Jens Arnold
08d3c0be37 Revert r25929. Test have shown that the assembler code is more than 50% faster than the C code both on ARM7TDMI (tested on PP5002 and PP5022) and on ARM1136JF-S (tested on Gigabeat S). If it is slower on ARM9*, it should be disabled for ARM9 only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25937 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 19:05:25 +00:00
Rafaël Carré
aee2dcf958 flac: remove ARM assembly
Using current gcc it only makes decoding a tiny bit slower
Using eabi gcc it makes no speed difference
Tested on fuzev1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25929 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 13:01:40 +00:00
Rafaël Carré
b24fac4ca6 wmafixed.h: remove double declaration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25925 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 10:20:55 +00:00
Mohamed Tarek
270f136fd2 Fix ffmpeg revision number in libwmapro/README.rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25923 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 21:52:35 +00:00
Mohamed Tarek
cd4d80aeba nomsg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25922 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 21:42:09 +00:00
Andree Buschmann
452c5b2197 Unroll mpc's requantization loops for some (minor) speed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25891 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 21:36:55 +00:00
Andree Buschmann
f2b1f8d768 Refactor mpc's requantization to use identical macros for each subframe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25887 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 19:58:34 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Mohamed Tarek
7f9d30ba3e missed a comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25789 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:13:27 +00:00
Mohamed Tarek
2fa864b9e6 Remove unnecessary parameter (struct codec_api* ci) passed to libasf functions, and consequently remove the no-longer needed #ifdef in apps/codecs/libasf/asf.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25788 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:07:11 +00:00
Andree Buschmann
5768f2b145 Remove residual tabs in codec directory.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25785 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 19:16:47 +00:00
Andree Buschmann
b95326da29 Change naming of arm asm routines in libmad's synthesis to match their functionality.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25784 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 19:01:37 +00:00
Mohamed Tarek
7aaae54afc - Modify metadata/asf.c to use libasf.
- Modify the files in libwma to use libasf.
- Remove apps/codecs/libwma/asf.h since it's not used now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25783 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 18:27:01 +00:00
Mohamed Tarek
80b9bb4f17 Add the Rockbox GPL header to apps/codecs/libasf/asf.c and fix the one in apps/codecs/wma.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25781 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 17:30:41 +00:00
Mohamed Tarek
792ae6b1bd - Factor out container specific code from apps/codecs/wma.c.
- Create an independent asf packet-parsing library in apps/codecs/libasf.
- Modify wma.c to use the newly created libasf.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25780 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 17:19:42 +00:00
Andree Buschmann
13075dea87 Fix a bug introduced with r25777.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25779 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 16:32:05 +00:00
Mohamed Tarek
703608d8c5 Fix intdentation apps/codecs/libwma/asf.h, no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25778 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 15:56:35 +00:00
Andree Buschmann
eec5eb9ecc Refacturate arm version of libmad's synthesis filter. Only two asm macros left, renamed asm-implementation for better clarity. No change in speed or precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25777 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 15:45:43 +00:00
Michael Sevakis
9f157ad584 Do some SPC codec optimizing for ARMv6 (as a training exercise), tweak realtime BRR for all CPU that use it, add Gaussian ASM optimization for all ARM that can use it. Add some LIKELY/UNLIKELY branch hints. On Gigabeat-S gives +22% speedup. For Gigabeat F, about +5% speedup. For less-powerful players, no real change aside possibly from branch hints.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25771 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 02:44:45 +00:00
Mohamed Tarek
fe147cec65 Modify the ffmpeg source files in apps/codecs/libwmapro in order to compile the codec standalone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25764 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 12:20:25 +00:00
Mohamed Tarek
cf43e5083b Add libwmapro to apps/codecs. These files comprise a set of unmodified files needed from ffmpeg's libavcodec and libavutil to compile and use the wma pro decoder standalone. The files were taken from ffmpeg's svn r22886 dated 15 April 2010.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25763 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 11:11:56 +00:00
Mohamed Tarek
67f7ecf731 Revert r25739 which added libwmapro to apps/codecs, in preparation to commit the unmodified ffmpeg files first, for the sake of a consistent/complete svn history.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25758 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 15:14:43 +00:00
Mohamed Tarek
dda7fab1d6 Add libwmapro to trunk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25739 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 18:04:34 +00:00
Bertrik Sikken
1cd1e66ed3 Clean up libmusepack: move declarations to internal.h and set svn properties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25676 a1c6a512-1295-4272-9138-f99709370657
2010-04-18 18:12:32 +00:00
Yoshihisa Uchida
94fb09316a fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25291 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 10:47:09 +00:00
Yoshihisa Uchida
7a3822c8b0 fix bug: WAV file playback does not resume (FS#11077)
Not only WAV but also Sun audio, SMAF, vox and WAV64 can resume.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25289 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 10:02:05 +00:00
Andree Buschmann
cfe51fb0e8 Fix FS#11127. r25165 introduced a bug to the aac codec, which lead to not resetting the time position.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25249 a1c6a512-1295-4272-9138-f99709370657
2010-03-19 15:27:10 +00:00
Michael Giacomelli
70ac57b95b Change various CPU_ARM defines to _ARM_ASSEM_ to be more consistent with the rest of Tremor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25214 a1c6a512-1295-4272-9138-f99709370657
2010-03-16 04:47:24 +00:00
Andree Buschmann
c18e80e127 Implement resume for alac codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25169 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:05:12 +00:00
Magnus Holmgren
a0692a40b2 Make resume handling in the AAC codec less confusing. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25165 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 13:37:41 +00:00
Andree Buschmann
1f725ebe34 Fix FS#11103. Resuming musepack files was handled wrong since ages. This change converts the decoders exact sample position to an estimated byte position within the file. The resume position in samples is calculated the reverse way,
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25164 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 13:32:16 +00:00
Yoshihisa Uchida
0996bbd278 corrects the smaf parser the following.
- It is normally retrieved even if the position of wave data is not in given position from the head.
- The problem that artist/title/composer cannot be given normally when the character code != iso8859-1, utf-8.
- The problem that the position of chunk does not given correctly some mmf files.
- artist/title/composer stored in not id3v1buf but id3v2buf.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25141 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 05:53:54 +00:00
Yoshihisa Uchida
4446d1bc85 reduce firmware and sun audio codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25140 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 05:19:40 +00:00
Andree Buschmann
24c0474472 Fix comment on interpolation macro.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25136 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 20:09:55 +00:00
Andree Buschmann
76e8701626 Fix playback of atrac3 joint stereo encoded files. Define the interpolation macro in the right way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25135 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 20:07:28 +00:00
Andree Buschmann
2ac401f486 Make atrac3 streams in wav containers work again (error was introduced with r24782). Add additional info to atrac3 debug information.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25134 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 18:47:13 +00:00
Andree Buschmann
c82cac4c3d Restore musepack's IRAM configuration to pre r25127 for non PP5022/24.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25133 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 18:36:01 +00:00
Yoshihisa Uchida
2a9c42d1ed libpcm: output depth corrects for the sign 1bit. linear pcm corrects bits shift.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25131 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 11:34:09 +00:00
Andree Buschmann
263e4d5cbf Minor optimization for musepack codec through moving functions to IRAM on PP processors. Speed ups codec by 0.25 MHzon PP5022.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25127 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 20:58:38 +00:00
Andree Buschmann
398ec52817 Refacturate IRAM configuration for musepack codec. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25126 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 20:19:31 +00:00
Jens Arnold
029e74866a Move (small) data into DRAM on PP5020, it's ~4.5% faster that way. Closes about half of the performance gap towards PP5022. The (relatively large) buffers for decoded data stay in IRAM, as does the reciprocal table. Clarify some comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25108 a1c6a512-1295-4272-9138-f99709370657
2010-03-10 21:39:12 +00:00
Nils Wallménius
c7f4773cf6 Simplify makefile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25084 a1c6a512-1295-4272-9138-f99709370657
2010-03-09 03:20:14 +00:00
Rafaël Carré
d2c1765800 Use bx lr unconditionally in setjmp_arm.S
Rockbox doesn't support ARMv4 non T CPUs

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25083 a1c6a512-1295-4272-9138-f99709370657
2010-03-09 00:22:23 +00:00
Andree Buschmann
4ad89fdf6d Use more IRAM for musepack on S5L870X CPUs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25064 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 21:38:42 +00:00
Andree Buschmann
fb70ec6ff9 Use larger IRAM for M5/X5 in vorbis.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25061 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 21:02:55 +00:00
Andree Buschmann
e0b5ed8f01 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25059 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:44:50 +00:00
Andree Buschmann
3200c77df5 Move WMA decoder array to IRAM on M5/X5 for better performance.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25058 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:35:21 +00:00
Andree Buschmann
b3d9578c27 Major change to musepack decoder: Import v1.3.0 (r458 from svn.musepack.net) to rockbox. Several adaptions in the musepack decoder were made to get the library work and perform fast under rockbox on several targets. With this change mpc sv8 is supported, including seek, replay gain and metadata support. The decoding speed is a 1-4% lower than the last implementation. Reason for this is main restructuring in the bitstream demuxer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25056 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 19:34:44 +00:00
Yoshihisa Uchida
1e9789879f ima adpcm/swf adpcm: corrects the problem the noise occurs after the play ends.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25052 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 07:27:45 +00:00
Yoshihisa Uchida
f640b89a12 wave codec
- does not get dwAvgBytesPerSec

wave/aiff/smaf/wave64 codec
- corrects the problem that codec_main() returns invalid value.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25051 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 07:15:21 +00:00
Yoshihisa Uchida
8050d47a4e When seek action failed, play time is invalid.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25041 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 08:13:56 +00:00
Yoshihisa Uchida
ff733b5f89 libpcm: decoded pcm depth corrects.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25040 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 05:51:24 +00:00
Michael Giacomelli
43ed678b46 strip trailing space
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25037 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 22:03:34 +00:00
Michael Giacomelli
6fc422e940 Fix red by moving fsincos back to libwma
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25036 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 21:49:40 +00:00
Michael Giacomelli
4e797175f1 Remove unused GPL code from ffmpeg mdct library in order to restore it to LGPL.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25035 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 21:37:46 +00:00
Nils Wallménius
b382d8334b Fix broken whitespace after r24862
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25031 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 09:48:07 +00:00
Nils Wallménius
a4c3913afd Remove leftover unused buffer from the mdctexp branch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25022 a1c6a512-1295-4272-9138-f99709370657
2010-03-04 06:31:34 +00:00
Jens Arnold
5c80a838e4 libdemac: Separate filtering calls per channel in preparation for the dual-core split on PP. This also means less inlining, and hence speeds up decoding on single core slightly, due to better caching behaviour.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25005 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 21:20:13 +00:00
Jens Arnold
0030ae28b5 Get rid of .rept in inline asm() blocks where possible. Using .rept causes gcc to wrongly estimate the size of the asm(), leading to (potential) compilation problems. This is necessary for the upcoming restructuring, and should fix ARMv6+ sim builds as well. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25004 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 20:52:02 +00:00
Yoshihisa Uchida
942d7c6bcc fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24962 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 10:54:09 +00:00
Dave Chapman
9367aa3648 Fix 64-bit sim warning introduced in r24955
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24960 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 09:55:33 +00:00
Yoshihisa Uchida
561cb2c401 Add wave64(.w64) codec (FS#11022)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24959 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:48:07 +00:00
Yoshihisa Uchida
8c5eaa35ec Add vox (Dialogic telephony formats) codec add. (FS#11021)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24956 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:13:30 +00:00
Yoshihisa Uchida
4e3c807466 Add Sun Audio codec. (FS#10433)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24955 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 07:22:20 +00:00
Bertrik Sikken
9502021590 Add missing #include in libpcm codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24887 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 19:02:14 +00:00
Yoshihisa Uchida
78aced2831 fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24881 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 13:08:31 +00:00
Yoshihisa Uchida
45e009a364 add SMAF codec (.mmf extension)(FS#10432)
This codec supports only wave data (ADPCM and PCM).
It does not support MIDI, picture, and movie.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24878 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 11:46:29 +00:00
Yoshihisa Uchida
aa58715a54 libpcm: deletes PCM_CHUNK_SIZE.
aiif.c/wav.c: deletes #include <inttypes.h>.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24877 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 11:30:16 +00:00
Andree Buschmann
3f5f3524d4 Change liba52 and libmad to the original 8-spaced tabbing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24863 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 21:02:57 +00:00