OSDN Git Service

android-x86/external-bluetooth-sbc.git
12 years agosbc: SIMD-friendly variant of SBC encoder analysis filter
Siarhei Siamashka [Thu, 15 Jan 2009 17:11:23 +0000 (19:11 +0200)]
sbc: SIMD-friendly variant of SBC encoder analysis filter

Added SIMD-friendly C implementation of SBC analysis filter (the
structure of code had to be changed a bit and constants in the
tables reordered). This code can be used as a reference for
developing platform specific SIMD optimizations. These functions
are put into a new file 'sbc_primitives.c', which is going to
contain all the basic stuff for SBC codec.

12 years agosbc: Fix for big endian problems in SBC codec
Siarhei Siamashka [Wed, 7 Jan 2009 12:28:48 +0000 (14:28 +0200)]
sbc: Fix for big endian problems in SBC codec

12 years agosbc: Fixed correct handling of frame sizes in the encoder
Christian Hoene [Mon, 5 Jan 2009 12:26:08 +0000 (13:26 +0100)]
sbc: Fixed correct handling of frame sizes in the encoder

12 years agosbc: Use of constant shift in SBC quantization code to make it faster
Siarhei Siamashka [Sun, 4 Jan 2009 01:11:12 +0000 (03:11 +0200)]
sbc: Use of constant shift in SBC quantization code to make it faster

The result of 32x32->64 unsigned long multiplication is returned
in two registers (high and low 32-bit parts) for many 32-bit
architectures. For these architectures constant right shift by
32 bits is optimized out by the compiler to just taking the high
32-bit part. Also some data needed at the quantization stage is
precalculated beforehand to improve performance.

12 years agosbc: Update copyright information
Marcel Holtmann [Thu, 1 Jan 2009 18:33:20 +0000 (19:33 +0100)]
sbc: Update copyright information

12 years agosbc: Added possibility to analyze 4 blocks at once in SBC encoder
Siarhei Siamashka [Wed, 31 Dec 2008 07:14:25 +0000 (09:14 +0200)]
sbc: Added possibility to analyze 4 blocks at once in SBC encoder

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).

12 years agosbc: New SBC analysis filter function to replace current broken code
Siarhei Siamashka [Sun, 28 Dec 2008 01:22:59 +0000 (03:22 +0200)]
sbc: New SBC analysis filter function to replace current broken code

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.

12 years agosbc: Fixed subbands selection for joint-stereo in SBC encoder
Siarhei Siamashka [Sat, 27 Dec 2008 17:36:14 +0000 (19:36 +0200)]
sbc: Fixed subbands selection for joint-stereo in SBC encoder

12 years agosbc: Add more options to control encoding methods
Marcel Holtmann [Tue, 23 Dec 2008 22:56:32 +0000 (23:56 +0100)]
sbc: Add more options to control encoding methods

12 years agosbc: Don't decode a frame if it is too small
Marcel Holtmann [Tue, 23 Dec 2008 22:41:38 +0000 (23:41 +0100)]
sbc: Don't decode a frame if it is too small

12 years agosbc: Remove unnecessary code and fix a coding style.
Luiz Augusto von Dentz [Thu, 18 Dec 2008 22:22:31 +0000 (19:22 -0300)]
sbc: Remove unnecessary code and fix a coding style.

12 years agosbc: Fix for overflow bug in SBC quantization code
Siarhei Siamashka [Wed, 17 Dec 2008 20:32:11 +0000 (22:32 +0200)]
sbc: Fix for overflow bug in SBC quantization code

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.

12 years agosbc: Bitstream writing optimization for SBC encoder
Siarhei Siamashka [Thu, 11 Dec 2008 19:21:28 +0000 (21:21 +0200)]
sbc: Bitstream writing optimization for SBC encoder

SBC encoder performance improvement up to 1.5x for ARM11
and almost twice faster for Intel Core2 in some cases.

12 years agosbc: Add more options to SBC encoder and decoder
Marcel Holtmann [Fri, 31 Oct 2008 23:14:46 +0000 (00:14 +0100)]
sbc: Add more options to SBC encoder and decoder

12 years agosbc: Fix SBC gain mismatch
Marcel Holtmann [Fri, 31 Oct 2008 22:55:13 +0000 (23:55 +0100)]
sbc: Fix SBC gain mismatch

12 years agosbc: Fix SBC decoding handling
Marcel Holtmann [Thu, 30 Oct 2008 19:01:06 +0000 (20:01 +0100)]
sbc: Fix SBC decoding handling

12 years agosbc: Let the decoder write Sun/NeXT audio S16_BE files
Marcel Holtmann [Sun, 26 Oct 2008 00:04:44 +0000 (02:04 +0200)]
sbc: Let the decoder write Sun/NeXT audio S16_BE files

12 years agosbc: Add bitpool option to encoder
Marcel Holtmann [Sat, 25 Oct 2008 23:32:52 +0000 (01:32 +0200)]
sbc: Add bitpool option to encoder

12 years agosbc: Fix missing encoding of last frame
Marcel Holtmann [Sat, 25 Oct 2008 22:26:20 +0000 (00:26 +0200)]
sbc: Fix missing encoding of last frame

12 years agosbc: Add low-complexity, subband codec support
Marcel Holtmann [Mon, 30 Jul 2012 02:34:44 +0000 (19:34 -0700)]
sbc: Add low-complexity, subband codec support

12 years agoInitial revision
Marcel Holtmann [Wed, 11 Jul 2012 12:51:00 +0000 (09:51 -0300)]
Initial revision