FFmpeg
|
H.264 / AVC / MPEG-4 part10 motion vector prediction. More...
#include "internal.h"
#include "avcodec.h"
#include "h264dec.h"
#include "mpegutils.h"
#include "libavutil/avassert.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 | 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 | |||
) |
Referenced by fetch_diagonal_mv().
#define FIX_MV_MBAFF | ( | type, | |
refn, | |||
mvn, | |||
idx | |||
) |
Definition at line 238 of file h264_mvpred.h.
Referenced by pred_pskip_motion().
#define MAP_MVS |
Referenced by fill_decode_caches().
#define MAP_F2F | ( | idx, | |
mb_type | |||
) |
#define MAP_F2F | ( | idx, | |
mb_type | |||
) |
|
static |
Definition at line 38 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 95 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 160 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 201 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
|
static |
Definition at line 257 of file h264_mvpred.h.
Referenced by decode_mb_skip().
|
static |
Definition at line 356 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 445 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 803 of file h264_mvpred.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().