summaryrefslogtreecommitdiff
path: root/apps/codecs/libwmapro (unfollow)
Commit message (Collapse)Author
2012-04-25Add codecs to librbcodec.Sean Bartell
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
2011-08-18FS#12231Nils Wallménius
Centralize the selection of codec compilation flags to codec.make to avoid having to duplicate the per cpu selection logic and the build rule in the individual codec lib make files and make tweaking easier. The two special cases, libmad and libspeex were left alone. I plan to introduce a var for arm generation so that appropriate flags can be selected per generation as benchmarking results have shown that different arm arches might have different optimal flags. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30330 a1c6a512-1295-4272-9138-f99709370657
2011-05-20Use more IRAM on S5L870x to speed up wmapro by ~2%.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29906 a1c6a512-1295-4272-9138-f99709370657
2011-05-01Fix nearly all residual 'variable set but not used' warnings reported from ↵Andree Buschmann
GCC 4.6.0. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29810 a1c6a512-1295-4272-9138-f99709370657
2011-01-12Switch coldfire builds over to new toolchain using gcc 4.5.2 and binutils 2.20.1Nils Wallménius
Retune codec compiler optimizations with new compiler. Overall speedup with aac and flac getting big speedups. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29042 a1c6a512-1295-4272-9138-f99709370657
2010-11-02Using icode attribute for S5L870x is faster on some codecs. Speed up for mpc ↵Andree Buschmann
is ~3%, for aac ~1%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28453 a1c6a512-1295-4272-9138-f99709370657
2010-08-05Another minor ARM speedup for libwmapro. Drop lsb of multiplication result ↵Andree Buschmann
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-05Minor of libwmapro on ARM. Swap operands for fixmul31, is 1% faster.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27727 a1c6a512-1295-4272-9138-f99709370657
2010-08-05Remove the comment about Coldfire asm. The current code (using fixmul16 ↵Mohamed Tarek
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-05libwmapro: remove coldfire fixmul24 as it is both incorrect and unused, fix ↵Nils Wallménius
fixmul 31 comment. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27715 a1c6a512-1295-4272-9138-f99709370657
2010-08-05update wmapro's README.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27710 a1c6a512-1295-4272-9138-f99709370657
2010-08-05Fix reds. Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27707 a1c6a512-1295-4272-9138-f99709370657
2010-08-05oops ! shouldn't have removed mdct_tables.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27706 a1c6a512-1295-4272-9138-f99709370657
2010-08-05Drop the the mdct files from libwmapro since they are no longer needed.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27705 a1c6a512-1295-4272-9138-f99709370657
2010-08-04Increase wmapro decoder output sample depth to 24 bits, makes the mean error ↵Mohamed Tarek
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-04Fix red by removing sine_512 from iram (2KB). minor slowdown for PP5024 ↵Mohamed Tarek
(~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-04Use codeclib's mdct in wmapro. Input coeffs to the transform needed to be ↵Mohamed Tarek
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-03Fix the sample count in wma pro.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27687 a1c6a512-1295-4272-9138-f99709370657
2010-08-01Use higher precision for libwmapro's quant_tab[].Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27662 a1c6a512-1295-4272-9138-f99709370657
2010-07-31Housekeeping for libwmapro. Define some multiple used constants, use more ↵Andree Buschmann
precise value for cos(pi/4). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27644 a1c6a512-1295-4272-9138-f99709370657
2010-07-30libwmapro: fix comment for coldfire fixmul31.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27626 a1c6a512-1295-4272-9138-f99709370657
2010-07-29Maintenance and minor speedup of libwmapro. Comment unused arrays, fix ↵Andree Buschmann
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-29Make codeclib_misc.h include the asm headers to simplify inclusion magic.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27615 a1c6a512-1295-4272-9138-f99709370657
2010-07-29libmwapro: use codeclib asm macros for XNPROD31, speeds up decoding of a ↵Nils Wallménius
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-28libwmapro: coldfire asm for vector_fixmul_scalar, 1% speedupNils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27607 a1c6a512-1295-4272-9138-f99709370657
2010-07-28Refactor asm macros in libwmapro's vector_fixmul_() functions. No change to ↵Andree Buschmann
output samples. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27604 a1c6a512-1295-4272-9138-f99709370657
2010-07-28Add ARM assembler to libwmapro vector_fixmul_scalar(). Speeds up decoding by ↵Andree Buschmann
1% on PP5022. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27603 a1c6a512-1295-4272-9138-f99709370657
2010-07-28Refinement of initial lowmem handling for libwmapro (r27593). Set maximum ↵Andree Buschmann
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-28Correct the scaling of the coeffs to 17bits.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27599 a1c6a512-1295-4272-9138-f99709370657
2010-07-28Submit next part of FS#11498. Unroll loop for minor speedup of libwmapro on ↵Andree Buschmann
ARM (1%). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27595 a1c6a512-1295-4272-9138-f99709370657
2010-07-28Enable wmapro compilation for lowmem targets by excluding multichannel ↵Mohamed Tarek
buffers for them. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27593 a1c6a512-1295-4272-9138-f99709370657
2010-07-27libwmapro: build with -O2 for coldfire, 5% speedup.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27586 a1c6a512-1295-4272-9138-f99709370657
2010-07-27libwmapro: tiny tweak fo coldfire fixmul24 for a very slight speedup.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27585 a1c6a512-1295-4272-9138-f99709370657
2010-07-26libwmapro: slightly shorter and faster inline asm fixed point multiplication ↵Nils Wallménius
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-26Modify the wma pro decoder to produce non-interleaved samples, and work ↵Mohamed Tarek
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-26Submit part of FS#11498. Major speedup for WMA Professional on ARM and ↵Andree Buschmann
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-26libwmapro: coldfire asm for vector_fixmul_window, gives a speedup of ~13%, ↵Nils Wallménius
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-17Increase the size of quant table in libwmapro to accomodate more values for ↵Mohamed Tarek
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-17libwmapro no longer needs libm in the sim; update the makefile and ↵Mohamed Tarek
README.rockbox. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27456 a1c6a512-1295-4272-9138-f99709370657
2010-07-17libwmapro : remove dead/unneeded code from wma.[ch]Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27455 a1c6a512-1295-4272-9138-f99709370657
2010-07-17libwmapro : Rename all FIXED occurrances to int32_t and remove types.hMohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27454 a1c6a512-1295-4272-9138-f99709370657
2010-07-17More cleaning for libwmapro; use codeclib's bitstream functions and drop ↵Mohamed Tarek
those from the libwmapro. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27453 a1c6a512-1295-4272-9138-f99709370657
2010-07-15Initial cleanup for libwmapro.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27425 a1c6a512-1295-4272-9138-f99709370657
2010-07-14wmapro: silence some warnings related to function prototypes unused in rockboxRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27421 a1c6a512-1295-4272-9138-f99709370657
2010-07-14wmapro: don't force little endiannessRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27420 a1c6a512-1295-4272-9138-f99709370657
2010-07-14Add WMA Pro to the main build. WMA Pro now plays on target and decodes in ↵Mohamed Tarek
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-14Remove the floating point code from wmaprodec.c and change variable names ↵Mohamed Tarek
accordingly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27416 a1c6a512-1295-4272-9138-f99709370657
2010-07-12Complete the conversion of WMA Pro to fixed point. Floating point code is ↵Mohamed Tarek
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-10Rename/change SIMVER to APP_TYPE in the Makefiles.Thomas Martitz
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-07wmapro codec sim build needs to link with libmRafaël Carré
Override generic rule in libwmapro/*.make git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27336 a1c6a512-1295-4272-9138-f99709370657