ref: f3390cdf732d7f51264c6f869fe41955f511de3d
parent: f26afaa60dfa4c71426e56f537567d811b766c9e
author: Jonathan Lennox <jonathan@vidyo.com>
date: Fri Jun 2 11:53:11 EDT 2017
Don't use MAY_HAVE_NEON in arm_silk_map.c. It's unnecessary, and isn't defined correctly on floating-point. This makes us correctly use Neon functions (in floating-point mode) on platforms where Neon is detected by RTCD. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
--- a/silk/arm/arm_silk_map.c
+++ b/silk/arm/arm_silk_map.c
@@ -45,10 +45,10 @@
opus_int16 *out, /* O output signal */
const opus_int32 len /* I signal length (must be even) */
) = {
- silk_biquad_alt_stride2_c, /* ARMv4 */
- silk_biquad_alt_stride2_c, /* EDSP */
- silk_biquad_alt_stride2_c, /* Media */
- MAY_HAVE_NEON(silk_biquad_alt_stride2), /* Neon */
+ silk_biquad_alt_stride2_c, /* ARMv4 */
+ silk_biquad_alt_stride2_c, /* EDSP */
+ silk_biquad_alt_stride2_c, /* Media */
+ silk_biquad_alt_stride2_neon, /* Neon */
};
opus_int32 (*const SILK_LPC_INVERSE_PRED_GAIN_IMPL[OPUS_ARCHMASK + 1])( /* O Returns inverse prediction gain in energy domain, Q30 */
@@ -55,10 +55,10 @@
const opus_int16 *A_Q12, /* I Prediction coefficients, Q12 [order] */
const opus_int order /* I Prediction order */
) = {
- silk_LPC_inverse_pred_gain_c, /* ARMv4 */
- silk_LPC_inverse_pred_gain_c, /* EDSP */
- silk_LPC_inverse_pred_gain_c, /* Media */
- MAY_HAVE_NEON(silk_LPC_inverse_pred_gain), /* Neon */
+ silk_LPC_inverse_pred_gain_c, /* ARMv4 */
+ silk_LPC_inverse_pred_gain_c, /* EDSP */
+ silk_LPC_inverse_pred_gain_c, /* Media */
+ silk_LPC_inverse_pred_gain_neon, /* Neon */
};
void (*const SILK_NSQ_DEL_DEC_IMPL[OPUS_ARCHMASK + 1])(
@@ -78,10 +78,10 @@
const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */
const opus_int LTP_scale_Q14 /* I LTP state scaling */
) = {
- silk_NSQ_del_dec_c, /* ARMv4 */
- silk_NSQ_del_dec_c, /* EDSP */
- silk_NSQ_del_dec_c, /* Media */
- MAY_HAVE_NEON(silk_NSQ_del_dec), /* Neon */
+ silk_NSQ_del_dec_c, /* ARMv4 */
+ silk_NSQ_del_dec_c, /* EDSP */
+ silk_NSQ_del_dec_c, /* Media */
+ silk_NSQ_del_dec_neon, /* Neon */
};
/*There is no table for silk_noise_shape_quantizer_short_prediction because the
@@ -112,10 +112,10 @@
const opus_int length, /* I Length of input */
const opus_int order /* I Correlation order (even) */
) = {
- silk_warped_autocorrelation_FIX_c, /* ARMv4 */
- silk_warped_autocorrelation_FIX_c, /* EDSP */
- silk_warped_autocorrelation_FIX_c, /* Media */
- MAY_HAVE_NEON(silk_warped_autocorrelation_FIX), /* Neon */
+ silk_warped_autocorrelation_FIX_c, /* ARMv4 */
+ silk_warped_autocorrelation_FIX_c, /* EDSP */
+ silk_warped_autocorrelation_FIX_c, /* Media */
+ silk_warped_autocorrelation_FIX_neon, /* Neon */
};
# endif