FFmpeg
|
H.264 / AVC / MPEG4 part10 cabac decoding. More...
#include "libavutil/attributes.h"
#include "libavutil/avassert.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 "mpegutils.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 1521 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 1263 of file h264_cabac.c.
Referenced by decode_slice().
|
static |
Definition at line 1283 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1294 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1324 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1359 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1372 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1396 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1412 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1431 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1440 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1457 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1485 of file h264_cabac.c.
|
static |
Definition at line 1532 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 1562 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 1748 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc().
|
static |
Definition at line 1757 of file h264_cabac.c.
Referenced by decode_cabac_residual_dc_422().
|
static |
Definition at line 1766 of file h264_cabac.c.
Referenced by decode_cabac_residual_nondc().
|
static |
Definition at line 1788 of file h264_cabac.c.
Referenced by decode_cabac_luma_residual(), and ff_h264_decode_mb_cabac().
|
static |
Definition at line 1803 of file h264_cabac.c.
Referenced by ff_h264_decode_mb_cabac().
|
static |
Definition at line 1815 of file h264_cabac.c.
Referenced by decode_cabac_luma_residual(), and ff_h264_decode_mb_cabac().
|
static |
Definition at line 1834 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 1884 of file h264_cabac.c.
Referenced by decode_slice().
|
static |
Definition at line 51 of file h264_cabac.c.
Referenced by ff_h264_init_cabac_states().
|
static |
Definition at line 363 of file h264_cabac.c.
Referenced by ff_h264_init_cabac_states().