FFmpeg
|
#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, const 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 269 of file h264_cavlc.c.
#define CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
Definition at line 272 of file h264_cavlc.c.
#define CHROMA422_DC_COEFF_TOKEN_VLC_BITS 13 |
Definition at line 273 of file h264_cavlc.c.
#define COEFF_TOKEN_VLC_BITS 8 |
Definition at line 274 of file h264_cavlc.c.
#define TOTAL_ZEROS_VLC_BITS 9 |
Definition at line 275 of file h264_cavlc.c.
#define CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
Definition at line 276 of file h264_cavlc.c.
#define CHROMA422_DC_TOTAL_ZEROS_VLC_BITS 5 |
Definition at line 277 of file h264_cavlc.c.
#define RUN_VLC_BITS 3 |
Definition at line 278 of file h264_cavlc.c.
#define RUN7_VLC_BITS 6 |
Definition at line 279 of file h264_cavlc.c.
#define STORE_BLOCK | ( | type | ) |
|
inlinestatic |
Get the predicted number of non-zero coefficients.
n | block index |
Definition at line 285 of file h264_cavlc.c.
Referenced by decode_residual().
|
static |
Definition at line 299 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
av_cold void ff_h264_decode_init_vlc | ( | void | ) |
Definition at line 325 of file h264_cavlc.c.
Referenced by h264_decode_init().
|
inlinestatic |
Definition at line 409 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 432 of file h264_cavlc.c.
Referenced by decode_luma_residual(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 625 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 695 of file h264_cavlc.c.
Referenced by decode_slice().
|
static |
Definition at line 39 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
|
static |
Definition at line 43 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
|
static |
Definition at line 47 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 55 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 63 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 75 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 87 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 118 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 149 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 167 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 185 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 191 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 197 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 207 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 217 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc(), on2avc_decode_band_types(), and rle_decode().
|
static |
Definition at line 227 of file h264_cavlc.c.
Referenced by codebook_trellis_rate(), compute_alpha_vlcs(), encode_window_bands_info(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 237 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 238 of file h264_cavlc.c.
Referenced by 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 241 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 242 of file h264_cavlc.c.
Referenced by 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 245 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 246 of file h264_cavlc.c.
Referenced by 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 249 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 250 of file h264_cavlc.c.
Referenced by 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 253 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 254 of file h264_cavlc.c.
Referenced by 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 257 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 258 of file h264_cavlc.c.
Referenced by 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 261 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 265 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 270 of file h264_cavlc.c.
Referenced by decode_residual(), and init_cavlc_level_tab().