From 6df6db1391c78dbafd75cda7c6872f9c44982e31 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Tue, 22 Feb 2011 17:46:03 -0500 Subject: [PATCH] SILK can now build in fixed-point --- Makefile.am | 64 ++++++++++++++++++++++++++++++++++++---------------- configure.ac | 15 ++++++++++++ 2 files changed, 59 insertions(+), 20 deletions(-) diff --git a/Makefile.am b/Makefile.am index ec45a7bd7..78eca8297 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,6 +23,7 @@ test_silk_enc/test_silk_enc.vcxproj \ test_silk_enc/test_silk_enc.vcxproj.filters lib_LTLIBRARIES = libSKP_SILK_SDK.la + libSKP_SILK_SDK_la_SOURCES = src_common/SKP_Silk_CNG.c \ src_common/SKP_Silk_code_signs.c \ src_common/SKP_Silk_create_init_destroy.c \ @@ -64,26 +65,6 @@ src_common/SKP_Silk_NLSF_MSVQ_encode.c \ src_common/SKP_Silk_NLSF_VQ_rate_distortion.c \ src_common/SKP_Silk_NLSF_VQ_sum_error.c \ src_common/SKP_Silk_process_NLSFs.c \ -src_FLP/SKP_Silk_apply_sine_window_FLP.c \ -src_FLP/SKP_Silk_control_codec_FLP.c \ -src_FLP/SKP_Silk_corrMatrix_FLP.c \ -src_FLP/SKP_Silk_encode_frame_FLP.c \ -src_FLP/SKP_Silk_find_LPC_FLP.c \ -src_FLP/SKP_Silk_find_LTP_FLP.c \ -src_FLP/SKP_Silk_find_pitch_lags_FLP.c \ -src_FLP/SKP_Silk_find_pred_coefs_FLP.c \ -src_FLP/SKP_Silk_init_encoder_FLP.c \ -src_FLP/SKP_Silk_LPC_analysis_filter_FLP.c \ -src_FLP/SKP_Silk_LTP_analysis_filter_FLP.c \ -src_FLP/SKP_Silk_LTP_scale_ctrl_FLP.c \ -src_FLP/SKP_Silk_noise_shape_analysis_FLP.c \ -src_FLP/SKP_Silk_prefilter_FLP.c \ -src_FLP/SKP_Silk_process_gains_FLP.c \ -src_FLP/SKP_Silk_regularize_correlations_FLP.c \ -src_FLP/SKP_Silk_residual_energy_FLP.c \ -src_FLP/SKP_Silk_solve_LS_FLP.c \ -src_FLP/SKP_Silk_warped_autocorrelation_FLP.c \ -src_FLP/SKP_Silk_wrappers_FLP.c \ src_SigProc_FIX/SKP_Silk_A2NLSF.c \ src_SigProc_FIX/SKP_Silk_allpass_int.c \ src_SigProc_FIX/SKP_Silk_ana_filt_bank_1.c \ @@ -149,6 +130,49 @@ src_SigProc_FLP/SKP_Silk_scale_vector_FLP.c \ src_SigProc_FLP/SKP_Silk_schur_FLP.c \ src_SigProc_FLP/SKP_Silk_sort_FLP.c +if FIXED_POINT +libSKP_SILK_SDK_la_SOURCES += \ +src_FIX/SKP_Silk_LTP_analysis_filter_FIX.c \ +src_FIX/SKP_Silk_LTP_scale_ctrl_FIX.c \ +src_FIX/SKP_Silk_control_codec_FIX.c \ +src_FIX/SKP_Silk_corrMatrix_FIX.c \ +src_FIX/SKP_Silk_encode_frame_FIX.c \ +src_FIX/SKP_Silk_find_LPC_FIX.c \ +src_FIX/SKP_Silk_find_LTP_FIX.c \ +src_FIX/SKP_Silk_find_pitch_lags_FIX.c \ +src_FIX/SKP_Silk_find_pred_coefs_FIX.c \ +src_FIX/SKP_Silk_init_encoder_FIX.c \ +src_FIX/SKP_Silk_noise_shape_analysis_FIX.c \ +src_FIX/SKP_Silk_prefilter_FIX.c \ +src_FIX/SKP_Silk_process_gains_FIX.c \ +src_FIX/SKP_Silk_regularize_correlations_FIX.c \ +src_FIX/SKP_Silk_residual_energy16_FIX.c \ +src_FIX/SKP_Silk_residual_energy_FIX.c \ +src_FIX/SKP_Silk_solve_LS_FIX.c \ +src_FIX/SKP_Silk_warped_autocorrelation_FIX.c +else +libSKP_SILK_SDK_la_SOURCES += \ +src_FLP/SKP_Silk_apply_sine_window_FLP.c \ +src_FLP/SKP_Silk_control_codec_FLP.c \ +src_FLP/SKP_Silk_corrMatrix_FLP.c \ +src_FLP/SKP_Silk_encode_frame_FLP.c \ +src_FLP/SKP_Silk_find_LPC_FLP.c \ +src_FLP/SKP_Silk_find_LTP_FLP.c \ +src_FLP/SKP_Silk_find_pitch_lags_FLP.c \ +src_FLP/SKP_Silk_find_pred_coefs_FLP.c \ +src_FLP/SKP_Silk_init_encoder_FLP.c \ +src_FLP/SKP_Silk_LPC_analysis_filter_FLP.c \ +src_FLP/SKP_Silk_LTP_analysis_filter_FLP.c \ +src_FLP/SKP_Silk_LTP_scale_ctrl_FLP.c \ +src_FLP/SKP_Silk_noise_shape_analysis_FLP.c \ +src_FLP/SKP_Silk_prefilter_FLP.c \ +src_FLP/SKP_Silk_process_gains_FLP.c \ +src_FLP/SKP_Silk_regularize_correlations_FLP.c \ +src_FLP/SKP_Silk_residual_energy_FLP.c \ +src_FLP/SKP_Silk_solve_LS_FLP.c \ +src_FLP/SKP_Silk_warped_autocorrelation_FLP.c \ +src_FLP/SKP_Silk_wrappers_FLP.c +endif libSKP_SILK_SDK_la_CFLAGS = $(AM_CFLAGS) libSKP_SILK_SDK_la_LDFLAGS = $(LIBS) diff --git a/configure.ac b/configure.ac index db4433a8c..73ab3c8f0 100644 --- a/configure.ac +++ b/configure.ac @@ -21,5 +21,20 @@ AC_TYPE_SIZE_T # Checks for library functions. AC_CHECK_LIB([m],[pow]) +ac_enable_fixed="no"; +AC_ARG_ENABLE(fixed-point, [ --enable-fixed-point compile as fixed-point], +[if test "$enableval" = yes; then +ac_enable_fixed="yes"; +AC_DEFINE([FIXED_POINT], [1], [Compile as fixed-point]) +else +ac_enable_fixed="no"; +dnl AC_DEFINE([FIXED_POINT], [0], [Compile as floating-point]) +fi], +dnl AC_DEFINE([FIXED_POINT], [0], [Compile as floating-point]) +) + +AM_CONDITIONAL([FIXED_POINT], [test x$ac_enable_fixed = xyes]) + + AC_CONFIG_FILES([Makefile]) AC_OUTPUT -- GitLab