28 #ifndef SILK_MAIN_FIX_H
29 #define SILK_MAIN_FIX_H
31 #include "SigProc_FIX.h"
32 #include "structs_FIX.h"
39 #if ((defined(OPUS_ARM_ASM) && defined(FIXED_POINT)) \
40 || defined(OPUS_ARM_MAY_HAVE_NEON_INTR))
41 #include "arm/warped_autocorrelation_FIX_arm.h"
44 #ifndef FORCE_CPP_BUILD
51 #define silk_encoder_state_Fxx silk_encoder_state_FIX
52 #define silk_encode_do_VAD_Fxx silk_encode_do_VAD_FIX
53 #define silk_encode_frame_Fxx silk_encode_frame_FIX
63 void silk_HP_variable_cutoff(
64 silk_encoder_state_Fxx state_Fxx[]
68 void silk_encode_do_VAD_FIX(
69 silk_encoder_state_FIX *psEnc
73 opus_int silk_encode_frame_FIX(
74 silk_encoder_state_FIX *psEnc,
75 opus_int32 *pnBytesOut,
83 opus_int silk_init_encoder(
84 silk_encoder_state_Fxx *psEnc,
89 opus_int silk_control_encoder(
90 silk_encoder_state_Fxx *psEnc,
91 silk_EncControlStruct *encControl,
92 const opus_int allow_bw_switch,
93 const opus_int channelNb,
94 const opus_int force_fs_kHz
101 void silk_noise_shape_analysis_FIX(
102 silk_encoder_state_FIX *psEnc,
103 silk_encoder_control_FIX *psEncCtrl,
104 const opus_int16 *pitch_res,
110 void silk_warped_autocorrelation_FIX_c(
113 const opus_int16 *input,
114 const opus_int warping_Q16,
115 const opus_int length,
119 #if !defined(OVERRIDE_silk_warped_autocorrelation_FIX)
120 #define silk_warped_autocorrelation_FIX(corr, scale, input, warping_Q16, length, order, arch) \
121 ((void)(arch), silk_warped_autocorrelation_FIX_c(corr, scale, input, warping_Q16, length, order))
125 void silk_LTP_scale_ctrl_FIX(
126 silk_encoder_state_FIX *psEnc,
127 silk_encoder_control_FIX *psEncCtrl,
135 void silk_find_pitch_lags_FIX(
136 silk_encoder_state_FIX *psEnc,
137 silk_encoder_control_FIX *psEncCtrl,
139 const opus_int16 x[],
144 void silk_find_pred_coefs_FIX(
145 silk_encoder_state_FIX *psEnc,
146 silk_encoder_control_FIX *psEncCtrl,
147 const opus_int16 res_pitch[],
148 const opus_int16 x[],
153 void silk_find_LPC_FIX(
154 silk_encoder_state *psEncC,
155 opus_int16 NLSF_Q15[],
156 const opus_int16 x[],
157 const opus_int32 minInvGain_Q30
161 void silk_find_LTP_FIX(
162 opus_int32 XXLTP_Q17[ MAX_NB_SUBFR * LTP_ORDER * LTP_ORDER ],
163 opus_int32 xXLTP_Q17[ MAX_NB_SUBFR * LTP_ORDER ],
164 const opus_int16 r_lpc[],
165 const opus_int lag[ MAX_NB_SUBFR ],
166 const opus_int subfr_length,
167 const opus_int nb_subfr,
171 void silk_LTP_analysis_filter_FIX(
174 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ],
175 const opus_int pitchL[ MAX_NB_SUBFR ],
176 const opus_int32 invGains_Q16[ MAX_NB_SUBFR ],
177 const opus_int subfr_length,
178 const opus_int nb_subfr,
179 const opus_int pre_length
184 void silk_residual_energy_FIX(
185 opus_int32 nrgs[ MAX_NB_SUBFR ],
186 opus_int nrgsQ[ MAX_NB_SUBFR ],
187 const opus_int16 x[],
188 opus_int16 a_Q12[ 2 ][ MAX_LPC_ORDER ],
189 const opus_int32 gains[ MAX_NB_SUBFR ],
190 const opus_int subfr_length,
191 const opus_int nb_subfr,
192 const opus_int LPC_order,
197 opus_int32 silk_residual_energy16_covar_FIX(
199 const opus_int32 *wXX,
200 const opus_int32 *wXx,
207 void silk_process_gains_FIX(
208 silk_encoder_state_FIX *psEnc,
209 silk_encoder_control_FIX *psEncCtrl,
217 void silk_corrMatrix_FIX(
220 const opus_int order,
228 void silk_corrVector_FIX(
232 const opus_int order,
234 const opus_int rshifts,
238 #ifndef FORCE_CPP_BUILD