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. --- sbc/sbc_primitives.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sbc/sbc_primitives.c b/sbc/sbc_primitives.c index a4767ef..319e625 100644 --- a/sbc/sbc_primitives.c +++ b/sbc/sbc_primitives.c @@ -568,5 +568,13 @@ void sbc_init_primitives(struct sbc_encoder_state *state) #endif #ifdef SBC_BUILD_WITH_NEON_SUPPORT sbc_init_primitives_neon(state); + + if (state->increment == 1) { + state->sbc_analyze_8s = sbc_analyze_1b_8s_simd; + state->sbc_enc_process_input_4s_le = sbc_enc_process_input_4s_le; + state->sbc_enc_process_input_4s_be = sbc_enc_process_input_4s_be; + state->sbc_enc_process_input_8s_le = sbc_enc_process_input_8s_le; + state->sbc_enc_process_input_8s_be = sbc_enc_process_input_8s_be; + } #endif } -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html