#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] |
1.5.8