FFmpeg
|
H.264 / AVC / MPEG4 part10 cabac decoding. More...
#include "libavutil/attributes.h"
#include "libavutil/timer.h"
#include "config.h"
#include "cabac.h"
#include "cabac_functions.h"
#include "internal.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.
Macros | |
#define | CABAC(h) 1 |
#define | UNCHECKED_BITSTREAM_READER 1 |
#define | DECODE_CABAC_MB_MVD(h,list,n) |
#define | CABAC_ON_STACK |
#define | CC &cc |
#define | DECODE_SIGNIFICANCE(coefs, sig_off, last_off) |
#define | STORE_BLOCK(type) |
Functions | |
void | ff_h264_init_cabac_states (H264Context *h) |
static int | decode_cabac_field_decoding_flag (H264Context *h) |
static int | decode_cabac_intra_mb_type (H264Context *h, int ctx_base, int intra_slice) |
static int | decode_cabac_mb_skip (H264Context *h, int mb_x, int mb_y) |
static int | decode_cabac_mb_intra4x4_pred_mode (H264Context *h, int pred_mode) |
static int | decode_cabac_mb_chroma_pre_mode (H264Context *h) |
static int | decode_cabac_mb_cbp_luma (H264Context *h) |
static int | decode_cabac_mb_cbp_chroma (H264Context *h) |
static int | decode_cabac_p_mb_sub_type (H264Context *h) |
static int | decode_cabac_b_mb_sub_type (H264Context *h) |
static int | decode_cabac_mb_ref (H264Context *h, int list, int n) |
static int | decode_cabac_mb_mvd (H264Context *h, int ctxbase, int amvd, int *mvda) |
static av_always_inline int | get_cabac_cbf_ctx (H264Context *h, int cat, int idx, int max_coeff, int is_dc) |
static av_always_inline void | decode_cabac_residual_internal (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff, int is_dc, int chroma422) |
static av_noinline void | decode_cabac_residual_dc_internal (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, int max_coeff) |
static av_noinline void | decode_cabac_residual_dc_internal_422 (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, int max_coeff) |
static av_noinline void | decode_cabac_residual_nondc_internal (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff) |
static av_always_inline void | decode_cabac_residual_dc (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, int max_coeff) |
static av_always_inline void | decode_cabac_residual_dc_422 (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, int max_coeff) |
static av_always_inline void | decode_cabac_residual_nondc (H264Context *h, int16_t *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff) |
static av_always_inline void | decode_cabac_luma_residual (H264Context *h, const uint8_t *scan, const uint8_t *scan8x8, int pixel_shift, int mb_type, int cbp, int p) |
int | ff_h264_decode_mb_cabac (H264Context *h) |
Decode a macroblock. | |
Variables | |
static const int8_t | cabac_context_init_I [1024][2] |
static const int8_t | cabac_context_init_PB [3][1024][2] |
H.264 / AVC / MPEG4 part10 cabac decoding.
Definition in file h264_cabac.c.
#define CABAC | ( | h | ) | 1 |
Definition at line 28 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
#define UNCHECKED_BITSTREAM_READER 1 |
Definition at line 29 of file h264_cabac.c.
#define DECODE_CABAC_MB_MVD | ( | h, | |
list, | |||
n | |||
) |
Definition at line 1520 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
#define CABAC_ON_STACK |
#define CC &cc |
Referenced by decode_cabac_residual_internal().
#define DECODE_SIGNIFICANCE | ( | coefs, | |
sig_off, | |||
last_off | |||
) |
Referenced by decode_cabac_residual_internal().
#define STORE_BLOCK | ( | type | ) |
Referenced by decode_cabac_residual_internal(), and decode_residual().
void ff_h264_init_cabac_states | ( | H264Context * | h | ) |
Definition at line 1262 of file h264_cabac.c.
Referenced by decode_slice().
|
static |
Definition at line 1282 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1293 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1323 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1358 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1371 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1395 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1411 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1430 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1439 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1456 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1484 of file h264_cabac.c.
|
static |
Definition at line 1531 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc(), decode_cabac_residual_dc_422(), and decode_cabac_residual_nondc().
|
static |
Definition at line 1561 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 |
Definition at line 1747 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc().
|
static |
Definition at line 1756 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc_422().
|
static |
Definition at line 1765 of file h264_cabac.c.
Referenced by decode_cabac_residual_nondc().
|
static |
Definition at line 1787 of file h264_cabac.c.
Referenced by decode_cabac_luma_residual(), and ff_h264_decode_mb_cabac().
|
static |
Definition at line 1802 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1814 of file h264_cabac.c.
Referenced by decode_cabac_luma_residual(), and ff_h264_decode_mb_cabac().
|
static |
Definition at line 1833 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
int ff_h264_decode_mb_cabac | ( | H264Context * | h | ) |
Decode a macroblock.
Decode a CABAC coded macroblock.
Definition at line 1883 of file h264_cabac.c.
Referenced by decode_slice().
|
static |
Definition at line 50 of file h264_cabac.c.
Referenced by ff_h264_init_cabac_states().
|
static |
Definition at line 362 of file h264_cabac.c.
Referenced by ff_h264_init_cabac_states().