Module: Mesa Branch: master Commit: 9ef42a54a7480272fb3bbedd11c84a8b77dae41f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ef42a54a7480272fb3bbedd11c84a8b77dae41f
Author: Christian König <[email protected]> Date: Tue Sep 17 07:22:34 2013 -0600 vl/vlc: add remove bits function Signed-off-by: Christian König <[email protected]> --- src/gallium/auxiliary/vl/vl_vlc.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/gallium/auxiliary/vl/vl_vlc.h b/src/gallium/auxiliary/vl/vl_vlc.h index 451fd5e..401b50e 100644 --- a/src/gallium/auxiliary/vl/vl_vlc.h +++ b/src/gallium/auxiliary/vl/vl_vlc.h @@ -338,4 +338,16 @@ vl_vlc_search_byte(struct vl_vlc *vlc, unsigned num_bits, uint8_t value) } } +/** + * remove num_bits bits starting at pos from the bitbuffer + */ +static INLINE void +vl_vlc_removebits(struct vl_vlc *vlc, unsigned pos, unsigned num_bits) +{ + uint64_t lo = (vlc->buffer & (~0UL >> (pos + num_bits))) << num_bits; + uint64_t hi = (vlc->buffer & (~0UL << (64 - pos))); + vlc->buffer = lo | hi; + vlc->invalid_bits += num_bits; +} + #endif /* vl_vlc_h */ _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
