Faire un don

  • R/O
  • HTTP
  • SSH

external-bluetooth-sbc: Listed des commits


Révision l'heure Auteur
24812c6 kitkat-x86 lollipop-x86 marshmallow-x86 nougat-x86 android-x86-6.0-r1 android-x86-6.0-r2 android-x86-6.0-r3 2014-10-30 13:00:56 Marcel Holtmann

Release 1.3

2d37715 2014-10-30 12:57:47 Marcel Holtmann

AUTHORS: Mention Aurélien's contributions

d9a45b5 2014-10-30 12:55:38 Marcel Holtmann

build: Update library revision number

68e7cbd 2014-10-24 23:56:46 Aurélien Zanelli

sbc: use an uint16 to store frame length in internal frame structure

Otherwise it could overflow in some cases.
For instance in DUAL_CHANNEL mode, with subbands set to SBC_SB_8, blocks
set to SBC_BLK_16 and bitpool set to 64 results in a frame length of 268.

7110480 2014-10-24 23:56:46 Aurélien Zanelli

sbc: fix frame length calculation for DUAL_CHANNEL mode

According to A2DP specification, section 12.9, for DUAL_CHANNEL mode, we
shall use the same formula as for MONO mode.

431e5c2 2014-01-24 00:39:47 Marcel Holtmann

Release 1.2

bca32d2 2014-01-23 21:19:42 Luiz Augusto von Dentz

sbc: Add sbc_reinit_a2dp to sbc.sym

6e079c0 2014-01-23 21:19:42 Luiz Augusto von Dentz

sbc: Add sbc_reinit_a2dp

This adds sbc_reinit_a2dp that can be used to reconfigure a previous
initialized sbc_t with new A2DP configuration.

27fab34 2014-01-23 08:07:42 Marcel Holtmann

TODO: Update entries in TODO list

130c50a 2014-01-23 01:47:48 Marcel Holtmann

sbc: Use bool variable for priv->init

8317df8 2014-01-23 01:33:58 Marcel Holtmann

sbc: Add Intel copyright to public header file

f826af8 2014-01-23 01:30:57 Marcel Holtmann

build: Update library version for new sbc_init_a2dp() function

c27737f 2014-01-23 01:19:57 Marcel Holtmann

build: Keep high precision support disabled by default

d56ae59 2014-01-21 18:03:34 Luiz Augusto von Dentz

sbc: Add sbc_init_a2dp to sbc.sym

5cb5990 2014-01-21 18:03:28 Luiz Augusto von Dentz

sbc: Add sbc_init_a2dp

This adds sbc_init_a2dp that can be used to convert A2DP configuration to
the internal representation since they are not binary compatible.

c0a7481 2013-09-16 18:17:36 Luiz Augusto von Dentz

build: Add configure option --disable-high-precision

This enables high precision using 64 bits accumulators by default which
can be disabled with --disable-high-precision.

4210339 2013-08-26 02:35:27 Marcel Holtmann

sbc: Fix declaration of sbc_init_msbc symbol

ec14d34 2013-05-01 06:23:57 Marcel Holtmann

Release 1.1

97265b6 2013-05-01 06:18:52 Marcel Holtmann

build: Update library version for new sbc_init_msbc() function

ae4d983 2013-04-15 23:48:07 Marcel Holtmann

AUTHORS: Mention Frédéric's contributions

c9e50c6 2013-04-15 17:10:06 Frédéric Dalleau

TODO: Add TODO list

80adf9b 2013-04-15 17:06:46 Frédéric Dalleau

sbc: Update sbcinfo for msbc

15d668c 2013-04-15 17:06:37 Frédéric Dalleau

sbc: Update sbcenc for msbc

a1f21fb 2013-04-15 17:06:16 Frédéric Dalleau

sbc: Update sbcdec for msbc

63bdc1a 2013-04-15 17:05:56 Frédéric Dalleau

sbc: Add support for mSBC frame header

Traditionnal SBC frame header describe encoding parameters for each
frame: nr of blocks, subbands, allocation method, and bitpool. In mSBC,
only one combination of parameter is defined. That combination cannot be
expressed using a traditionnal SBC header. Because of this, a specific
header is defined with 0xAD followed by two reserved zero bytes.

09ff8b9 2013-04-15 17:04:57 Frédéric Dalleau

sbc: Declare and implement sbc_init_msbc

4686ca8 2013-04-15 17:04:41 Frédéric Dalleau

sbc: Add a private boolean flag to enable 15 block encoding

This patch introduce a new private member which purpose is to encode 15
blocks. It is private to the library and can't be set from standard API.
sbc_init_msbc() function will be defined to set this flag.

e9bc3e0 2013-04-15 17:03:40 Frédéric Dalleau

sbc: Fix input reordering for 15 blocks case

SBC analysis handles 8 samples at a time. The optimisation requires 8
samples forming an "odd" block, followed by 8 samples, forming an "even"
block. Until now SBC was used for encoding 4, 8, 12, or 16 blocks in a
frame. Reordering took a frame and for each 16 samples (ie 2 blocks) it
produced one "odd" block and one "even" block.
A mSBC frame encodes 15 blocks of 8 samples. 14 blocks are processed as
before, two at a time. If 8 samples are remaining, it will form the
first half of two blocks (a bit of an "odd" block, and a bit of an
"even" block). When processing the next frame, we detect eight samples
were missing at previous iteration and the two block can be finished.

This reordering is possible because only one sample is moved (x[-7]) AND
the first coefficient in the coef table is 0. Thus x[0] doesn't need to
be set and 0 can be used in calculation instead. Note that x[-7] is not
used in analysis for this block.
see: analysis_consts_fixed8_simd_odd.

To detect that two blocks are not completed, the number of processed
samples can be used. This value is stored in position. position starts
at SBC_X_BUFFER_SIZE-72 and is decremented by 16 as long as two blocks
can be formed. If only 8 samples are remaining in input, then position
is decremented by 8 *arbitrarly*, thus indicating that some samples are
pending. During next frame reordering, position will be decremented by 8
again, back to a 16 multiple.

This logic works for SBC_X_BUFFER_SIZE-72 multiple of 16 and bigger than
8*2*15+72=312 and less than 8*3*15+72=432. The current value of 328
matches this constraint and X buffer is shifted every two frames (30
blocks) in mSBC. This way, we don't need to care about x[-7] when
shifting, we also know that it won't be before X.

c115634 2013-04-15 17:03:11 Frédéric Dalleau

sbc: Use plain C primitive if doing msbc on neon

neon has it's own optimized input reordering. Until this code gets optimized,
the neon assembly code will not work with the mSBC input reordering.
However, the plain C version of mSBC can be used in this case.
This patch makes use of plain C code if the block increment is 1 which is
typical for mSBC.

c0d184e 2013-04-15 17:02:27 Frédéric Dalleau

sbc: Add plain C primitive for 1b 8s analysis

Afficher sur ancien navigateur de dépôt.