external/bluetooth/sbc
Révision | c115634f9e4a586f8189b2eba499097c331a1cf6 (tree) |
---|---|
l'heure | 2013-04-15 17:03:11 |
Auteur | Frédéric Dalleau <frederic.dalleau@linu...> |
Commiter | Johan Hedberg |
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.
@@ -570,5 +570,13 @@ void sbc_init_primitives(struct sbc_encoder_state *state) | ||
570 | 570 | #endif |
571 | 571 | #ifdef SBC_BUILD_WITH_NEON_SUPPORT |
572 | 572 | sbc_init_primitives_neon(state); |
573 | + | |
574 | + if (state->increment == 1) { | |
575 | + state->sbc_analyze_8s = sbc_analyze_1b_8s_simd_odd; | |
576 | + state->sbc_enc_process_input_4s_le = sbc_enc_process_input_4s_le; | |
577 | + state->sbc_enc_process_input_4s_be = sbc_enc_process_input_4s_be; | |
578 | + state->sbc_enc_process_input_8s_le = sbc_enc_process_input_8s_le; | |
579 | + state->sbc_enc_process_input_8s_be = sbc_enc_process_input_8s_be; | |
580 | + } | |
573 | 581 | #endif |
574 | 582 | } |