diff --git a/libcelt/entdec.c b/libcelt/entdec.c index aca0aca2..c57eee30 100644 --- a/libcelt/entdec.c +++ b/libcelt/entdec.c @@ -60,23 +60,6 @@ int ec_byte_read1(ec_byte_buffer *_b){ else return *(_b->ptr++); } - -ec_uint32 ec_dec_bits(ec_dec *_this,int _ftb){ - ec_uint32 t; - unsigned s; - t=0; - while(_ftb>EC_UNIT_BITS){ - s=ec_decode_raw(_this,EC_UNIT_BITS); - /*ec_dec_update(_this,s,s+1,EC_UNIT_MASK+1);*/ - t=t<_ft) { _this->error |= 1; diff --git a/libcelt/entdec.h b/libcelt/entdec.h index c13bce77..7d3046dc 100644 --- a/libcelt/entdec.h +++ b/libcelt/entdec.h @@ -80,7 +80,6 @@ void ec_dec_init(ec_dec *_this,ec_byte_buffer *_buf); will fall in the range [fl,fh).*/ unsigned ec_decode(ec_dec *_this,unsigned _ft); unsigned ec_decode_bin(ec_dec *_this,unsigned _bits); -unsigned ec_decode_raw(ec_dec *_this,unsigned bits); /*Advance the decoder past the next symbol using the frequency information the symbol was encoded with. @@ -103,7 +102,7 @@ void ec_dec_update(ec_dec *_this,unsigned _fl,unsigned _fh, _ftb: The number of bits to extract. This must be at least one, and no more than 32. Return: The decoded bits.*/ -ec_uint32 ec_dec_bits(ec_dec *_this,int _ftb); +ec_uint32 ec_dec_bits(ec_dec *_this,unsigned _ftb); /*Extracts a raw unsigned integer with a non-power-of-2 range from the stream. The bits must have been encoded with ec_enc_uint(). No call to ec_dec_update() is necessary after this call. diff --git a/libcelt/entenc.c b/libcelt/entenc.c index 1e194e61..e395f331 100644 --- a/libcelt/entenc.c +++ b/libcelt/entenc.c @@ -70,20 +70,6 @@ int ec_byte_write_at_end(ec_byte_buffer *_b,unsigned _value){ } } - -void ec_enc_bits(ec_enc *_this,ec_uint32 _fl,int _ftb){ - unsigned fl; - unsigned ft; - while(_ftb>EC_UNIT_BITS){ - _ftb-=EC_UNIT_BITS; - fl=(unsigned)(_fl>>_ftb)&EC_UNIT_MASK; - ec_encode_raw(_this,fl,fl+1,EC_UNIT_BITS); - } - ft=1<<_ftb; - fl=(unsigned)_fl&ft-1; - ec_encode_raw(_this,fl,fl+1,_ftb); -} - void ec_enc_uint(ec_enc *_this,ec_uint32 _fl,ec_uint32 _ft){ unsigned ft; unsigned fl; @@ -97,7 +83,7 @@ void ec_enc_uint(ec_enc *_this,ec_uint32 _fl,ec_uint32 _ft){ ft=(_ft>>ftb)+1; fl=(unsigned)(_fl>>ftb); ec_encode(_this,fl,fl+1,ft); - ec_enc_bits(_this,_fl,ftb); + ec_enc_bits(_this,_fl&(1<nb_end_bits += bits; diff --git a/libcelt/rangeenc.c b/libcelt/rangeenc.c index 48b00c2f..b4a7343c 100644 --- a/libcelt/rangeenc.c +++ b/libcelt/rangeenc.c @@ -153,7 +153,7 @@ void ec_enc_bit_prob(ec_enc *_this,int _val,unsigned _prob){ ec_enc_normalize(_this); } -void ec_encode_raw(ec_enc *_this,unsigned _fl,unsigned _fh,unsigned bits){ +void ec_enc_bits(ec_enc *_this,unsigned _fl,unsigned bits){ _this->nb_end_bits += bits; while (bits >= _this->end_bits_left) {