#include "config.h"
#include "cabac.h"
#include "cabac_functions.h"
#include "internal.h"
#include "dsputil.h"
#include "avcodec.h"
#include "h264.h"
#include "h264data.h"
#include "h264_mvpred.h"
#include "golomb.h"
#include "libavutil/avassert.h"
Go to the source code of this file.
Definition in file h264_cabac.c.
#define CABAC 1 |
Definition at line 28 of file h264_cabac.c.
#define CABAC_ON_STACK |
#define CC &cc |
Referenced by decode_cabac_residual_internal().
#define DECODE_CABAC_MB_MVD | ( | h, | |||
list, | |||||
n | ) |
Value:
{\ int amvd0 = h->mvd_cache[list][scan8[n] - 1][0] +\ h->mvd_cache[list][scan8[n] - 8][0];\ int amvd1 = h->mvd_cache[list][scan8[n] - 1][1] +\ h->mvd_cache[list][scan8[n] - 8][1];\ \ mx += decode_cabac_mb_mvd( h, 40, amvd0, &mpx );\ my += decode_cabac_mb_mvd( h, 47, amvd1, &mpy );\ }
Definition at line 1522 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
#define DECODE_SIGNIFICANCE | ( | coefs, | |||
sig_off, | |||||
last_off | ) |
Value:
for(last= 0; last < coefs; last++) { \ uint8_t *sig_ctx = significant_coeff_ctx_base + sig_off; \ if( get_cabac( CC, sig_ctx )) { \ uint8_t *last_ctx = last_coeff_ctx_base + last_off; \ index[coeff_count++] = last; \ if( get_cabac( CC, last_ctx ) ) { \ last= max_coeff; \ break; \ } \ } \ }\ if( last == max_coeff -1 ) {\ index[coeff_count++] = last;\ }
Referenced by decode_cabac_residual_internal().
#define STORE_BLOCK | ( | type | ) |
Referenced by decode_cabac_residual_internal(), and decode_residual().
#define UNCHECKED_BITSTREAM_READER 1 |
Definition at line 29 of file h264_cabac.c.
static int decode_cabac_b_mb_sub_type | ( | H264Context * | h | ) | [static] |
static int decode_cabac_field_decoding_flag | ( | H264Context * | h | ) | [static] |
static int decode_cabac_intra_mb_type | ( | H264Context * | h, | |
int | ctx_base, | |||
int | intra_slice | |||
) | [static] |
static int decode_cabac_mb_cbp_chroma | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_cbp_luma | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_chroma_pre_mode | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_intra4x4_pred_mode | ( | H264Context * | h, | |
int | pred_mode | |||
) | [static] |
static int decode_cabac_mb_mvd | ( | H264Context * | h, | |
int | ctxbase, | |||
int | amvd, | |||
int * | mvda | |||
) | [static] |
Definition at line 1486 of file h264_cabac.c.
static int decode_cabac_mb_ref | ( | H264Context * | h, | |
int | list, | |||
int | n | |||
) | [static] |
static int decode_cabac_mb_skip | ( | H264Context * | h, | |
int | mb_x, | |||
int | mb_y | |||
) | [static] |
static int decode_cabac_p_mb_sub_type | ( | H264Context * | h | ) | [static] |
static av_always_inline void decode_cabac_residual_dc | ( | H264Context * | h, | |
DCTELEM * | block, | |||
int | cat, | |||
int | n, | |||
const uint8_t * | scantable, | |||
int | max_coeff | |||
) | [static] |
Definition at line 1774 of file h264_cabac.c.
Referenced by decode_cabac_luma_residual(), and ff_h264_decode_mb_cabac().
static av_always_inline void decode_cabac_residual_internal | ( | H264Context * | h, | |
DCTELEM * | block, | |||
int | cat, | |||
int | n, | |||
const uint8_t * | scantable, | |||
const uint32_t * | qmul, | |||
int | max_coeff, | |||
int | is_dc, | |||
int | chroma422 | |||
) | [static] |
Definition at line 1563 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc_internal(), decode_cabac_residual_dc_internal_422(), and decode_cabac_residual_nondc_internal().
static av_always_inline void decode_cabac_residual_nondc | ( | H264Context * | h, | |
DCTELEM * | block, | |||
int | cat, | |||
int | n, | |||
const uint8_t * | scantable, | |||
const uint32_t * | qmul, | |||
int | max_coeff | |||
) | [static] |
Definition at line 1796 of file h264_cabac.c.
Referenced by decode_cabac_luma_residual(), and ff_h264_decode_mb_cabac().
int ff_h264_decode_mb_cabac | ( | H264Context * | h | ) |
Decode a macroblock.
Decode a CABAC coded macroblock.
Definition at line 1863 of file h264_cabac.c.
Referenced by decode_slice().
void ff_h264_init_cabac_states | ( | H264Context * | h | ) |
static av_always_inline int get_cabac_cbf_ctx | ( | H264Context * | h, | |
int | cat, | |||
int | idx, | |||
int | max_coeff, | |||
int | is_dc | |||
) | [static] |
Definition at line 1533 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc(), decode_cabac_residual_dc_422(), and decode_cabac_residual_nondc().
const int8_t cabac_context_init_I[1024][2] [static] |
const int8_t cabac_context_init_PB[3][1024][2] [static] |