Big SILK update
[opus.git] / src_FLP / SKP_Silk_find_pred_coefs_FLP.c
index 9553f0c..1efd8dc 100644 (file)
@@ -29,9 +29,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 \r
 void SKP_Silk_find_pred_coefs_FLP(\r
 \r
 \r
 void SKP_Silk_find_pred_coefs_FLP(\r
-    SKP_Silk_encoder_state_FLP      *psEnc,         /* I/O  Encoder state FLP               */\r
-    SKP_Silk_encoder_control_FLP    *psEncCtrl,     /* I/O  Encoder control FLP             */\r
-    const SKP_float                 res_pitch[]     /* I    Residual from pitch analysis    */\r
+    SKP_Silk_encoder_state_FLP      *psEnc,             /* I/O  Encoder state FLP                       */\r
+    SKP_Silk_encoder_control_FLP    *psEncCtrl,         /* I/O  Encoder control FLP                     */\r
+    const SKP_float                 res_pitch[],        /* I    Residual from pitch analysis            */\r
+    const SKP_float                 x[]                 /* I    Speech signal                           */\r
 )\r
 {\r
     SKP_int         i;\r
 )\r
 {\r
     SKP_int         i;\r
@@ -60,9 +61,14 @@ void SKP_Silk_find_pred_coefs_FLP(
             psEncCtrl->sCmn.pitchL, Wght, psEnc->sCmn.subfr_length,\r
             psEnc->sCmn.nb_subfr, psEnc->sCmn.ltp_mem_length );\r
 \r
             psEncCtrl->sCmn.pitchL, Wght, psEnc->sCmn.subfr_length,\r
             psEnc->sCmn.nb_subfr, psEnc->sCmn.ltp_mem_length );\r
 \r
+#ifdef SAVE_ALL_INTERNAL_DATA\r
+               DEBUG_STORE_DATA( ltp_gains.dat, psEncCtrl->LTPCoef, sizeof( psEncCtrl->LTPCoef ) );\r
+               DEBUG_STORE_DATA( ltp_weights.dat, WLTP, sizeof( WLTP ) );\r
+#endif\r
+\r
         /* Quantize LTP gain parameters */\r
         SKP_Silk_quant_LTP_gains_FLP( psEncCtrl->LTPCoef, psEncCtrl->sCmn.LTPIndex, &psEncCtrl->sCmn.PERIndex, \r
         /* Quantize LTP gain parameters */\r
         SKP_Silk_quant_LTP_gains_FLP( psEncCtrl->LTPCoef, psEncCtrl->sCmn.LTPIndex, &psEncCtrl->sCmn.PERIndex, \r
-            WLTP, psEnc->mu_LTP, psEnc->sCmn.LTPQuantLowComplexity , psEnc->sCmn.nb_subfr );\r
+            WLTP, psEnc->sCmn.mu_LTP_Q10, psEnc->sCmn.LTPQuantLowComplexity , psEnc->sCmn.nb_subfr );\r
 \r
         /* Control LTP scaling */\r
         SKP_Silk_LTP_scale_ctrl_FLP( psEnc, psEncCtrl );\r
 \r
         /* Control LTP scaling */\r
         SKP_Silk_LTP_scale_ctrl_FLP( psEnc, psEncCtrl );\r
@@ -76,7 +82,7 @@ void SKP_Silk_find_pred_coefs_FLP(
         /* UNVOICED */\r
         /************/\r
         /* Create signal with prepended subframes, scaled by inverse gains */\r
         /* UNVOICED */\r
         /************/\r
         /* Create signal with prepended subframes, scaled by inverse gains */\r
-        x_ptr     = psEnc->x_buf + psEnc->sCmn.ltp_mem_length - psEnc->sCmn.predictLPCOrder;\r
+        x_ptr     = x - psEnc->sCmn.predictLPCOrder;\r
         x_pre_ptr = LPC_in_pre;\r
         for( i = 0; i < psEnc->sCmn.nb_subfr; i++ ) {\r
             SKP_Silk_scale_copy_vector_FLP( x_pre_ptr, x_ptr, invGains[ i ], \r
         x_pre_ptr = LPC_in_pre;\r
         for( i = 0; i < psEnc->sCmn.nb_subfr; i++ ) {\r
             SKP_Silk_scale_copy_vector_FLP( x_pre_ptr, x_ptr, invGains[ i ], \r
@@ -104,7 +110,5 @@ void SKP_Silk_find_pred_coefs_FLP(
 \r
     /* Copy to prediction struct for use in next frame for fluctuation reduction */\r
     SKP_memcpy( psEnc->sPred.prev_NLSFq, NLSF, psEnc->sCmn.predictLPCOrder * sizeof( SKP_float ) );\r
 \r
     /* Copy to prediction struct for use in next frame for fluctuation reduction */\r
     SKP_memcpy( psEnc->sPred.prev_NLSFq, NLSF, psEnc->sCmn.predictLPCOrder * sizeof( SKP_float ) );\r
-\r
-\r
 }\r
 \r
 }\r
 \r