FFmpeg
|
#include "internal.h"
#include "h264dec.h"
#include "h264_mvpred.h"
#include "h264data.h"
#include "golomb.h"
#include "mpegutils.h"
#include "libavutil/avassert.h"
Go to the source code of this file.
Macros | |
#define | CABAC(h) 0 |
#define | UNCHECKED_BITSTREAM_READER 1 |
#define | LEVEL_TAB_BITS 8 |
#define | CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
#define | CHROMA422_DC_COEFF_TOKEN_VLC_BITS 13 |
#define | COEFF_TOKEN_VLC_BITS 8 |
#define | TOTAL_ZEROS_VLC_BITS 9 |
#define | CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
#define | CHROMA422_DC_TOTAL_ZEROS_VLC_BITS 5 |
#define | RUN_VLC_BITS 3 |
#define | RUN7_VLC_BITS 6 |
#define | STORE_BLOCK(type) |
Functions | |
static int | pred_non_zero_count (const H264Context *h, H264SliceContext *sl, int n) |
Get the predicted number of non-zero coefficients. More... | |
static av_cold void | init_cavlc_level_tab (void) |
av_cold void | ff_h264_decode_init_vlc (void) |
static int | get_level_prefix (GetBitContext *gb) |
static int | decode_residual (const H264Context *h, H264SliceContext *sl, GetBitContext *gb, int16_t *block, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff) |
Decode a residual block. More... | |
static av_always_inline int | decode_luma_residual (const H264Context *h, H264SliceContext *sl, GetBitContext *gb, const uint8_t *scan, const uint8_t *scan8x8, int pixel_shift, int mb_type, int cbp, int p) |
int | ff_h264_decode_mb_cavlc (const H264Context *h, H264SliceContext *sl) |
Decode a macroblock. More... | |
H.264 / AVC / MPEG-4 part10 cavlc bitstream decoding.
Definition in file h264_cavlc.c.
#define CABAC | ( | h | ) | 0 |
Definition at line 28 of file h264_cavlc.c.
#define UNCHECKED_BITSTREAM_READER 1 |
Definition at line 29 of file h264_cavlc.c.
#define LEVEL_TAB_BITS 8 |
Definition at line 270 of file h264_cavlc.c.
#define CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
Definition at line 273 of file h264_cavlc.c.
#define CHROMA422_DC_COEFF_TOKEN_VLC_BITS 13 |
Definition at line 274 of file h264_cavlc.c.
#define COEFF_TOKEN_VLC_BITS 8 |
Definition at line 275 of file h264_cavlc.c.
#define TOTAL_ZEROS_VLC_BITS 9 |
Definition at line 276 of file h264_cavlc.c.
#define CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
Definition at line 277 of file h264_cavlc.c.
#define CHROMA422_DC_TOTAL_ZEROS_VLC_BITS 5 |
Definition at line 278 of file h264_cavlc.c.
#define RUN_VLC_BITS 3 |
Definition at line 279 of file h264_cavlc.c.
#define RUN7_VLC_BITS 6 |
Definition at line 280 of file h264_cavlc.c.
#define STORE_BLOCK | ( | type | ) |
|
inlinestatic |
Get the predicted number of non-zero coefficients.
n | block index |
Definition at line 286 of file h264_cavlc.c.
Referenced by decode_residual().
|
static |
Definition at line 300 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
av_cold void ff_h264_decode_init_vlc | ( | void | ) |
Definition at line 326 of file h264_cavlc.c.
Referenced by h264_decode_init().
|
inlinestatic |
Definition at line 410 of file h264_cavlc.c.
Referenced by decode_residual().
|
static |
Decode a residual block.
n | block index |
scantable | scantable |
max_coeff | number of coefficients in the block |
Definition at line 433 of file h264_cavlc.c.
Referenced by decode_luma_residual(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 626 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
int ff_h264_decode_mb_cavlc | ( | const H264Context * | h, |
H264SliceContext * | sl | ||
) |
Decode a macroblock.
Definition at line 696 of file h264_cavlc.c.
Referenced by decode_slice().
|
static |
Definition at line 40 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
|
static |
Definition at line 44 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
|
static |
Definition at line 48 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 56 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 64 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 76 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 88 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 119 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 150 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 168 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 186 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 192 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 198 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 208 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 218 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc(), on2avc_decode_band_types(), and rle_decode().
|
static |
Definition at line 228 of file h264_cavlc.c.
Referenced by codebook_trellis_rate(), encode_window_bands_info(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 238 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 239 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 240 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 242 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 243 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 244 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 246 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 247 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 248 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 250 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 251 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 252 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 254 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 255 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 256 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 258 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 259 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 260 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 262 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 263 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 264 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 266 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 267 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 268 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 271 of file h264_cavlc.c.
Referenced by decode_residual(), and init_cavlc_level_tab().