diff --git a/libcelt/entcode.h b/libcelt/entcode.h index ee1d1d9ac7117774635a26175e8f1fe80939f55b..bc01a58cba0778d075ccc7112329c400901d8ce0 100644 --- a/libcelt/entcode.h +++ b/libcelt/entcode.h @@ -56,34 +56,27 @@ struct ec_byte_buffer{ unsigned char *buf; unsigned char *ptr; unsigned char *end_ptr; - long storage; + ec_uint32 storage; }; /*Encoding functions.*/ -void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, long _size); -void ec_byte_shrink(ec_byte_buffer *_b, long _size); -void ec_byte_writeinit(ec_byte_buffer *_b); -void ec_byte_writetrunc(ec_byte_buffer *_b,long _bytes); +void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, ec_uint32 _size); +void ec_byte_shrink(ec_byte_buffer *_b, ec_uint32 _size); int ec_byte_write1(ec_byte_buffer *_b,unsigned _value); int ec_byte_write_at_end(ec_byte_buffer *_b,unsigned _value); -void ec_byte_write4(ec_byte_buffer *_b,ec_uint32 _value); -void ec_byte_writecopy(ec_byte_buffer *_b,void *_source,long _bytes); -void ec_byte_writeclear(ec_byte_buffer *_b); /*Decoding functions.*/ -void ec_byte_readinit(ec_byte_buffer *_b,unsigned char *_buf,long _bytes); -int ec_byte_look1(ec_byte_buffer *_b); +void ec_byte_readinit(ec_byte_buffer *_b,unsigned char *_buf,ec_uint32 _bytes); unsigned char ec_byte_look_at_end(ec_byte_buffer *_b); int ec_byte_look4(ec_byte_buffer *_b,ec_uint32 *_val); void ec_byte_adv1(ec_byte_buffer *_b); void ec_byte_adv4(ec_byte_buffer *_b); int ec_byte_read1(ec_byte_buffer *_b); -int ec_byte_read4(ec_byte_buffer *_b,ec_uint32 *_val); /*Shared functions.*/ static inline void ec_byte_reset(ec_byte_buffer *_b){ _b->ptr=_b->buf; } -static inline long ec_byte_bytes(ec_byte_buffer *_b){ +static inline ec_uint32 ec_byte_bytes(ec_byte_buffer *_b){ return _b->ptr-_b->buf; } diff --git a/libcelt/entdec.c b/libcelt/entdec.c index b29eae1f1ea45a2776b70b2c67a0c7e20a3095ce..d56fc5bee1f8040da6f21413e8109e3ba45d9ef8 100644 --- a/libcelt/entdec.c +++ b/libcelt/entdec.c @@ -38,7 +38,7 @@ #include "os_support.h" #include "arch.h" -void ec_byte_readinit(ec_byte_buffer *_b,unsigned char *_buf,long _bytes){ +void ec_byte_readinit(ec_byte_buffer *_b,unsigned char *_buf,ec_uint32 _bytes){ _b->buf=_b->ptr=_buf; _b->storage=_bytes; _b->end_ptr=_b->buf+_bytes-1; diff --git a/libcelt/entdec.h b/libcelt/entdec.h index 7e9d1278e6082eb3dab260f0c515ad2b76df7247..c13bce7773a74586d9b1115e7541acf475f4010d 100644 --- a/libcelt/entdec.h +++ b/libcelt/entdec.h @@ -123,7 +123,7 @@ int ec_dec_bit_prob(ec_dec *_this,unsigned _prob); Return: The number of bits scaled by 2**_b. This will always be slightly larger than the exact value (e.g., all rounding error is in the positive direction).*/ -long ec_dec_tell(ec_dec *_this,int _b); +ec_uint32 ec_dec_tell(ec_dec *_this,int _b); /*Returns a nonzero value if any error has been detected during decoding*/ int ec_dec_get_error(ec_dec *_this); diff --git a/libcelt/entenc.c b/libcelt/entenc.c index 82f208edeba7d50a53ee50cdf6a42ef833c12332..1e194e6123b012768c79a77b4e4ab226ec00ecb7 100644 --- a/libcelt/entenc.c +++ b/libcelt/entenc.c @@ -38,13 +38,13 @@ #include "arch.h" -void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, long _size){ +void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, ec_uint32 _size){ _b->ptr=_b->buf=_buf; _b->end_ptr=_b->buf+_size-1; _b->storage=_size; } -void ec_byte_shrink(ec_byte_buffer *_b, long _size){ +void ec_byte_shrink(ec_byte_buffer *_b, ec_uint32 _size){ _b->end_ptr=_b->buf+_size-1; _b->storage=_size; } diff --git a/libcelt/entenc.h b/libcelt/entenc.h index 09abe9f70079e788c488fb9e1577ad5de08ea05c..5cff4d006ee553a4c79b57eb92ff4f94317b3957 100644 --- a/libcelt/entenc.h +++ b/libcelt/entenc.h @@ -104,7 +104,7 @@ void ec_enc_bit_prob(ec_enc *_this,int val,unsigned _prob); Return: The number of bits scaled by 2**_b. This will always be slightly larger than the exact value (e.g., all rounding error is in the positive direction).*/ -long ec_enc_tell(ec_enc *_this,int _b); +ec_uint32 ec_enc_tell(ec_enc *_this,int _b); /*Indicates that there are no more symbols to encode. All reamining output bytes are flushed to the output buffer. diff --git a/libcelt/rangedec.c b/libcelt/rangedec.c index 65a5e60e005618ebe5ad94f9e08d9bd8978c9472..0d70f565ebdc23e26f513809d756f796e51722a6 100644 --- a/libcelt/rangedec.c +++ b/libcelt/rangedec.c @@ -203,10 +203,10 @@ int ec_dec_bit_prob(ec_dec *_this,unsigned _prob){ return val; } -long ec_dec_tell(ec_dec *_this,int _b){ +ec_uint32 ec_dec_tell(ec_dec *_this,int _b){ ec_uint32 r; int l; - long nbits; + ec_uint32 nbits; nbits=(ec_byte_bytes(_this->buf)-(EC_CODE_BITS+EC_SYM_BITS-1)/EC_SYM_BITS)* EC_SYM_BITS; /*To handle the non-integral number of bits still left in the decoder state, diff --git a/libcelt/rangeenc.c b/libcelt/rangeenc.c index 9f874b21e6824ecb40f50e7639141b906f0bc37b..48b00c2fbb501ea4b2784ee7f2027d98db754d70 100644 --- a/libcelt/rangeenc.c +++ b/libcelt/rangeenc.c @@ -168,10 +168,10 @@ void ec_encode_raw(ec_enc *_this,unsigned _fl,unsigned _fh,unsigned bits){ _this->end_bits_left -= bits; } -long ec_enc_tell(ec_enc *_this,int _b){ +ec_uint32 ec_enc_tell(ec_enc *_this,int _b){ ec_uint32 r; int l; - long nbits; + ec_uint32 nbits; nbits=(ec_byte_bytes(_this->buf)+(_this->rem>=0)+_this->ext)*EC_SYM_BITS; /*To handle the non-integral number of bits still left in the encoder state, we compute the number of bits of low that must be encoded to ensure that diff --git a/tests/ectest.c b/tests/ectest.c index 4552c1b654ea69b24a829c2a37153897f212518b..76c3f4e370462158d7fb710867adfc719359a6de 100644 --- a/tests/ectest.c +++ b/tests/ectest.c @@ -132,7 +132,7 @@ int main(int _argc,char **_argv){ ec_enc_done(&enc); if ((tell_bits+7)/8 < ec_byte_bytes(&buf)) { - fprintf (stderr, "tell() lied, there's %li bytes instead of %d (Random seed: %u)\n", + fprintf (stderr, "tell() lied, there's %i bytes instead of %d (Random seed: %u)\n", ec_byte_bytes(&buf), (tell_bits+7)/8,seed); ret=-1; }