xine-lib: xine-lib-1.2.12/src/video_dec/libvdpau/vdec_hw_bits_reader.h File Reference

xine-lib 1.2.12

Data Structures | Functions
vdec_hw_bits_reader.h File Reference
`#include <sys/types.h>`
`#include <inttypes.h>`
`#include <stdio.h>`

Go to the source code of this file.

## Data Structures
struct | bits_reader_t

## Functions
static void | bits_set_buf (bits_reader_t *br, const uint8_t *buf, uint32_t len)
static uint32_t | bits_tell (bits_reader_t *br)
static uint32_t | _bits_read_slow (bits_reader_t *br, uint32_t bits)
static uint32_t | bits_read (bits_reader_t *br, const uint32_t bits)
static void | _bits_skip_slow (bits_reader_t *br, uint32_t bits)
static void | bits_skip (bits_reader_t *br, const uint32_t bits)
static uint32_t | bits_valid_left (bits_reader_t *br)
static uint32_t | bits_exp_ue (bits_reader_t *br)
static int32_t | bits_exp_se (bits_reader_t *br)

## Function Documentation

## ◆ _bits_read_slow()

static uint32_t _bits_read_slow | ( | bits_reader_t * | br,
|  | uint32_t | bits
| ) |  |
| static

NOTE: old code bailed out when end of bitstream was reached exactly.

References bits, bits_reader_t::bits, bits_reader_t::end, bits_reader_t::oflow, bits_reader_t::read, and bits_reader_t::val.

Referenced by bits_read().

## ◆ _bits_skip_slow()

static void _bits_skip_slow | ( | bits_reader_t * | br,
|  | uint32_t | bits
| ) |  |
| static

References bits, bits_reader_t::bits, bits_reader_t::end, bits_reader_t::oflow, bits_reader_t::read, and bits_reader_t::val.

Referenced by bits_skip().

## ◆ bits_exp_se()

static int32_t bits_exp_se | ( | bits_reader_t * | br | ) |
| inlinestatic

References bits_exp_ue().

Referenced by _vdec_hw_h264_pred_weight_table(), _vdec_hw_h264_read_pps(), _vdec_hw_h264_read_sps(), _vdec_hw_h264_slice_header(), and parse_scaling_list().

## ◆ bits_exp_ue()

static uint32_t bits_exp_ue | ( | bits_reader_t * | br | ) |
| static

References bits_reader_t::bits, bits_reader_t::end, bits_reader_t::oflow, bits_reader_t::read, and bits_reader_t::val.

Referenced by _vdec_hw_h264_dec_ref_pic_marking(), _vdec_hw_h264_pred_weight_table(), _vdec_hw_h264_read_pps(), _vdec_hw_h264_read_sps(), _vdec_hw_h264_read_vui(), _vdec_hw_h264_ref_pic_list_reordering(), _vdec_hw_h264_slice_header(), and bits_exp_se().

## ◆ bits_read()

static uint32_t bits_read | ( | bits_reader_t * | br,
|  | const uint32_t | bits
| ) |  |
| inlinestatic

bits <= 32

References _bits_read_slow(), bits, bits_reader_t::bits, v, and bits_reader_t::val.

Referenced by _vdec_hw_h264_dec_ref_pic_marking(), _vdec_hw_h264_pred_weight_table(), _vdec_hw_h264_read_pps(), _vdec_hw_h264_read_sps(), _vdec_hw_h264_read_vui(), _vdec_hw_h264_ref_pic_list_reordering(), and _vdec_hw_h264_slice_header().

## ◆ bits_set_buf()

static void bits_set_buf | ( | bits_reader_t * | br,
|  | const uint8_t * | buf,
|  | uint32_t | len
| ) |  |
| static

References bits_reader_t::bits, bits_reader_t::end, bits_reader_t::oflow, bits_reader_t::read, bits_reader_t::start, v, and bits_reader_t::val.

Referenced by _vdec_hw_h264_nal_unit(), and vdec_hw_h264_put_config().

## ◆ bits_skip()

static void bits_skip | ( | bits_reader_t * | br,
|  | const uint32_t | bits
| ) |  |
| inlinestatic

bits unlimited

References _bits_skip_slow(), bits, bits_reader_t::bits, and bits_reader_t::val.

Referenced by _vdec_hw_h264_dec_ref_pic_marking(), _vdec_hw_h264_read_vui(), and _vdec_hw_h264_slice_header().

## ◆ bits_tell()

static uint32_t bits_tell | ( | bits_reader_t * | br | ) |
| inlinestatic

References bits_reader_t::bits, bits_reader_t::read, and bits_reader_t::start.

## ◆ bits_valid_left()

static uint32_t bits_valid_left | ( | bits_reader_t * | br | ) |
| static

how many bits are left from here to the last "1"? NOTE: old code was off by -1.

References bits_reader_t::bits, bits_reader_t::end, bits_reader_t::read, v, and bits_reader_t::val.

Referenced by _vdec_hw_h264_read_pps().