X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=bitstream.h;h=07c65389081d9b4b979c5c556dc5e1a9d4ce75f1;hp=71d78fcd53cdb7edad5dbe77ee813846d45ae4a4;hb=96d3bb449fbff0bee733fb311c23247c32a13ca1;hpb=d1e59cd9694f425d6e03c5e002abafc712d59334 diff --git a/bitstream.h b/bitstream.h index 71d78fcd..07c65389 100644 --- a/bitstream.h +++ b/bitstream.h @@ -14,18 +14,16 @@ (((const uint8_t*)(x))[2] << 8) | \ ((const uint8_t*)(x))[3]) -# define NEG_USR32(a,s) (((uint32_t)(a))>>(32-(s))) +#define NEG_USR32(a,s) (((uint32_t)(a))>>(32-(s))) -/** - * Structure for bistream I/O. - * - * The buffer, buffer_end and size_in_bits fields must be present and are used - * by every reader. - */ +/** Structure for bistream I/O. */ struct getbit_context { - const uint8_t *buffer, *buffer_end; + /* Start of the internal buffer. */ + const uint8_t *buffer; + /* End of the internal buffer. */ + const uint8_t *buffer_end; + /** Bit counter. */ int index; - int size_in_bits; }; #define VLC_TYPE int16_t @@ -148,7 +146,7 @@ static inline unsigned int get_bits1(struct getbit_context *s) * \param bit_size The size of the buffer in bits. */ static inline void init_get_bits(struct getbit_context *s, - const uint8_t * buffer, int bit_size) + const uint8_t *buffer, int bit_size) { int buffer_size = (bit_size + 7) >> 3; if (buffer_size < 0 || bit_size < 0) { @@ -156,14 +154,12 @@ static inline void init_get_bits(struct getbit_context *s, buffer = NULL; } s->buffer = buffer; - s->size_in_bits = bit_size; s->buffer_end = buffer + buffer_size; s->index = 0; } -int init_vlc(struct vlc *vlc, int nb_bits, int nb_codes, - const void *bits, int bits_wrap, int bits_size, - const void *codes, int codes_wrap, int codes_size); +void init_vlc(struct vlc *vlc, int nb_bits, int nb_codes, const void *bits, + const void *codes, int codes_size); void free_vlc(struct vlc *vlc);