SILK update with LBRR and some bugfixes
[opus.git] / src_FIX / SKP_Silk_prefilter_FIX.c
index 1b7dcd2..58be293 100644 (file)
@@ -1,5 +1,5 @@
 /***********************************************************************\r
-Copyright (c) 2006-2010, Skype Limited. All rights reserved. \r
+Copyright (c) 2006-2011, Skype Limited. All rights reserved. \r
 Redistribution and use in source and binary forms, with or without \r
 modification, (subject to the limitations in the disclaimer below) \r
 are permitted provided that the following conditions are met:\r
@@ -26,7 +26,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ***********************************************************************/\r
 \r
 #include "SKP_Silk_main_FIX.h"\r
-#include "SKP_Silk_perceptual_parameters_FIX.h"\r
+#include "SKP_Silk_tuning_parameters.h"\r
 \r
 /* SKP_Silk_prefilter. Prefilter for finding Quantizer input signal */\r
 SKP_INLINE void SKP_Silk_prefilt_FIX(\r
@@ -106,8 +106,8 @@ void SKP_Silk_prefilter_FIX(
     lag = P->lagPrev;\r
     for( k = 0; k < psEnc->sCmn.nb_subfr; k++ ) {\r
         /* Update Variables that change per sub frame */\r
-        if( psEncCtrl->sCmn.sigtype == SIG_TYPE_VOICED ) {\r
-            lag = psEncCtrl->sCmn.pitchL[ k ];\r
+        if( psEnc->sCmn.indices.signalType == TYPE_VOICED ) {\r
+            lag = psEncCtrl->pitchL[ k ];\r
         }\r
 \r
         /* Noise shape parameters */\r
@@ -120,15 +120,15 @@ void SKP_Silk_prefilter_FIX(
         AR1_shp_Q13 = &psEncCtrl->AR1_Q13[   k * MAX_SHAPE_LPC_ORDER ];\r
 \r
         /* Short term FIR filtering*/\r
-        SKP_Silk_warped_LPC_analysis_filter_FIX( P->sAR_shp1, st_res, AR1_shp_Q13, px, \r
-            psEncCtrl->sCmn.warping_Q16, psEnc->sCmn.subfr_length, psEnc->sCmn.shapingLPCOrder );\r
+        SKP_Silk_warped_LPC_analysis_filter_FIX( P->sAR_shp, st_res, AR1_shp_Q13, px, \r
+            psEnc->sCmn.warping_Q16, psEnc->sCmn.subfr_length, psEnc->sCmn.shapingLPCOrder );\r
 \r
         /* reduce (mainly) low frequencies during harmonic emphasis */\r
         B_Q12[ 0 ] = SKP_RSHIFT_ROUND( psEncCtrl->GainsPre_Q14[ k ], 2 );\r
-        tmp_32 = SKP_SMLABB( INPUT_TILT_Q26, psEncCtrl->HarmBoost_Q14[ k ], HarmShapeGain_Q12 ); /* Q26 */\r
-        tmp_32 = SKP_SMLABB( tmp_32, psEncCtrl->coding_quality_Q14, HIGH_RATE_INPUT_TILT_Q12 );  /* Q26 */\r
-        tmp_32 = SKP_SMULWB( tmp_32, -psEncCtrl->GainsPre_Q14[ k ] );                            /* Q24 */\r
-        tmp_32 = SKP_RSHIFT_ROUND( tmp_32, 12 );                                                 /* Q12 */\r
+        tmp_32 = SKP_SMLABB( SKP_FIX_CONST( INPUT_TILT, 26 ), psEncCtrl->HarmBoost_Q14[ k ], HarmShapeGain_Q12 );   /* Q26 */\r
+        tmp_32 = SKP_SMLABB( tmp_32, psEncCtrl->coding_quality_Q14, SKP_FIX_CONST( HIGH_RATE_INPUT_TILT, 12 ) );    /* Q26 */\r
+        tmp_32 = SKP_SMULWB( tmp_32, -psEncCtrl->GainsPre_Q14[ k ] );                                               /* Q24 */\r
+        tmp_32 = SKP_RSHIFT_ROUND( tmp_32, 12 );                                                                    /* Q12 */\r
         B_Q12[ 1 ]= SKP_SAT16( tmp_32 );\r
 \r
         x_filt_Q12[ 0 ] = SKP_SMLABB( SKP_SMULBB( st_res[ 0 ], B_Q12[ 0 ] ), P->sHarmHP, B_Q12[ 1 ] );\r
@@ -144,7 +144,7 @@ void SKP_Silk_prefilter_FIX(
         pxw += psEnc->sCmn.subfr_length;\r
     }\r
 \r
-    P->lagPrev = psEncCtrl->sCmn.pitchL[ MAX_NB_SUBFR - 1 ];\r
+    P->lagPrev = psEncCtrl->pitchL[ MAX_NB_SUBFR - 1 ];\r
 }\r
 \r
 /* SKP_Silk_prefilter. Prefilter for finding Quantizer input signal                           */\r
@@ -165,10 +165,10 @@ SKP_INLINE void SKP_Silk_prefilt_FIX(
     SKP_int16 *LTP_shp_buf;\r
 \r
     /* To speed up use temp variables instead of using the struct */\r
-    LTP_shp_buf     = P->sLTP_shp1;\r
-    LTP_shp_buf_idx = P->sLTP_shp_buf_idx1;\r
-    sLF_AR_shp_Q12  = P->sLF_AR_shp1_Q12;\r
-    sLF_MA_shp_Q12  = P->sLF_MA_shp1_Q12;\r
+    LTP_shp_buf     = P->sLTP_shp;\r
+    LTP_shp_buf_idx = P->sLTP_shp_buf_idx;\r
+    sLF_AR_shp_Q12  = P->sLF_AR_shp_Q12;\r
+    sLF_MA_shp_Q12  = P->sLF_MA_shp_Q12;\r
 \r
     for( i = 0; i < length; i++ ) {\r
         if( lag > 0 ) {\r
@@ -195,7 +195,7 @@ SKP_INLINE void SKP_Silk_prefilt_FIX(
     }\r
 \r
     /* Copy temp variable back to state */\r
-    P->sLF_AR_shp1_Q12   = sLF_AR_shp_Q12;\r
-    P->sLF_MA_shp1_Q12   = sLF_MA_shp_Q12;\r
-    P->sLTP_shp_buf_idx1 = LTP_shp_buf_idx;\r
+    P->sLF_AR_shp_Q12   = sLF_AR_shp_Q12;\r
+    P->sLF_MA_shp_Q12   = sLF_MA_shp_Q12;\r
+    P->sLTP_shp_buf_idx = LTP_shp_buf_idx;\r
 }\r