FFmpeg
|
Go to the source code of this file.
Macros | |
#define | MIN_TB_ADDR_ZS(x, y) s->ps.pps->min_tb_addr_zs[(y) * (s->ps.sps->tb_mask+2) + (x)] |
#define | MATCH_MV(x) (AV_RN32A(&A.x) == AV_RN32A(&B.x)) |
#define | MATCH(x) (A.x == B.x) |
#define | CHECK_MVSET(l) |
#define | TAB_MVF(x, y) tab_mvf[(y) * min_pu_width + x] |
#define | TAB_MVF_PU(v) |
#define | DERIVE_TEMPORAL_COLOCATED_MVS |
#define | AVAILABLE(cand, v) (cand && !(TAB_MVF_PU(v).pred_flag == PF_INTRA)) |
#define | PRED_BLOCK_AVAILABLE(v) z_scan_block_avail(s, x0, y0, x ## v, y ## v) |
#define | COMPARE_MV_REFIDX(a, b) compare_mv_ref_idx(TAB_MVF_PU(a), TAB_MVF_PU(b)) |
#define | MP_MX(v, pred, mx) |
#define | MP_MX_LT(v, pred, mx) |
Functions | |
void | ff_hevc_set_neighbour_available (HEVCLocalContext *lc, int x0, int y0, int nPbW, int nPbH) |
static av_always_inline int | z_scan_block_avail (const HEVCContext *s, int xCurr, int yCurr, int xN, int yN) |
static av_always_inline int | is_diff_mer (const HEVCContext *s, int xN, int yN, int xP, int yP) |
static av_always_inline int | compare_mv_ref_idx (struct MvField A, struct MvField B) |
static av_always_inline void | mv_scale (Mv *dst, const Mv *src, int td, int tb) |
static int | check_mvset (Mv *mvLXCol, const Mv *mvCol, int colPic, int poc, const RefPicList *refPicList, int X, int refIdxLx, const RefPicList *refPicList_col, int listCol, int refidxCol) |
static int | derive_temporal_colocated_mvs (const HEVCContext *s, MvField temp_col, int refIdxLx, Mv *mvLXCol, int X, int colPic, const RefPicList *refPicList_col) |
static int | temporal_luma_motion_vector (const HEVCContext *s, int x0, int y0, int nPbW, int nPbH, int refIdxLx, Mv *mvLXCol, int X) |
static void | derive_spatial_merge_candidates (HEVCLocalContext *lc, const HEVCContext *s, int x0, int y0, int nPbW, int nPbH, int log2_cb_size, int singleMCLFlag, int part_idx, int merge_idx, struct MvField mergecandlist[]) |
void | ff_hevc_luma_mv_merge_mode (HEVCLocalContext *lc, int x0, int y0, int nPbW, int nPbH, int log2_cb_size, int part_idx, int merge_idx, MvField *mv) |
static av_always_inline void | dist_scale (const HEVCContext *s, Mv *mv, int min_pu_width, int x, int y, int elist, int ref_idx_curr, int ref_idx) |
static int | mv_mp_mode_mx (const HEVCContext *s, int x, int y, int pred_flag_index, Mv *mv, int ref_idx_curr, int ref_idx) |
static int | mv_mp_mode_mx_lt (const HEVCContext *s, int x, int y, int pred_flag_index, Mv *mv, int ref_idx_curr, int ref_idx) |
void | ff_hevc_luma_mv_mvp_mode (HEVCLocalContext *lc, int x0, int y0, int nPbW, int nPbH, int log2_cb_size, int part_idx, int merge_idx, MvField *mv, int mvp_lx_flag, int LX) |
Variables | |
static const uint8_t | l0_l1_cand_idx [12][2] |
Definition at line 95 of file hevc_mvs.c.
#define MATCH | ( | x | ) | (A.x == B.x) |
Definition at line 96 of file hevc_mvs.c.
#define CHECK_MVSET | ( | l | ) |
Definition at line 157 of file hevc_mvs.c.
#define TAB_MVF | ( | x, | |
y | |||
) | tab_mvf[(y) * min_pu_width + x] |
Definition at line 204 of file hevc_mvs.c.
#define TAB_MVF_PU | ( | v | ) |
Definition at line 207 of file hevc_mvs.c.
#define DERIVE_TEMPORAL_COLOCATED_MVS |
Definition at line 211 of file hevc_mvs.c.
#define AVAILABLE | ( | cand, | |
v | |||
) | (cand && !(TAB_MVF_PU(v).pred_flag == PF_INTRA)) |
Definition at line 274 of file hevc_mvs.c.
#define PRED_BLOCK_AVAILABLE | ( | v | ) | z_scan_block_avail(s, x0, y0, x ## v, y ## v) |
Definition at line 277 of file hevc_mvs.c.
#define COMPARE_MV_REFIDX | ( | a, | |
b | |||
) | compare_mv_ref_idx(TAB_MVF_PU(a), TAB_MVF_PU(b)) |
Definition at line 280 of file hevc_mvs.c.
#define MP_MX | ( | v, | |
pred, | |||
mx | |||
) |
Definition at line 571 of file hevc_mvs.c.
#define MP_MX_LT | ( | v, | |
pred, | |||
mx | |||
) |
Definition at line 577 of file hevc_mvs.c.
void ff_hevc_set_neighbour_available | ( | HEVCLocalContext * | lc, |
int | x0, | ||
int | y0, | ||
int | nPbW, | ||
int | nPbH | ||
) |
Definition at line 43 of file hevc_mvs.c.
Referenced by ff_hevc_luma_mv_merge_mode(), hevc_luma_mv_mvp_mode(), and hls_transform_unit().
|
static |
Definition at line 65 of file hevc_mvs.c.
|
static |
Definition at line 87 of file hevc_mvs.c.
Referenced by derive_spatial_merge_candidates().
|
static |
Definition at line 99 of file hevc_mvs.c.
|
static |
Definition at line 116 of file hevc_mvs.c.
Referenced by check_mvset(), decode_mb_info(), dist_scale(), estimate_motion_b(), ivi_process_empty_tile(), and ivi_scale_mv().
|
static |
Definition at line 130 of file hevc_mvs.c.
|
static |
Definition at line 164 of file hevc_mvs.c.
|
static |
Definition at line 219 of file hevc_mvs.c.
Referenced by derive_spatial_merge_candidates(), and ff_hevc_luma_mv_mvp_mode().
|
static |
Definition at line 286 of file hevc_mvs.c.
Referenced by ff_hevc_luma_mv_merge_mode().
void ff_hevc_luma_mv_merge_mode | ( | HEVCLocalContext * | lc, |
int | x0, | ||
int | y0, | ||
int | nPbW, | ||
int | nPbH, | ||
int | log2_cb_size, | ||
int | part_idx, | ||
int | merge_idx, | ||
MvField * | mv | ||
) |
Definition at line 480 of file hevc_mvs.c.
Referenced by hls_prediction_unit().
|
static |
Definition at line 513 of file hevc_mvs.c.
Referenced by mv_mp_mode_mx_lt().
|
static |
Definition at line 530 of file hevc_mvs.c.
|
static |
Definition at line 546 of file hevc_mvs.c.
void ff_hevc_luma_mv_mvp_mode | ( | HEVCLocalContext * | lc, |
int | x0, | ||
int | y0, | ||
int | nPbW, | ||
int | nPbH, | ||
int | log2_cb_size, | ||
int | part_idx, | ||
int | merge_idx, | ||
MvField * | mv, | ||
int | mvp_lx_flag, | ||
int | LX | ||
) |
Definition at line 583 of file hevc_mvs.c.
Referenced by hevc_luma_mv_mvp_mode().
|
static |
Definition at line 28 of file hevc_mvs.c.
Referenced by derive_spatial_merge_candidates().