summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libopus/celt/fixed_generic.h (follow)
Commit message (Collapse)AuthorAge
* Sync to upstream libopusNils Wallménius2014-07-13
| | | | | | | | | | | | | | | | | | | | | | Sync to commit bb4b6885a139644cf3ac14e7deda9f633ec2d93c This brings in a bunch of optimizations to decode speed and memory usage. Allocations are switched from using the pseudostack to using the real stack. Enabled hacks to reduce stack usage. This should fix crashes on sansa clip, although some files will not play due to failing allocations in the codec buffer. Speeds up decoding of the following test files: H300 (cf) C200 (arm7tdmi) ipod classic (arm9e) 16 kbps (silk) 14.28 MHz 4.00 MHz 2.61 MHz 64 kbps (celt) 4.09 MHz 8.08 MHz 6.24 MHz 128 kbps (celt) 1.93 MHz 8.83 MHz 6.53 MHz Change-Id: I851733a8a5824b61feb363a173091bc7e6629b58
* Sync libopus to upstream release 1.1Nils Wallménius2013-12-16
| | | | Change-Id: I9fea7460fc33f60faff961b3389dd97b5191463c
* Sync opus codec to upstream gitNils Wallménius2013-08-31
| | | | | | | | | | | | | | | | | | | | | | | Sync opus codec to upstream commit 02fed471a4568852d6618e041c4f2af0d7730ee2 (August 30 2013) This brings in a lot of optimizations but also makes the diff between our codec and the upstream much smaller as most of our optimizations have been upstreamed or supeceded. Speedups across the board for CELT mode files: 64kbps 128kbps H300 9.82MHz 15.48MHz c200 4.86MHz 9.63MHz fuze v1 10.32MHz 15.92MHz For the silk mode test file (16kbps) arm targets get a speedup of about 2MHz while the H300 is 7.8MHz slower, likely because it's now using the pseudostack more rather than the real stack which is in iram. Patches to get around that are upcomming. Change-Id: Ifecf963e461c51ac42e09dac1e91bc4bc3b12fa3
* opus: cf inline asm for MULT32_32_Q31Nils Wallménius2012-10-06
| | | | | | speeds up decoding of a 64kbps test file by 2MHz on h300 Change-Id: I437d05278fe1c495715cf0e3477f9960d1df9d3a
* opus: full precision MULT32_32_Q31 (32*32=64>>31) multiplicationAndree Buschmann2012-10-06
| | | | | | | | | Replace complicated macro doing three 16*16 muls and add an inline asm implementation for arm, speeds up decoding a 64kbps test file by 0.5MHz on c200 (pp) and gives slightly better precision. Change-Id: I6fc5b83c210f01bffdc38aec54cc5a8b646d8169 Signed-off-by: Nils Wallménius <nils@rockbox.org>
* opus: speed up arm asm MULT16_32_Q15Nils Wallménius2012-10-01
| | | | | | | | Reorder operands to take advantage of the early termination of multiplications. Saves 2.5MHz decoding a 64kbps opus test file on c200 (pp). Change-Id: I470266dc870ab183ece3b23426d41e2a64342a71
* opus: improve cf MULT16_32_Q15 by giving the compiler more freedomNils Wallménius2012-09-26
| | | | | | saves about 3MHz when decoding a 64kbps test file Change-Id: I10f47173ccb78e60e364662220d1db2f78dd5fdd
* opus: asm MULT16_32_Q15 for arm and cfNils Wallménius2012-09-25
| | | | | | | Speeds up decoding of a 64kbps opus test file by 34MHz on h300 (cf), 24MHz on c200 (pp) and 13MHz on fuzev1 (amsv1) Change-Id: I0dce6b3bfe6c81d0a722dfebb13891b9a428c6ba
* Initial opus codec supportFrederik M J Vestre2012-09-20
Synchronised with opus repo on github (https://github.com/freqmod/rockbox-opus) Status: * Seeking ported from speex, but fails on some cases (e.g. seek to granule 0) * ReplayGain parsing needs to be reworked, we do vorbis-style replaygain now. http://wiki.xiph.org/OggOpus#Comment_Header explicitly forbids these in favour of R128_TRACK_GAIN tag. * No optimisation yet, source files still nearly identical to opus upstream * Multi-stream opus files may not be parsed correctly Change-Id: Ia66f1027dc1d288083e3c57b2816700078376f9a Reviewed-on: http://gerrit.rockbox.org/300 Reviewed-by: Bertrik Sikken <bertrik@sikken.nl> Tested-by: Bertrik Sikken <bertrik@sikken.nl>