Update SILK code using the CELT range coder
[opus.git] / src_common / SKP_Silk_code_signs.c
similarity index 92%
rename from src/SKP_Silk_code_signs.c
rename to src_common/SKP_Silk_code_signs.c
index 007a6bf..aa076ed 100644 (file)
@@ -36,7 +36,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 /* Encodes signs of excitation */\r
 void SKP_Silk_encode_signs(\r
     SKP_Silk_range_coder_state      *sRC,               /* I/O  Range coder state                       */\r
-    const SKP_int                   q[],                /* I    Pulse signal                            */\r
+    const SKP_int8                  q[],                /* I    Pulse signal                            */\r
     const SKP_int                   length,             /* I    Length of input                         */\r
     const SKP_int                   sigtype,            /* I    Signal type                             */\r
     const SKP_int                   QuantOffsetType,    /* I    Quantization offset type                */\r
@@ -45,10 +45,12 @@ void SKP_Silk_encode_signs(
 {\r
     SKP_int i;\r
     SKP_int inData;\r
-    const SKP_uint16 *cdf;\r
+    SKP_uint16 cdf[ 3 ];\r
 \r
     i = SKP_SMULBB( N_RATE_LEVELS - 1, SKP_LSHIFT( sigtype, 1 ) + QuantOffsetType ) + RateLevelIndex;\r
-    cdf = SKP_Silk_sign_CDF[ i ];\r
+    cdf[ 0 ] = 0;\r
+    cdf[ 1 ] = SKP_Silk_sign_CDF[ i ];\r
+    cdf[ 2 ] = 65535;\r
     \r
     for( i = 0; i < length; i++ ) {\r
         if( q[ i ] != 0 ) {\r
@@ -70,10 +72,12 @@ void SKP_Silk_decode_signs(
 {\r
     SKP_int i;\r
     SKP_int data;\r
-    const SKP_uint16 *cdf;\r
+    SKP_uint16 cdf[ 3 ];\r
 \r
     i = SKP_SMULBB( N_RATE_LEVELS - 1, SKP_LSHIFT( sigtype, 1 ) + QuantOffsetType ) + RateLevelIndex;\r
-    cdf = SKP_Silk_sign_CDF[ i ];\r
+    cdf[ 0 ] = 0;\r
+    cdf[ 1 ] = SKP_Silk_sign_CDF[ i ];\r
+    cdf[ 2 ] = 65535;\r
     \r
     for( i = 0; i < length; i++ ) {\r
         if( q[ i ] > 0 ) {\r