Mohamed Tarek
4ff2cf4f0c
WMA Voice now plays and seeks in the sim. The code is still in floating point, and is not added to the main build. There's still a bug with the decoder in the current state that it outputs a fewer number of samples than ffmpeg's.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27744 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 17:55:02 +00:00
Mohamed Tarek
eb369699c6
Remove dsputil.[ch], they are not needed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27743 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 13:08:38 +00:00
Mohamed Tarek
fb26f52697
Add missing files from ffmpeg, write a README.rockbox and a makefile.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27742 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 13:06:05 +00:00
Mohamed Tarek
e3a6610ae7
Mistakenly committed a modification. The files in libwmavoice currently are exact copies of the ffmpeg files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27741 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 11:46:15 +00:00
Mohamed Tarek
5f9f6629fa
Initial commit for a WMA Voice decoder; Import a minimal set of files for libwmavoice from ffmpeg r24734 dated 2010-Aug-07.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27740 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 11:42:00 +00:00
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
430eb651a2
update wmapro's README.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27710 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 06:37:53 +00:00
Mohamed Tarek
9176f35f77
Fix reds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27707 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 06:17:18 +00:00
Mohamed Tarek
9dddfa78e6
oops ! shouldn't have removed mdct_tables.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27706 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 06:10:14 +00:00
Mohamed Tarek
12ecbf82fc
Drop the the mdct files from libwmapro since they are no longer needed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27705 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 06:02:26 +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
Mohamed Tarek
2054ca8b98
Fix red by removing sine_512 from iram (2KB). minor slowdown for PP5024 (~0.05MHz) on a 320kbps sample, and ~0.03MHz slowdown for Coldfire on a 55kbps sample.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27702 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 23:14:31 +00:00
Mohamed Tarek
3bbbb96395
Use codeclib's mdct in wmapro. Input coeffs to the transform needed to be scaled down first by (log2(frame_size) - 3). Increases decoding speed by 1.3MHz on PP5022 and saves ~32KB that were previously needed by the mdct tables. (FS#11511 by Buschel and myself)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27701 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 22:29:50 +00:00
Mohamed Tarek
5da2304f85
Fix the sample count in wma pro.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27687 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 22:59:03 +00:00
Rafaël Carré
29b2a049de
faad: move inline function in header
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27683 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 17:59:59 +00:00
Rafaël Carré
2c00cb5e83
wma: move inline functions into .h file
...
use 'static inline' instead of GCC extension 'inline'
some GCC don't support this (android NDK for example)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27679 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 17:41:34 +00:00
Nils Wallménius
d42fd744e6
flac: error out if max blocksize is larger than we can handle.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27676 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 09:48:57 +00:00
Thomas Martitz
240923a801
Rockbox as an application: Commit current Android port progress.
...
General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too).
Problems:
- Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now.
- no cabbiev2 (only some preliminary files for it), no other default theme.
- screen flickers sometimes if the updates are too frequent
- no multi screen apk/package
- strange behavior when a phone call comes in
The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder.
I've put a small README in there for instructions. There are some steps needed after the make part, which are described there,
and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657
2010-08-02 20:34:47 +00:00
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