ref: 9b1da1fb1f07265dda3621b30ea989911dd4f0bf
parent: 367a487e7cec832ccd4ab2d132e723b23336758b
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Thu Feb 15 13:05:07 EST 2024
Fix missing dotprod optimization Use the neon version of silk_noise_shape_quantizer_short_prediction()
--- a/silk/arm/NSQ_neon.h
+++ b/silk/arm/NSQ_neon.h
@@ -73,7 +73,7 @@
#elif defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
#define silk_short_prediction_create_arch_coef(out, in, order) \
- do { if (arch == OPUS_ARCH_ARM_NEON) { silk_short_prediction_create_arch_coef_neon(out, in, order); } } while (0)
+ do { if (arch >= OPUS_ARCH_ARM_NEON) { silk_short_prediction_create_arch_coef_neon(out, in, order); } } while (0)
#endif
@@ -95,7 +95,7 @@
(coef vs. coefRev) so can't use the usual IMPL table implementation */
#undef silk_noise_shape_quantizer_short_prediction
#define silk_noise_shape_quantizer_short_prediction(in, coef, coefRev, order, arch) \
- (arch == OPUS_ARCH_ARM_NEON ? \
+ (arch >= OPUS_ARCH_ARM_NEON ? \
silk_noise_shape_quantizer_short_prediction_neon(in, coefRev, order) : \
silk_noise_shape_quantizer_short_prediction_c(in, coef, order))
--
⑨