From 2b08d7a210f0d280fad9810f5b7f1fdbde1fe265 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Sat, 4 Oct 2008 21:10:26 -0400 Subject: Removing the 64-bit part of the range coder. --- libcelt/bands.c | 4 ++-- libcelt/entcode.c | 27 --------------------------- libcelt/entdec.c | 40 ---------------------------------------- libcelt/entenc.c | 25 ------------------------- tests/ectest.c | 24 ------------------------ 5 files changed, 2 insertions(+), 118 deletions(-) diff --git a/libcelt/bands.c b/libcelt/bands.c index 3cb6a13..6a642b3 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -355,7 +355,7 @@ void quant_bands(const CELTMode *m, celt_norm_t * restrict X, celt_norm_t *P, ce int tell; int q; celt_word16_t n; - celt_int16_t * const *BPbits; + const celt_int16_t * const *BPbits; int curr_balance, curr_bits; @@ -440,7 +440,7 @@ void unquant_bands(const CELTMode *m, celt_norm_t * restrict X, celt_norm_t *P, int tell; int q; celt_word16_t n; - celt_int16_t * const *BPbits; + const celt_int16_t * const *BPbits; int curr_balance, curr_bits; diff --git a/libcelt/entcode.c b/libcelt/entcode.c index bbb77fa..0f08d57 100644 --- a/libcelt/entcode.c +++ b/libcelt/entcode.c @@ -37,30 +37,3 @@ int ec_ilog(ec_uint32 _v){ #endif } -int ec_ilog64(ec_uint64 _v){ -#if defined(EC_CLZ64) - return EC_CLZ64_0-EC_CLZ64(_v); -#else - ec_uint32 v; - int ret; - int m; - ret=!!_v; - m=!!(_v&((ec_uint64)0xFFFFFFFF)<<32)<<5; - v=(ec_uint32)(_v>>m); - ret|=m; - m=!!(v&0xFFFF0000)<<4; - v>>=m; - ret|=m; - m=!!(v&0xFF00)<<3; - v>>=m; - ret|=m; - m=!!(v&0xF0)<<2; - v>>=m; - ret|=m; - m=!!(v&0xC)<<1; - v>>=m; - ret|=m; - ret+=!!(v&0x2); - return ret; -#endif -} diff --git a/libcelt/entdec.c b/libcelt/entdec.c index 3dee569..555543f 100644 --- a/libcelt/entdec.c +++ b/libcelt/entdec.c @@ -100,16 +100,6 @@ ec_uint32 ec_dec_bits(ec_dec *_this,int _ftb){ return t; } -ec_uint64 ec_dec_bits64(ec_dec *_this,int _ftb){ - ec_uint32 t; - if(_ftb>32){ - t=ec_dec_bits(_this,_ftb-32); - _ftb=32; - } - else t=0; - return (ec_uint64)t<<32|ec_dec_bits(_this,_ftb); -} - ec_uint32 ec_dec_uint(ec_dec *_this,ec_uint32 _ft){ ec_uint32 t; unsigned ft; @@ -139,33 +129,3 @@ ec_uint32 ec_dec_uint(ec_dec *_this,ec_uint32 _ft){ return t; } } - -ec_uint64 ec_dec_uint64(ec_dec *_this,ec_uint64 _ft){ - ec_uint64 t; - unsigned ft; - unsigned s; - int ftb; - t=0; - _ft--; - ftb=EC_ILOG64(_ft); - if(ftb>EC_UNIT_BITS){ - ftb-=EC_UNIT_BITS; - ft=(unsigned)(_ft>>ftb)+1; - s=ec_decode(_this,ft); - ec_dec_update(_this,s,s+1,ft); - t=t<_ft) - { - celt_notify("uint decode error"); - t = _ft; - } - return t; - } else { - _ft++; - s=ec_decode(_this,(unsigned)_ft); - ec_dec_update(_this,s,s+1,(unsigned)_ft); - t=t<32){ - ec_enc_bits(_this,(ec_uint32)(_fl>>32),_ftb-32); - _ftb=32; - _fl&=0xFFFFFFFF; - } - ec_enc_bits(_this,(ec_uint32)_fl,_ftb); -} - void ec_enc_uint(ec_enc *_this,ec_uint32 _fl,ec_uint32 _ft){ unsigned ft; unsigned fl; @@ -103,19 +94,3 @@ void ec_enc_uint(ec_enc *_this,ec_uint32 _fl,ec_uint32 _ft){ } } -void ec_enc_uint64(ec_enc *_this,ec_uint64 _fl,ec_uint64 _ft){ - unsigned ft; - unsigned fl; - int ftb; - _ft--; - ftb=EC_ILOG64(_ft)&-!!_ft; - if(ftb>EC_UNIT_BITS){ - ftb-=EC_UNIT_BITS; - ft=(unsigned)(_ft>>ftb)+1; - fl=(unsigned)(_fl>>ftb); - ec_encode(_this,fl,fl+1,ft); - ec_enc_bits64(_this,_fl,ftb); - } else { - ec_encode(_this,_fl,_fl+1,_ft+1); - } -} diff --git a/tests/ectest.c b/tests/ectest.c index 93441df..b3fc220 100644 --- a/tests/ectest.c +++ b/tests/ectest.c @@ -17,7 +17,6 @@ int main(int _argc,char **_argv){ ec_byte_buffer buf; ec_enc enc; ec_dec dec; - ec_uint64 sym64; long nbits; long nbits2; double entropy; @@ -36,8 +35,6 @@ int main(int _argc,char **_argv){ for(i=0;i