cabac.h File Reference


Detailed Description

Context Adaptive Binary Arithmetic Coder.

Definition in file cabac.h.

Go to the source code of this file.

Classes

struct  CABACContext

Functions

void ff_init_cabac_encoder (CABACContext *c, uint8_t *buf, int buf_size)
void ff_init_cabac_decoder (CABACContext *c, const uint8_t *buf, int buf_size)
void ff_init_cabac_states (CABACContext *c)
static void put_cabac_bit (CABACContext *c, int b)
static void renorm_cabac_encoder (CABACContext *c)
static void put_cabac (CABACContext *c, uint8_t *const state, int bit)
static void put_cabac_static (CABACContext *c, int RangeLPS, int bit)
static void put_cabac_bypass (CABACContext *c, int bit)
static int put_cabac_terminate (CABACContext *c, int bit)
static void put_cabac_u (CABACContext *c, uint8_t *state, int v, int max, int max_index, int truncated)
 put (truncated) unary binarization.
static void put_cabac_ueg (CABACContext *c, uint8_t *state, int v, int max, int is_signed, int k, int max_index)
 put unary exp golomb k-th order binarization.
static void refill (CABACContext *c)
static void refill2 (CABACContext *c)
static void renorm_cabac_decoder (CABACContext *c)
static void renorm_cabac_decoder_once (CABACContext *c)
static av_always_inline int get_cabac_inline (CABACContext *c, uint8_t *const state)
static int av_noinline get_cabac_noinline (CABACContext *c, uint8_t *const state)
static int get_cabac (CABACContext *c, uint8_t *const state)
static int get_cabac_bypass (CABACContext *c)
static av_always_inline int get_cabac_bypass_sign (CABACContext *c, int val)
static int get_cabac_terminate (CABACContext *c)
static int get_cabac_u (CABACContext *c, uint8_t *state, int max, int max_index, int truncated)
 Get (truncated) unary binarization.
static int get_cabac_ueg (CABACContext *c, uint8_t *state, int max, int is_signed, int k, int max_index)
 get unary exp golomb k-th order binarization.

Variables

uint8_t ff_h264_mlps_state [4 *64]
uint8_t ff_h264_lps_range [4 *2 *64]
 rangeTabLPS
uint8_t ff_h264_mps_state [2 *64]
 transIdxMPS
uint8_t ff_h264_lps_state [2 *64]
 transIdxLPS
const uint8_t ff_h264_norm_shift [512]


Function Documentation

void ff_init_cabac_encoder ( CABACContext c,
uint8_t *  buf,
int  buf_size 
)

Parameters:
buf_size size of buf in bits

Definition at line 117 of file cabac.c.

Referenced by main().

void ff_init_cabac_decoder ( CABACContext c,
const uint8_t *  buf,
int  buf_size 
)

Parameters:
buf_size size of buf in bits

Definition at line 134 of file cabac.c.

Referenced by decode_mb_cabac(), decode_slice(), and main().

void ff_init_cabac_states ( CABACContext c  ) 

Definition at line 149 of file cabac.c.

Referenced by decode_slice(), and main().

static void put_cabac_bit ( CABACContext c,
int  b 
) [inline, static]

Definition at line 68 of file cabac.h.

Referenced by put_cabac_bypass(), put_cabac_terminate(), and renorm_cabac_encoder().

static void renorm_cabac_encoder ( CABACContext c  )  [inline, static]

Definition at line 75 of file cabac.h.

Referenced by put_cabac(), put_cabac_static(), and put_cabac_terminate().

static void put_cabac ( CABACContext c,
uint8_t *const   state,
int  bit 
) [static]

Definition at line 94 of file cabac.h.

Referenced by main(), put_cabac_u(), and put_cabac_ueg().

static void put_cabac_static ( CABACContext c,
int  RangeLPS,
int  bit 
) [static]

Definition at line 113 of file cabac.h.

static void put_cabac_bypass ( CABACContext c,
int  bit 
) [static]

