Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update copyright information | Marcel Holtmann | 2009-01-01 | 1 | -1/+1 |
| | |||||
* | Added possibility to analyze 4 blocks at once in SBC encoder | Siarhei Siamashka | 2009-01-01 | 1 | -49/+82 |
| | | | | | | | | | | | This change is needed for SIMD optimizations which will follow shortly. And even for non-SIMD capable platforms it still may be useful to have possibility to merge several analyzing functions together into one for better code scheduling or reusing loaded constants. Also analysis filter functions are now called using function pointers, which allows the default implementation to be overrided at runtime (with high precision variant or MMX/SSE2/NEON optimized code). | ||||
* | New SBC analysis filter function to replace current broken code | Siarhei Siamashka | 2008-12-29 | 1 | -198/+108 |
| | | | | | | | | | | | | | | This code is heavily based on the patch submitted by Jaska Uimonen. Additional changes include preserving extra bits in the output of filter function for better precision, support for both 16-bit and 32-bit fixed point implementation. Sign of some table values was changed in order to preserve a regular code structure and have multiply-accumulate oparations only. No additional optimizations were applied as this code is intended to be some kind of "reference" implementation. Platform specific optimizations may require different tricks and can be branched off from this implementation. Some extra information about this code can be found in linux-bluetooth mailing list archive for December 2008. | ||||
* | Fixed subbands selection for joint-stereo in SBC encoder | Siarhei Siamashka | 2008-12-29 | 1 | -4/+4 |
| | |||||
* | Don't decode a frame if it is too small | Marcel Holtmann | 2008-12-23 | 1 | -0/+3 |
| | |||||
* | Remove unnecessary code and fix a coding style. | Luiz Augusto von Dentz | 2008-12-18 | 1 | -14/+11 |
| | |||||
* | Fix for overflow bug in SBC quantization code | Siarhei Siamashka | 2008-12-18 | 1 | -1/+1 |
| | | | | | | | The result of multiplication does not always fit into 32-bits. Using 64-bit calculations helps to avoid overflows and sound quality problems in encoded audio. Overflows are more likely to show up when using high values for bitpool setting. | ||||
* | Bitstream writing optimization for SBC encoder | Siarhei Siamashka | 2008-12-18 | 1 | -28/+37 |
| | | | | | SBC encoder performance improvement up to 1.5x for ARM11 and almost twice faster for Intel Core2 in some cases. | ||||
* | Fix SBC gain mismatch | Marcel Holtmann | 2008-10-31 | 1 | -2/+2 |
| | |||||
* | Avoid direct inclusion of malloc.h | Marcel Holtmann | 2008-06-11 | 1 | -1/+0 |
| | |||||
* | Cidorvan found another place where the spec had us saving a bunch of values | Brad Midgley | 2008-03-08 | 1 | -24/+13 |
| | | | | that were used immediately. Just compute and use instead of saving. In the decoder. | ||||
* | decoder optimization, now using nested multiply calls | Brad Midgley | 2008-03-06 | 1 | -48/+51 |
| | |||||
* | Cidorvan's 4-subband overflow fixes | Brad Midgley | 2008-02-29 | 1 | -1/+1 |
| | |||||
* | Replace 64bits multiplies by 32bits to further optimize the code | Johan Hedberg | 2008-02-22 | 1 | -6/+4 |
| | |||||
* | Introduce sbc new API. | Luiz Augusto von Dentz | 2008-02-19 | 1 | -153/+157 |
| | |||||
* | fix for decoder noise at high bitpools | Brad Midgley | 2008-02-15 | 1 | -10/+2 |
| | |||||
* | Update copyright information | Marcel Holtmann | 2008-02-02 | 1 | -2/+1 |
| | |||||
* | change MUL/MULA semantics | Brad Midgley | 2008-01-30 | 1 | -168/+171 |
| | |||||
* | one more .X 32-bitism | Brad Midgley | 2008-01-29 | 1 | -1/+1 |
| | |||||
* | revert 16-bit state.X change (bad on arm) | Brad Midgley | 2008-01-29 | 1 | -4/+4 |
| | |||||
* | revert arm conditional code | Brad Midgley | 2008-01-28 | 1 | -12/+1 |
| | |||||
* | change function signature so the arm optimization will work | Brad Midgley | 2008-01-28 | 1 | -1/+12 |
| | |||||
* | remove 16x16 mult optimization--gcc actually generates more costly code | Brad Midgley | 2008-01-28 | 1 | -93/+93 |
| | |||||
* | Whitespace cleanup | Johan Hedberg | 2008-01-28 | 1 | -1/+1 |
| | |||||
* | avoid an (unlikely) overflow | Brad Midgley | 2008-01-27 | 1 | -2/+2 |
| | |||||
* | get 32-bit products whenever we're sure the multiplicands are both 16 bits | Brad Midgley | 2008-01-27 | 1 | -95/+95 |
| | |||||
* | shorten the encoder tables to 16 bits, take out mula32/mul32 for now for ↵ | Brad Midgley | 2008-01-26 | 1 | -67/+67 |
| | | | | simplicity | ||||
* | pcm input array should be 16 not 32 bits | Brad Midgley | 2008-01-26 | 1 | -75/+75 |
| | | | | use 32-bit product when multiplying two values limited to 16 bits each | ||||
* | update copyrights | Brad Midgley | 2008-01-19 | 1 | -1/+1 |
| | |||||
* | coding style | Brad Midgley | 2008-01-14 | 1 | -7/+4 |
| | |||||
* | comment typo | Brad Midgley | 2008-01-14 | 1 | -1/+1 |
| | |||||
* | fix initialization | Brad Midgley | 2008-01-14 | 1 | -1/+4 |
| | |||||
* | take out memmove in sbc analyze | Brad Midgley | 2008-01-14 | 1 | -21/+29 |
| | |||||
* | tweak to the memmove for 4 subbands | Brad Midgley | 2008-01-11 | 1 | -1/+1 |
| | |||||
* | optimizations: use memmove instead of a loop, unroll short loop | Brad Midgley | 2008-01-08 | 1 | -11/+22 |
| | |||||
* | smooth out last shift-in-place wrinkle | Brad Midgley | 2007-12-14 | 1 | -11/+2 |
| | |||||
* | push in-place-shift optimization up into scalefactors section | Brad Midgley | 2007-12-14 | 1 | -7/+13 |
| | |||||
* | shift-in-place opt is back in, with a bugfix for the 4-subband case | Brad Midgley | 2007-12-14 | 1 | -7/+15 |
| | |||||
* | coding style on ?: | Brad Midgley | 2007-12-14 | 1 | -1/+1 |
| | |||||
* | be more strict about calculating from joint since client may set it to | Brad Midgley | 2007-12-14 | 1 | -1/+1 |
| | | | | a funky value other than 0/1 | ||||
* | roll back the shift-in-place bitpack optimization while we figure out if | Brad Midgley | 2007-12-14 | 1 | -7/+6 |
| | | | | it tickles a bug or creates a bug for 4 subbands | ||||
* | don't need to memset the data header | Brad Midgley | 2007-12-13 | 1 | -8/+4 |
| | |||||
* | combine two conditionals in bit packing | Brad Midgley | 2007-11-30 | 1 | -5/+1 |
| | |||||
* | change inner loop bit packing to use shift-in-place instead of complex ops | Brad Midgley | 2007-11-30 | 1 | -7/+8 |
| | |||||
* | don't use the audio_sample array inside the frame struct | Brad Midgley | 2007-11-29 | 1 | -7/+5 |
| | | | | it's totally unnecessary to keep all these temporary results around | ||||
* | Remove unnecessary checks for output buffer length and some optimizations. | Luiz Augusto von Dentz | 2007-11-29 | 1 | -26/+9 |
| | |||||
* | eliminate another max_bitneed loop, eliminate extraneous loop termination tests | Brad Midgley | 2007-11-27 | 1 | -11/+11 |
| | |||||
* | eliminate extra loop for bitneed compute | Brad Midgley | 2007-11-27 | 1 | -13/+9 |
| | | | | make a couple while loops easier to read as for loops | ||||
* | combine the blk loops inside the joint conditional | Brad Midgley | 2007-11-27 | 1 | -10/+7 |
| | |||||
* | rework joint subband test--uses a lot less stack space, simplify multiple | Brad Midgley | 2007-11-27 | 1 | -27/+31 |
| | | | | loops into one, unroll one tiny loop |