Update SILK code using the CELT range coder
[opus.git] / src_SigProc_FIX / SKP_Silk_apply_sine_window.c
similarity index 89%
rename from src/SKP_Silk_apply_sine_window.c
rename to src_SigProc_FIX/SKP_Silk_apply_sine_window.c
index 5d2b569..3b8c8cf 100644 (file)
@@ -41,8 +41,7 @@ void SKP_Silk_apply_sine_window(
 )\r
 {\r
     SKP_int   k;\r
-    SKP_int32 px32, f_Q16, c_Q20, S0_Q16, S1_Q16;\r
-\r
+    SKP_int32 f_Q16, c_Q20, S0_Q16, S1_Q16;\r
     /* Length must be multiple of 4 */\r
     SKP_assert( ( length & 3 ) == 0 );\r
 \r
@@ -74,18 +73,17 @@ void SKP_Silk_apply_sine_window(
         S1_Q16 = ( 1 << 16 ) + SKP_RSHIFT( c_Q20, 5 );\r
     }\r
 \r
+\r
     /* Uses the recursive equation:   sin(n*f) = 2 * cos(f) * sin((n-1)*f) - sin((n-2)*f)    */\r
     /* 4 samples at a time */\r
     for( k = 0; k < length; k += 4 ) {\r
-        px32 = *( (SKP_int32 *)&px[ k ] );                        /* load two values at once */\r
-        px_win[ k ]     = (SKP_int16)SKP_SMULWB( SKP_RSHIFT( S0_Q16 + S1_Q16, 1 ), px32 );\r
-        px_win[ k + 1 ] = (SKP_int16)SKP_SMULWT( S1_Q16, px32 );\r
+        px_win[ k ]     = (SKP_int16)SKP_SMULWB( SKP_RSHIFT( S0_Q16 + S1_Q16, 1 ), px[ k ] );\r
+        px_win[ k + 1 ] = (SKP_int16)SKP_SMULWB( S1_Q16, px[ k + 1] );\r
         S0_Q16 = SKP_RSHIFT( SKP_MUL( c_Q20, S1_Q16 ), 20 ) + SKP_LSHIFT( S1_Q16, 1 ) - S0_Q16 + 1;\r
         S0_Q16 = SKP_min( S0_Q16, ( 1 << 16 ) );\r
 \r
-        px32 = *( (SKP_int32 *)&px[k + 2] );                    /* load two values at once */\r
-        px_win[ k + 2 ] = (SKP_int16)SKP_SMULWB( SKP_RSHIFT( S0_Q16 + S1_Q16, 1 ), px32 );\r
-        px_win[ k + 3 ] = (SKP_int16)SKP_SMULWT( S0_Q16, px32 );\r
+        px_win[ k + 2 ] = (SKP_int16)SKP_SMULWB( SKP_RSHIFT( S0_Q16 + S1_Q16, 1 ), px[ k + 2] );\r
+        px_win[ k + 3 ] = (SKP_int16)SKP_SMULWB( S0_Q16, px[ k + 3 ] );\r
         S1_Q16 = SKP_RSHIFT( SKP_MUL( c_Q20, S0_Q16 ), 20 ) + SKP_LSHIFT( S0_Q16, 1 ) - S1_Q16;\r
         S1_Q16 = SKP_min( S1_Q16, ( 1 << 16 ) );\r
     }\r