Parameters:
bit 0 -> write zero bit, !=0 write one bit

Definition at line 133 of file cabac.h.

Referenced by main(), and put_cabac_ueg().

static int put_cabac_terminate ( CABACContext c,
int  bit 
) [static]

Returns:
the number of bytes written

Definition at line 159 of file cabac.h.

Referenced by main().

static void put_cabac_u ( CABACContext c,
uint8_t *  state,
int  v,
int  max,
int  max_index,
int  truncated 
) [static]

put (truncated) unary binarization.

Definition at line 187 of file cabac.h.

Referenced by main().

static void put_cabac_ueg ( CABACContext c,
uint8_t *  state,
int  v,
int  max,
int  is_signed,
int  k,
int  max_index 
) [static]

put unary exp golomb k-th order binarization.

Definition at line 222 of file cabac.h.

Referenced by main().

static void refill ( CABACContext c  )  [static]

static void refill2 ( CABACContext c  )  [static]

Definition at line 276 of file cabac.h.

Referenced by get_cabac_inline().

static void renorm_cabac_decoder ( CABACContext c  )  [inline, static]

Definition at line 295 of file cabac.h.

static void renorm_cabac_decoder_once ( CABACContext c  )  [inline, static]

Definition at line 304 of file cabac.h.

Referenced by get_cabac_inline(), and get_cabac_terminate().

static av_always_inline int get_cabac_inline ( CABACContext c,
uint8_t *const   state 
) [static]

Definition at line 373 of file cabac.h.

Referenced by get_cabac(), and get_cabac_noinline().

static int av_noinline get_cabac_noinline ( CABACContext c,
uint8_t *const   state 
) [static]

static int get_cabac ( CABACContext c,
uint8_t *const   state 
) [static]

static int get_cabac_bypass ( CABACContext c  )  [static]

Definition at line 593 of file cabac.h.

Referenced by decode_cabac_mb_mvd(), decode_cabac_residual_internal(), get_cabac_ueg(), and main().

static av_always_inline int get_cabac_bypass_sign ( CABACContext c,
int  val 
) [static]

Definition at line 641 of file cabac.h.

Referenced by decode_cabac_mb_mvd(), and decode_cabac_residual_internal().

static int get_cabac_terminate ( CABACContext c  )  [static]

Returns:
the number of bytes read or 0 if no end

Definition at line 692 of file cabac.h.

Referenced by decode_cabac_intra_mb_type(), decode_slice(), and main().

static int get_cabac_u ( CABACContext c,
uint8_t *  state,
int  max,
int  max_index,
int  truncated 
) [static]

Get (truncated) unary binarization.

Definition at line 706 of file cabac.h.

Referenced by main().

static int get_cabac_ueg ( CABACContext c,
uint8_t *  state,
int  max,
int  is_signed,
int  k,
int  max_index 
) [static]

get unary exp golomb k-th order binarization.

Definition at line 722 of file cabac.h.

Referenced by main().


Variable Documentation

uint8_t ff_h264_mlps_state[4 *64]

Definition at line 52 of file cabac.c.

Referenced by ff_init_cabac_states(), and get_cabac_inline().

uint8_t ff_h264_lps_range[4 *2 *64]

rangeTabLPS

Definition at line 53 of file cabac.c.

Referenced by ff_init_cabac_states(), get_cabac_inline(), main(), and put_cabac().

uint8_t ff_h264_mps_state[2 *64]

transIdxMPS

Definition at line 55 of file cabac.c.

Referenced by ff_init_cabac_states(), get_cabac_inline(), main(), and put_cabac().

uint8_t ff_h264_lps_state[2 *64]

transIdxLPS

Definition at line 54 of file cabac.c.

Referenced by ff_init_cabac_states(), get_cabac_inline(), main(), and put_cabac().

const uint8_t ff_h264_norm_shift[512]

Definition at line 90 of file cabac.c.

Referenced by get_cabac_inline(), and refill2().


Generated on Sat Dec 18 05:15:51 2010 for MythTV by  doxygen 1.5.5