VLC  3.0.15
Data Structures | Macros | Typedefs | Functions
vlc_bits.h File Reference
Include dependency graph for vlc_bits.h:

Go to the source code of this file.

Data Structures

struct  bs_s
 

Macros

#define bs_forward(s, i)   s->p = s->pf_forward ? s->pf_forward( s->p, s->p_end, s->p_fwpriv, i ) : s->p + i
 

Typedefs

typedef struct bs_s bs_t
 

Functions

static void bs_write_init (bs_t *s, void *p_data, size_t i_data)
 
static void bs_init (bs_t *s, const void *p_data, size_t i_data)
 
static int bs_pos (const bs_t *s)
 
static int bs_remain (const bs_t *s)
 
static int bs_eof (const bs_t *s)
 
static uint32_t bs_read (bs_t *s, int i_count)
 
static uint32_t bs_read1 (bs_t *s)
 
static uint32_t bs_show (bs_t *s, int i_count)
 
static void bs_skip (bs_t *s, ssize_t i_count)
 
static void bs_write (bs_t *s, int i_count, uint32_t i_bits)
 
static bool bs_aligned (bs_t *s)
 
static void bs_align (bs_t *s)
 
static void bs_align_0 (bs_t *s)
 
static void bs_align_1 (bs_t *s)
 
static uint_fast32_t bs_read_ue (bs_t *bs)
 
static int_fast32_t bs_read_se (bs_t *s)
 

Detailed Description

This file defines functions, structures for handling streams of bits in vlc

Macro Definition Documentation

◆ bs_forward

#define bs_forward (   s,
 
)    s->p = s->pf_forward ? s->pf_forward( s->p, s->p_end, s->p_fwpriv, i ) : s->p + i

Typedef Documentation

◆ bs_t

typedef struct bs_s bs_t

Function Documentation

◆ bs_align()

static void bs_align ( bs_t s)
inlinestatic

References bs_s::i_left, and bs_s::p.

◆ bs_align_0()

static void bs_align_0 ( bs_t s)
inlinestatic

References bs_write(), and bs_s::i_left.

◆ bs_align_1()

static void bs_align_1 ( bs_t s)
inlinestatic

◆ bs_aligned()

static bool bs_aligned ( bs_t s)
inlinestatic

References bs_s::i_left.

◆ bs_eof()

static int bs_eof ( const bs_t s)
inlinestatic

References bs_s::p, and bs_s::p_end.

◆ bs_init()

static void bs_init ( bs_t s,
const void *  p_data,
size_t  i_data 
)
inlinestatic

◆ bs_pos()

static int bs_pos ( const bs_t s)
inlinestatic

References bs_s::i_left, bs_s::p, and bs_s::p_start.

◆ bs_read()

static uint32_t bs_read ( bs_t s,
int  i_count 
)
inlinestatic

References bs_forward, bs_s::i_left, bs_s::p, and bs_s::p_end.

Referenced by bs_read_ue(), and bs_show().

◆ bs_read1()

static uint32_t bs_read1 ( bs_t s)
inlinestatic

References bs_forward, bs_s::i_left, bs_s::p, and bs_s::p_end.

Referenced by bs_read_ue().

◆ bs_read_se()

static int_fast32_t bs_read_se ( bs_t s)
inlinestatic

References bs_read_ue().

◆ bs_read_ue()

static uint_fast32_t bs_read_ue ( bs_t bs)
inlinestatic

References bs_read(), bs_read1(), bs_s::p, and bs_s::p_end.

Referenced by bs_read_se().

◆ bs_remain()

static int bs_remain ( const bs_t s)
inlinestatic

References bs_s::i_left, bs_s::p, and bs_s::p_end.

◆ bs_show()

static uint32_t bs_show ( bs_t s,
int  i_count 
)
inlinestatic

References bs_read().

◆ bs_skip()

static void bs_skip ( bs_t s,
ssize_t  i_count 
)
inlinestatic

References bs_forward, and bs_s::i_left.

◆ bs_write()

static void bs_write ( bs_t s,
int  i_count,
uint32_t  i_bits 
)
inlinestatic

◆ bs_write_init()

static void bs_write_init ( bs_t s,
void *  p_data,
size_t  i_data 
)
inlinestatic