Cisco optimization for x86 & fixed point

Multimedia / Opus - xiangmingzhu [cisco.com] - 3 October 2014 20:16 UTC

1. Only for fixed point on x86 platform (32bit and 64bit, uses SIMD intrinsics up to SSE4.2) 2. Use "configure --enable-fixed-point --enable-intrinsics" to enable optimization, default is disabled. 3. Official test cases are verified and passed.

c95c9a0 Cisco optimization for x86 & fixed point
Makefile.am | 21 +
celt/bands.c | 20 +-
celt/bands.h | 19 +-
celt/celt_decoder.c | 10 +-
celt/celt_encoder.c | 18 +-
celt/celt_lpc.c | 14 +-
celt/celt_lpc.h | 19 +-
celt/cpu_support.h | 13 +-
celt/entenc.c | 2 +-
celt/mips/vq_mipsr1.h | 6 +-
celt/pitch.c | 13 +-
celt/pitch.h | 34 +-
celt/tests/test_unit_mathops.c | 14 +-
celt/tests/test_unit_rotation.c | 11 +
celt/vq.c | 10 +-
celt/vq.h | 4 +-
celt/x86/celt_lpc_sse.c | 128 +++++
celt/x86/celt_lpc_sse.h | 58 +++
celt/x86/pitch_sse.c | 251 ++++++++++
celt/x86/pitch_sse.h | 58 ++-
celt/x86/x86_celt_map.c | 84 ++++
celt/x86/x86cpu.c | 111 +++++
celt/x86/x86cpu.h | 63 +++
celt_headers.mk | 4 +-
celt_sources.mk | 6 +
configure.ac | 109 ++++
silk/A2NLSF.c | 19 +-
silk/API.h | 3 +-
silk/LPC_analysis_filter.c | 6 +-
silk/NLSF_del_dec_quant.c | 40 +-
silk/NSQ.c | 13 +-
silk/NSQ_del_dec.c | 4 +-
silk/PLC.c | 13 +-
silk/PLC.h | 3 +-
silk/SigProc_FIX.h | 24 +-
silk/VAD.c | 9 +-
silk/VQ_WMat_EC.c | 2 +-
silk/dec_API.c | 5 +-
silk/decode_core.c | 5 +-
silk/decode_frame.c | 9 +-
silk/fixed/LTP_analysis_filter_FIX.c | 19 +-
silk/fixed/burg_modified_FIX.c | 10 +-
silk/fixed/corrMatrix_FIX.c | 10 +-
silk/fixed/encode_frame_FIX.c | 12 +-
silk/fixed/find_LPC_FIX.c | 2 +-
silk/fixed/find_LTP_FIX.c | 7 +-
silk/fixed/find_pitch_lags_FIX.c | 2 +-
silk/fixed/find_pred_coefs_FIX.c | 7 +-
silk/fixed/main_FIX.h | 12 +-
silk/fixed/pitch_analysis_core_FIX.c | 22 +-
silk/fixed/prefilter_FIX.c | 6 +-
silk/fixed/residual_energy_FIX.c | 5 +-
silk/fixed/vector_ops_FIX.c | 7 +-
silk/fixed/x86/burg_modified_FIX_sse.c | 375 ++++++++++++++
silk/fixed/x86/prefilter_FIX_sse.c | 160 ++++++
silk/fixed/x86/vector_ops_FIX_sse.c | 88 ++++
silk/float/encode_frame_FLP.c | 2 +-
silk/float/find_pred_coefs_FLP.c | 3 +-
silk/float/main_FLP.h | 3 +-
silk/float/wrappers_FLP.c | 9 +-
silk/macros.h | 28 ++
silk/main.h | 66 ++-
silk/quant_LTP_gains.c | 6 +-
silk/x86/NSQ_del_dec_sse.c | 857 ++++++++++++++++++++++++++++++++
silk/x86/NSQ_sse.c | 720 +++++++++++++++++++++++++++
silk/x86/SigProc_FIX_sse.h | 77 +++
silk/x86/VAD_sse.c | 277 +++++++++++
silk/x86/VQ_WMat_EC_sse.c | 142 ++++++
silk/x86/main_sse.h | 228 +++++++++
silk/x86/x86_silk_map.c | 154 ++++++
silk_headers.mk | 2 +
silk_sources.mk | 9 +
src/opus_decoder.c | 4 +-
src/opus_encoder.c | 2 +-
74 files changed, 4405 insertions(+), 183 deletions(-)

Upstream: git.xiph.org


  • Share