|
FFmpeg
|
H.264 / AVC / MPEG4 part10 cavlc bitstream decoding. More...
#include "internal.h"#include "avcodec.h"#include "h264.h"#include "h264data.h"#include "h264_mvpred.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 / MPEG4 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 271 of file h264_cavlc.c.
Referenced by decode_residual(), and init_cavlc_level_tab().
| #define CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
Definition at line 274 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
| #define CHROMA422_DC_COEFF_TOKEN_VLC_BITS 13 |
Definition at line 275 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
| #define COEFF_TOKEN_VLC_BITS 8 |
Definition at line 276 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
| #define TOTAL_ZEROS_VLC_BITS 9 |
Definition at line 277 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
| #define CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
Definition at line 278 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
| #define CHROMA422_DC_TOTAL_ZEROS_VLC_BITS 5 |
Definition at line 279 of file h264_cavlc.c.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
| #define RUN_VLC_BITS 3 |
Definition at line 280 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
| #define RUN7_VLC_BITS 6 |
Definition at line 281 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
| #define STORE_BLOCK | ( | type | ) |
Referenced by decode_residual().
|
inlinestatic |
Get the predicted number of non-zero coefficients.
| n | block index |
Definition at line 287 of file h264_cavlc.c.
Referenced by decode_residual().
Definition at line 301 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
Definition at line 327 of file h264_cavlc.c.
Referenced by ff_h264_decode_init().
|
inlinestatic |
Definition at line 419 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 446 of file h264_cavlc.c.
Referenced by decode_luma_residual(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 639 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 709 of file h264_cavlc.c.
Referenced by decode_slice().
|
static |
Definition at line 41 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
|
static |
Definition at line 45 of file h264_cavlc.c.
Referenced by ff_h264_decode_mb_cavlc().
|
static |
Definition at line 49 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 57 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 65 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 77 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 89 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 120 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 151 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 169 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 187 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 193 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 199 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 209 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 219 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc(), on2avc_decode_band_types(), and rle_decode().
|
static |
Definition at line 229 of file h264_cavlc.c.
Referenced by codebook_trellis_rate(), encode_window_bands_info(), and ff_h264_decode_init_vlc().
|
static |
Definition at line 239 of file h264_cavlc.c.
|
static |
Definition at line 240 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 241 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 243 of file h264_cavlc.c.
|
static |
Definition at line 244 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 245 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 247 of file h264_cavlc.c.
|
static |
Definition at line 248 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 249 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 251 of file h264_cavlc.c.
|
static |
Definition at line 252 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 253 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 255 of file h264_cavlc.c.
|
static |
Definition at line 256 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 257 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 259 of file h264_cavlc.c.
|
static |
Definition at line 260 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 263 of file h264_cavlc.c.
|
static |
Definition at line 264 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 267 of file h264_cavlc.c.
|
static |
Definition at line 268 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 269 of file h264_cavlc.c.
Referenced by ff_h264_decode_init_vlc().
|
static |
Definition at line 272 of file h264_cavlc.c.
Referenced by decode_residual(), and init_cavlc_level_tab().
1.8.6