Adds Neon assembly for correlation/convolution

Multimedia / Opus - Timothy B. Terriberry [xiph.org] - 18 November 2013 12:41 UTC

Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up FIRs, IIRs and auto-correlations

39386e0 Adds Neon assembly for correlation/convolution
Makefile.am | 21 +-
celt/_kiss_fft_guts.h | 4 +-
celt/arch.h | 4 +-
celt/arm/arm2gnu.pl | 316 +++++++++++++++++
celt/arm/arm_celt_map.c | 49 +++
celt/arm/armcpu.c | 14 +-
celt/arm/armcpu.h | 42 ++-
celt/arm/armopts.s.in | 37 ++
celt/arm/celt_pitch_xcorr_arm.s | 598 +++++++++++++++++++++++++++++++++
celt/arm/pitch_arm.h | 57 ++++
celt/celt.h | 3 +-
celt/celt_decoder.c | 8 +-
celt/celt_encoder.c | 37 +-
celt/celt_lpc.c | 5 +-
celt/celt_lpc.h | 3 +-
celt/cpu_support.h | 2 +-
celt/pitch.c | 10 +-
celt/pitch.h | 57 +++-
celt_headers.mk | 1 +
celt_sources.mk | 9 +-
configure.ac | 218 +++++++++---
m4/as-gcc-inline-assembly.m4 | 31 ++
silk/API.h | 1 +
silk/SigProc_FIX.h | 13 +-
silk/enc_API.c | 10 +-
silk/fixed/autocorr_FIX.c | 5 +-
silk/fixed/burg_modified_FIX.c | 5 +-
silk/fixed/encode_frame_FIX.c | 4 +-
silk/fixed/find_LPC_FIX.c | 4 +-
silk/fixed/find_pitch_lags_FIX.c | 8 +-
silk/fixed/main_FIX.h | 9 +-
silk/fixed/noise_shape_analysis_FIX.c | 5 +-
silk/fixed/pitch_analysis_core_FIX.c | 15 +-
silk/float/SigProc_FLP.h | 3 +-
silk/float/encode_frame_FLP.c | 2 +-
silk/float/find_pitch_lags_FLP.c | 5 +-
silk/float/main_FLP.h | 6 +-
silk/float/pitch_analysis_core_FLP.c | 15 +-
silk/init_encoder.c | 6 +-
silk/macros.h | 4 +-
silk/structs.h | 2 +
src/opus_decoder.c | 2 -
src/opus_encoder.c | 10 +-
43 files changed, 1515 insertions(+), 145 deletions(-)

Upstream: git.xiph.org


  • Share