Lines Matching refs:num_bits

220  * get num_bits from bit buffer without removing them
223 vl_vlc_peekbits(struct vl_vlc *vlc, unsigned num_bits)
225 assert(vl_vlc_valid_bits(vlc) >= num_bits || vlc->data >= vlc->end);
226 return vlc->buffer >> (64 - num_bits);
230 * remove num_bits from bit buffer
233 vl_vlc_eatbits(struct vl_vlc *vlc, unsigned num_bits)
235 assert(vl_vlc_valid_bits(vlc) >= num_bits);
237 vlc->buffer <<= num_bits;
238 vlc->invalid_bits += num_bits;
242 * get num_bits from bit buffer with removing them
245 vl_vlc_get_uimsbf(struct vl_vlc *vlc, unsigned num_bits)
249 assert(vl_vlc_valid_bits(vlc) >= num_bits);
251 value = vlc->buffer >> (64 - num_bits);
252 vl_vlc_eatbits(vlc, num_bits);
258 * treat num_bits as signed value and remove them from bit buffer
261 vl_vlc_get_simsbf(struct vl_vlc *vlc, unsigned num_bits)
265 assert(vl_vlc_valid_bits(vlc) >= num_bits);
267 value = ((int64_t)vlc->buffer) >> (64 - num_bits);
268 vl_vlc_eatbits(vlc, num_bits);
277 vl_vlc_get_vlclbf(struct vl_vlc *vlc, const struct vl_vlc_entry *tbl, unsigned num_bits)
279 tbl += vl_vlc_peekbits(vlc, num_bits);
288 vl_vlc_search_byte(struct vl_vlc *vlc, unsigned num_bits, uint8_t value)
292 assert(num_bits == ~0u || (num_bits % 8) == 0);
304 if (num_bits != ~0u) {
305 num_bits -= 8;
306 if (num_bits == 0)
331 if (num_bits != ~0u) {
332 num_bits -= 8;
333 if (num_bits == 0) {
342 * remove num_bits bits starting at pos from the bitbuffer
345 vl_vlc_removebits(struct vl_vlc *vlc, unsigned pos, unsigned num_bits)
347 uint64_t lo = (vlc->buffer & (~0UL >> (pos + num_bits))) << num_bits;
350 vlc->invalid_bits += num_bits;