Lines Matching refs:bs
238 static inline void bitstream_init(struct bitstream *bs, void *s, size_t len, unsigned int pad_bits) in bitstream_init() argument
240 bs->buf = s; in bitstream_init()
241 bs->buf_len = len; in bitstream_init()
242 bs->pad_bits = pad_bits; in bitstream_init()
243 bitstream_cursor_reset(&bs->cur, bs->buf); in bitstream_init()
246 static inline void bitstream_rewind(struct bitstream *bs) in bitstream_rewind() argument
248 bitstream_cursor_reset(&bs->cur, bs->buf); in bitstream_rewind()
249 memset(bs->buf, 0, bs->buf_len); in bitstream_rewind()
260 static inline int bitstream_put_bits(struct bitstream *bs, u64 val, const unsigned int bits) in bitstream_put_bits() argument
262 unsigned char *b = bs->cur.b; in bitstream_put_bits()
268 if ((bs->cur.b + ((bs->cur.bit + bits -1) >> 3)) - bs->buf >= bs->buf_len) in bitstream_put_bits()
275 *b++ |= (val & 0xff) << bs->cur.bit; in bitstream_put_bits()
277 for (tmp = 8 - bs->cur.bit; tmp < bits; tmp += 8) in bitstream_put_bits()
280 bitstream_cursor_advance(&bs->cur, bits); in bitstream_put_bits()
293 static inline int bitstream_get_bits(struct bitstream *bs, u64 *out, int bits) in bitstream_get_bits() argument
301 if (bs->cur.b + ((bs->cur.bit + bs->pad_bits + bits -1) >> 3) - bs->buf >= bs->buf_len) in bitstream_get_bits()
302 bits = ((bs->buf_len - (bs->cur.b - bs->buf)) << 3) in bitstream_get_bits()
303 - bs->cur.bit - bs->pad_bits; in bitstream_get_bits()
312 n = (bs->cur.bit + bits + 7) >> 3; in bitstream_get_bits()
316 memcpy(&val, bs->cur.b+1, n - 1); in bitstream_get_bits()
317 val = le64_to_cpu(val) << (8 - bs->cur.bit); in bitstream_get_bits()
321 val |= bs->cur.b[0] >> bs->cur.bit; in bitstream_get_bits()
326 bitstream_cursor_advance(&bs->cur, bits); in bitstream_get_bits()
340 static inline int vli_encode_bits(struct bitstream *bs, u64 in) in vli_encode_bits() argument
348 return bitstream_put_bits(bs, code, bits); in vli_encode_bits()