Index: silk/fixed/find_pred_coefs_FIX.c |
diff --git a/silk/fixed/find_pred_coefs_FIX.c b/silk/fixed/find_pred_coefs_FIX.c |
index 5c22f8288b59cac4255fa8cf317082b5d4a1f429..d308e9cf5fe609e17b06b4d1339193134cccf3f8 100644 |
--- a/silk/fixed/find_pred_coefs_FIX.c |
+++ b/silk/fixed/find_pred_coefs_FIX.c |
@@ -89,11 +89,12 @@ void silk_find_pred_coefs_FIX( |
/* LTP analysis */ |
silk_find_LTP_FIX( psEncCtrl->LTPCoef_Q14, WLTP, &psEncCtrl->LTPredCodGain_Q7, |
res_pitch, psEncCtrl->pitchL, Wght_Q15, psEnc->sCmn.subfr_length, |
- psEnc->sCmn.nb_subfr, psEnc->sCmn.ltp_mem_length, LTP_corrs_rshift ); |
+ psEnc->sCmn.nb_subfr, psEnc->sCmn.ltp_mem_length, LTP_corrs_rshift, psEnc->sCmn.arch ); |
/* Quantize LTP gain parameters */ |
silk_quant_LTP_gains( psEncCtrl->LTPCoef_Q14, psEnc->sCmn.indices.LTPIndex, &psEnc->sCmn.indices.PERIndex, |
- &psEnc->sCmn.sum_log_gain_Q7, WLTP, psEnc->sCmn.mu_LTP_Q9, psEnc->sCmn.LTPQuantLowComplexity, psEnc->sCmn.nb_subfr); |
+ &psEnc->sCmn.sum_log_gain_Q7, WLTP, psEnc->sCmn.mu_LTP_Q9, psEnc->sCmn.LTPQuantLowComplexity, psEnc->sCmn.nb_subfr, |
+ psEnc->sCmn.arch); |
/* Control LTP scaling */ |
silk_LTP_scale_ctrl_FIX( psEnc, psEncCtrl, condCoding ); |
@@ -118,16 +119,16 @@ void silk_find_pred_coefs_FIX( |
silk_memset( psEncCtrl->LTPCoef_Q14, 0, psEnc->sCmn.nb_subfr * LTP_ORDER * sizeof( opus_int16 ) ); |
psEncCtrl->LTPredCodGain_Q7 = 0; |
- psEnc->sCmn.sum_log_gain_Q7 = 0; |
+ psEnc->sCmn.sum_log_gain_Q7 = 0; |
} |
/* Limit on total predictive coding gain */ |
if( psEnc->sCmn.first_frame_after_reset ) { |
minInvGain_Q30 = SILK_FIX_CONST( 1.0f / MAX_PREDICTION_POWER_GAIN_AFTER_RESET, 30 ); |
- } else { |
+ } else { |
minInvGain_Q30 = silk_log2lin( silk_SMLAWB( 16 << 7, (opus_int32)psEncCtrl->LTPredCodGain_Q7, SILK_FIX_CONST( 1.0 / 3, 16 ) ) ); /* Q16 */ |
- minInvGain_Q30 = silk_DIV32_varQ( minInvGain_Q30, |
- silk_SMULWW( SILK_FIX_CONST( MAX_PREDICTION_POWER_GAIN, 0 ), |
+ minInvGain_Q30 = silk_DIV32_varQ( minInvGain_Q30, |
+ silk_SMULWW( SILK_FIX_CONST( MAX_PREDICTION_POWER_GAIN, 0 ), |
silk_SMLAWB( SILK_FIX_CONST( 0.25, 18 ), SILK_FIX_CONST( 0.75, 18 ), psEncCtrl->coding_quality_Q14 ) ), 14 ); |
} |
@@ -139,7 +140,7 @@ void silk_find_pred_coefs_FIX( |
/* Calculate residual energy using quantized LPC coefficients */ |
silk_residual_energy_FIX( psEncCtrl->ResNrg, psEncCtrl->ResNrgQ, LPC_in_pre, psEncCtrl->PredCoef_Q12, local_gains, |
- psEnc->sCmn.subfr_length, psEnc->sCmn.nb_subfr, psEnc->sCmn.predictLPCOrder ); |
+ psEnc->sCmn.subfr_length, psEnc->sCmn.nb_subfr, psEnc->sCmn.predictLPCOrder, psEnc->sCmn.arch ); |
/* Copy to prediction struct for use in next frame for interpolation */ |
silk_memcpy( psEnc->sCmn.prev_NLSFq_Q15, NLSF_Q15, sizeof( psEnc->sCmn.prev_NLSFq_Q15 ) ); |