| 
    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().
 1.8.2