FFmpeg
|
#include "h264dec.h"
#include "mpegutils.h"
#include "rectangle.h"
#include "libavutil/avassert.h"
#include "libavutil/mem_internal.h"
Go to the source code of this file.
Macros | |
#define | SET_DIAG_MV(MV_OP, REF_OP, XY, Y4) |
#define | FIX_MV_MBAFF(type, refn, mvn, idx) |
#define | MAP_MVS |
#define | MAP_F2F(idx, mb_type) |
#define | MAP_F2F(idx, mb_type) |
Functions | |
static av_always_inline int | pred_intra_mode (const H264Context *h, H264SliceContext *sl, int n) |
Get the predicted intra4x4 prediction mode. More... | |
static av_always_inline void | write_back_intra_pred_mode (const H264Context *h, H264SliceContext *sl) |
static av_always_inline void | write_back_non_zero_count (const H264Context *h, H264SliceContext *sl) |
static av_always_inline void | write_back_motion_list (const H264Context *h, H264SliceContext *sl, int b_stride, int b_xy, int b8_xy, int mb_type, int list) |
static av_always_inline void | write_back_motion (const H264Context *h, H264SliceContext *sl, int mb_type) |
static av_always_inline int | get_dct8x8_allowed (const H264Context *h, H264SliceContext *sl) |
static av_always_inline int | fetch_diagonal_mv (const H264Context *h, H264SliceContext *sl, const int16_t **C, int i, int list, int part_width) |
static av_always_inline void | pred_motion (const H264Context *const h, H264SliceContext *sl, int n, int part_width, int list, int ref, int *const mx, int *const my) |
Get the predicted MV. More... | |
static av_always_inline void | pred_16x8_motion (const H264Context *const h, H264SliceContext *sl, int n, int list, int ref, int *const mx, int *const my) |
Get the directionally predicted 16x8 MV. More... | |
static av_always_inline void | pred_8x16_motion (const H264Context *const h, H264SliceContext *sl, int n, int list, int ref, int *const mx, int *const my) |
Get the directionally predicted 8x16 MV. More... | |
static av_always_inline void | pred_pskip_motion (const H264Context *const h, H264SliceContext *sl) |
static void | fill_decode_neighbors (const H264Context *h, H264SliceContext *sl, int mb_type) |
static void | fill_decode_caches (const H264Context *h, H264SliceContext *sl, int mb_type) |
static void av_unused | decode_mb_skip (const H264Context *h, H264SliceContext *sl) |
decodes a P_SKIP or B_SKIP macroblock More... | |
H.264 / AVC / MPEG-4 part10 motion vector prediction.
Definition in file h264_mvpred.h.
#define SET_DIAG_MV | ( | MV_OP, | |
REF_OP, | |||
XY, | |||
Y4 | |||
) |
#define FIX_MV_MBAFF | ( | type, | |
refn, | |||
mvn, | |||
idx | |||
) |
Definition at line 369 of file h264_mvpred.h.
#define MAP_MVS |
#define MAP_F2F | ( | idx, | |
mb_type | |||
) |
#define MAP_F2F | ( | idx, | |
mb_type | |||
) |
|
static |
Get the predicted intra4x4 prediction mode.
Definition at line 42 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 58 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 70 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 94 of file h264_mvpred.h.
Referenced by write_back_motion().
|
static |
Definition at line 130 of file h264_mvpred.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 157 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 169 of file h264_mvpred.h.
Referenced by pred_8x16_motion(), and pred_motion().
|
static |
Get the predicted MV.
n | the block index |
part_width | the width of the partition (4, 8,16) -> (1, 2, 4) |
mx | the x component of the predicted motion vector |
my | the y component of the predicted motion vector |
Definition at line 226 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), pred_16x8_motion(), and pred_8x16_motion().
|
static |
Get the directionally predicted 16x8 MV.
n | the block index |
mx | the x component of the predicted motion vector |
my | the y component of the predicted motion vector |
Definition at line 291 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Get the directionally predicted 8x16 MV.
n | the block index |
mx | the x component of the predicted motion vector |
my | the y component of the predicted motion vector |
Definition at line 332 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 388 of file h264_mvpred.h.
Referenced by decode_mb_skip().
|
static |
Definition at line 487 of file h264_mvpred.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 576 of file h264_mvpred.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
decodes a P_SKIP or B_SKIP macroblock
Definition at line 934 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().