Fixes a bug in the handling of the first packet after DTX
[opus.git] / src_SigProc_FIX / SKP_Silk_A2NLSF.c
index e2e0e29..592c88c 100644 (file)
@@ -117,7 +117,7 @@ SKP_INLINE void SKP_Silk_A2NLSF_init(
 /* Compute Normalized Line Spectral Frequencies (NLSFs) from whitening filter coefficients        */\r
 /* If not all roots are found, the a_Q16 coefficients are bandwidth expanded until convergence.    */\r
 void SKP_Silk_A2NLSF(\r
-    SKP_int          *NLSF,                 /* O    Normalized Line Spectral Frequencies, Q15 (0 - (2^15-1)), [d]    */\r
+    SKP_int16        *NLSF,                 /* O    Normalized Line Spectral Frequencies, Q15 (0 - (2^15-1)), [d]    */\r
     SKP_int32        *a_Q16,                /* I/O  Monic whitening filter coefficients in Q16 [d]                   */\r
     const SKP_int    d                      /* I    Filter order (must be even)                                      */\r
 )\r
@@ -210,9 +210,9 @@ void SKP_Silk_A2NLSF(
                 ffrac += SKP_DIV32( ylo, SKP_RSHIFT( ylo - yhi, 8 - BIN_DIV_STEPS_A2NLSF_FIX ) );\r
             }\r
 #if OVERSAMPLE_COSINE_TABLE\r
-            NLSF[ root_ix ] = (SKP_int)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 7 ) + ffrac, SKP_int16_MAX ); \r
+            NLSF[ root_ix ] = (SKP_int16)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 7 ) + ffrac, SKP_int16_MAX ); \r
 #else\r
-            NLSF[ root_ix ] = (SKP_int)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 8 ) + ffrac, SKP_int16_MAX ); \r
+            NLSF[ root_ix ] = (SKP_int16)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 8 ) + ffrac, SKP_int16_MAX ); \r
 #endif\r
 \r
             SKP_assert( NLSF[ root_ix ] >=     0 );\r
@@ -249,9 +249,9 @@ void SKP_Silk_A2NLSF(
                 i++;\r
                 if( i > MAX_ITERATIONS_A2NLSF_FIX ) {\r
                     /* Set NLSFs to white spectrum and exit */\r
-                    NLSF[ 0 ] = SKP_DIV32_16( 1 << 15, d + 1 );\r
+                    NLSF[ 0 ] = (SKP_int16)SKP_DIV32_16( 1 << 15, d + 1 );\r
                     for( k = 1; k < d; k++ ) {\r
-                        NLSF[ k ] = SKP_SMULBB( k + 1, NLSF[ 0 ] );\r
+                        NLSF[ k ] = (SKP_int16)SKP_SMULBB( k + 1, NLSF[ 0 ] );\r
                     }\r
                     return;\r
                 }\r