[opus] [RFC PATCHv1] cover: celt_pitch_xcorr: Introduce ARM neon intrinsics
viswanath.puttagunta at linaro.org
Fri Nov 21 15:38:49 PST 2014
I received feedback from engineers working on NE10  that
it would be better to use NE10  for FFT optimizations for
opus use cases. However, these FFT patches are currently in review
and haven't been integrated into NE10 yet.
While the FFT functions in NE10 are getting baked, I wanted
to optimize the celt_pitch_xcorr (floating point only) and use
it to introduce ARM NEON intrinsics into libopus project.
This will also lay the foundation when FFT routines in NE10
I would like to know the following as I DID NOT fully use-case
test this celt_pitch_xcorr optimization. Did only unit tests.
a. Simplest use case to validate this optimization for correctness.
b. Simplest use case to validate this optimization for performance.
Would prefer something like opusdec that can be executed on command
Any other feedback welcome.
Viswanath Puttagunta (1):
armv7: celt_pitch_xcorr: Introduce ARM neon intrinsics
Makefile.am | 23 +++++++++++
celt/_kiss_fft_guts.h | 4 +-
celt/arch.h | 4 +-
celt/arm/arm_celt_map.c | 15 +++++++-
celt/arm/celt_neon_intr.c | 81 +++++++++++++++++++++++++++++++++++++++
celt/arm/pitch_arm.h | 15 +++++++-
celt/pitch.h | 17 ++++++--
celt/tests/test_unit_mathops.c | 2 +-
celt/tests/test_unit_rotation.c | 2 +-
celt_sources.mk | 3 ++
configure.ac | 56 ++++++++++++++++++++++-----
silk/SigProc_FIX.h | 4 +-
silk/macros.h | 4 +-
13 files changed, 205 insertions(+), 25 deletions(-)
create mode 100644 celt/arm/celt_neon_intr.c
More information about the opus