Recent commits on external-bluetooth-sbc (git) - Android-x86 - OSDN https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/ Android-x86 https://static-cdn.osdn.net/thumb/g/5/887/36x36_0.png /projects/android-x86/ 24812c: Release 1.3 https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/24812c660036a693f8770766aa6fdea667de05d0 Marcel Holtmann Commit: 24812c660036a693f8770766aa6fdea667de05d0
Release 1.3
]]>
2d3771: AUTHORS: Mention Aurélien's contributions https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/2d3771563339910a5c2ca783032fcc859aca18ba Marcel Holtmann Commit: 2d3771563339910a5c2ca783032fcc859aca18ba
AUTHORS: Mention Aurélien's contributions
]]>
d9a45b: build: Update library revision number https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/d9a45b53b382f5a8f9038052b4612f1fe74dda6c Marcel Holtmann Commit: d9a45b53b382f5a8f9038052b4612f1fe74dda6c
build: Update library revision number
]]>
68e7cb: sbc: use an uint16 to store frame length in internal fram... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/68e7cbde5c9d02a76fa5b712a0f0adc0ca04b8ad Aurélien Zanelli Commit: 68e7cbde5c9d02a76fa5b712a0f0adc0ca04b8ad
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.
]]>
711048: sbc: fix frame length calculation for DUAL_CHANNEL mode ... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/7110480576985842a7f7f3dbb4d432f0098d51ad Aurélien Zanelli Commit: 7110480576985842a7f7f3dbb4d432f0098d51ad
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.
]]>
431e5c: Release 1.2 https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/431e5c2d3243371e4ade8bceab587424c1b2aa6c Marcel Holtmann Commit: 431e5c2d3243371e4ade8bceab587424c1b2aa6c
Release 1.2
]]>
bca32d: sbc: Add sbc_reinit_a2dp to sbc.sym https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/bca32d2b6efc5c10ca6120e6a7e7becb83f309e3 Luiz Augusto von Dentz Commit: bca32d2b6efc5c10ca6120e6a7e7becb83f309e3
sbc: Add sbc_reinit_a2dp to sbc.sym
]]>
6e079c: sbc: Add sbc_reinit_a2dp This adds sbc_reinit_a2dp that ... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/6e079c0287c81f91d76828f57d1154958a9f1989 Luiz Augusto von Dentz Commit: 6e079c0287c81f91d76828f57d1154958a9f1989
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.
]]>
27fab3: TODO: Update entries in TODO list https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/27fab34fb2d1dc97fcce849de709cd17638826d8 Marcel Holtmann Commit: 27fab34fb2d1dc97fcce849de709cd17638826d8
TODO: Update entries in TODO list
]]>
130c50: sbc: Use bool variable for priv->init https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/130c50a3e61f8b9bedc85cabf29af80d1a5c2f85 init ]]> Marcel Holtmann Commit: 130c50a3e61f8b9bedc85cabf29af80d1a5c2f85
sbc: Use bool variable for priv->init
]]>
8317df: sbc: Add Intel copyright to public header file https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/8317df8f77a2444104ca56299b5c6e78992bc8a9 Marcel Holtmann Commit: 8317df8f77a2444104ca56299b5c6e78992bc8a9
sbc: Add Intel copyright to public header file
]]>
f826af: build: Update library version for new sbc_init_a2dp() fun... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/f826af8d1dce75c09191b2abee4b328cc15c532c Marcel Holtmann Commit: f826af8d1dce75c09191b2abee4b328cc15c532c
build: Update library version for new sbc_init_a2dp() function
]]>
c27737: build: Keep high precision support disabled by default https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/c27737fde0655b498204371815a63bcb780d225b Marcel Holtmann Commit: c27737fde0655b498204371815a63bcb780d225b
build: Keep high precision support disabled by default
]]>
d56ae5: sbc: Add sbc_init_a2dp to sbc.sym https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/d56ae5945373880b1ff670314a8dc5872a361085 Luiz Augusto von Dentz Commit: d56ae5945373880b1ff670314a8dc5872a361085
sbc: Add sbc_init_a2dp to sbc.sym
]]>
5cb599: sbc: Add sbc_init_a2dp This adds sbc_init_a2dp that can ... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/5cb59902a6fd2c6d4a0f8c6c0ab447602b54c555 Luiz Augusto von Dentz Commit: 5cb59902a6fd2c6d4a0f8c6c0ab447602b54c555
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.
]]>
c0a748: build: Add configure option --disable-high-precision Thi... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/c0a74816996faa8fa5fd87a80570936910f1f165 Luiz Augusto von Dentz Commit: c0a74816996faa8fa5fd87a80570936910f1f165
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.
]]>
421033: sbc: Fix declaration of sbc_init_msbc symbol https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/4210339058f56c504a553cb77b853e5597cfaf7c Marcel Holtmann Commit: 4210339058f56c504a553cb77b853e5597cfaf7c
sbc: Fix declaration of sbc_init_msbc symbol
]]>
ec14d3: Release 1.1 https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/ec14d34809303205d645d64c4b91deff47f557e1 Marcel Holtmann Commit: ec14d34809303205d645d64c4b91deff47f557e1
Release 1.1
]]>
97265b: build: Update library version for new sbc_init_msbc() fun... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/97265b60e8b5e4ea682f62e5c5bfeb2bdd462303 Marcel Holtmann Commit: 97265b60e8b5e4ea682f62e5c5bfeb2bdd462303
build: Update library version for new sbc_init_msbc() function
]]>
ae4d98: AUTHORS: Mention Frédéric's contributions https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/ae4d98333a3cd843ba3307e64034db0ee216ec2e Marcel Holtmann Commit: ae4d98333a3cd843ba3307e64034db0ee216ec2e
AUTHORS: Mention Frédéric's contributions
]]>
c9e50c: TODO: Add TODO list https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/c9e50c6ac4b478216cefdb89ff0b0909b18ab49f Frédéric Dalleau Commit: c9e50c6ac4b478216cefdb89ff0b0909b18ab49f
TODO: Add TODO list
]]>
80adf9: sbc: Update sbcinfo for msbc https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/80adf9b6b14e11dcf558588fe68159406ff8dcbf Frédéric Dalleau Commit: 80adf9b6b14e11dcf558588fe68159406ff8dcbf
sbc: Update sbcinfo for msbc
]]>
15d668: sbc: Update sbcenc for msbc https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/15d668cfbde5d0a46cde08b171b1eb84cdba104a Frédéric Dalleau Commit: 15d668cfbde5d0a46cde08b171b1eb84cdba104a
sbc: Update sbcenc for msbc
]]>
a1f21f: sbc: Update sbcdec for msbc https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/a1f21fb6439aa5c9bfe3b49df2bbf2744c022b9a Frédéric Dalleau Commit: a1f21fb6439aa5c9bfe3b49df2bbf2744c022b9a
sbc: Update sbcdec for msbc
]]>
63bdc1: sbc: Add support for mSBC frame header Traditionnal SBC ... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/63bdc1a9ac18c25876dacfdcf7ad21eee5822848 Frédéric Dalleau Commit: 63bdc1a9ac18c25876dacfdcf7ad21eee5822848
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.
]]>
09ff8b: sbc: Declare and implement sbc_init_msbc https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/09ff8b9b3146cb9597684402594d466960640db5 Frédéric Dalleau Commit: 09ff8b9b3146cb9597684402594d466960640db5
sbc: Declare and implement sbc_init_msbc
]]>
4686ca: sbc: Add a private boolean flag to enable 15 block encodi... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/4686ca8af3e7a3fa3885be83e4d39c529db4f6d1 Frédéric Dalleau Commit: 4686ca8af3e7a3fa3885be83e4d39c529db4f6d1
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.
]]>
e9bc3e: sbc: Fix input reordering for 15 blocks case SBC analysi... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/e9bc3e0083a2e8a23d8191b66b7e371af936040d Frédéric Dalleau Commit: e9bc3e0083a2e8a23d8191b66b7e371af936040d
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.
]]>
c11563: sbc: Use plain C primitive if doing msbc on neon neon ha... https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/c115634f9e4a586f8189b2eba499097c331a1cf6 Frédéric Dalleau Commit: c115634f9e4a586f8189b2eba499097c331a1cf6
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.
]]>
c0d184: sbc: Add plain C primitive for 1b 8s analysis https://zh-tw.osdn.net/projects/android-x86/scm/git/external-bluetooth-sbc/commits/c0d184e9371cc892780decc9c7231e963733c5a6 Frédéric Dalleau Commit: c0d184e9371cc892780decc9c7231e963733c5a6
sbc: Add plain C primitive for 1b 8s analysis
]]>