Update ec_dec_cdf() to use an unsigned cdf[].
authorTimothy B. Terriberry <tterribe@xiph.org>
Wed, 22 Dec 2010 01:45:08 +0000 (17:45 -0800)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Wed, 22 Dec 2010 02:00:41 +0000 (21:00 -0500)
For our current usage, this doesn't matter, but is more consistent
 with the rest of the API.
We may want to reduce this to an unsigned char[], but I'd rather
 coordinate that optimization with SILK's planned reduction to
 8-bit CDFs, as we may be able to use the same code.

libcelt/celt.c
libcelt/entdec.h
libcelt/rangedec.c
tests/ectest.c

index d1d0180..39194d4 100644 (file)
@@ -53,8 +53,8 @@
 #include <stdarg.h>
 #include "plc.h"
 
-static const int trim_cdf[12] = {0, 2, 4, 9, 19, 41, 87, 109, 119, 124, 126, 128};
-static const int spread_cdf[5] = {0, 7, 9, 30, 32};
+static const unsigned trim_cdf[12] = {0, 2, 4, 9, 19, 41, 87, 109, 119, 124, 126, 128};
+static const unsigned spread_cdf[5] = {0, 7, 9, 30, 32};
 
 #define COMBFILTER_MAXPERIOD 1024
 #define COMBFILTER_MINPERIOD 16
index 7617f71..d4c0686 100644 (file)
@@ -121,7 +121,7 @@ ec_uint32 ec_dec_uint(ec_dec *_this,ec_uint32 _ft);
   _ftb: The number of bits of precision in the cumulative distribution.
   Return: The decoded symbol s, which must have been encoded with
    ec_encode_bin(enc,_cdf[s],_cdf[s+1],_ftb).*/
-int ec_dec_cdf(ec_dec *_this,const int *_cdf,unsigned _ftb);
+int ec_dec_cdf(ec_dec *_this,const unsigned *_cdf,unsigned _ftb);
 
 /* Decode a bit that has a _prob/65536 probability of being a one */
 int ec_dec_bit_prob(ec_dec *_this,unsigned _prob);
index 9e3f41e..a068554 100644 (file)
@@ -187,7 +187,7 @@ int ec_dec_bit_logp(ec_dec *_this,unsigned _logp){
   return val;
 }
 
-int ec_dec_cdf(ec_dec *_this,const int *_cdf,unsigned _ftb){
+int ec_dec_cdf(ec_dec *_this,const unsigned *_cdf,unsigned _ftb){
   ec_uint32 r;
   ec_uint32 d;
   ec_uint32 s;
index 48f9fa4..190beef 100644 (file)
@@ -238,7 +238,7 @@ int main(int _argc,char **_argv){
           sym=ec_dec_bit_logp(&dec,logp1[j]);
         }break;
         case 3:{
-          int cdf[3];
+          unsigned cdf[3];
           cdf[0]=0;
           cdf[1]=(1<<logp1[j])-1;
           cdf[2]=1<<logp1[j];