| 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 (HEVCContext *s, int x0, int y0, int nPbW, int nPbH) | 
| static av_always_inline int | z_scan_block_avail (HEVCContext *s, int xCurr, int yCurr, int xN, int yN) | 
| static av_always_inline int | is_diff_mer (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 (HEVCContext *s, MvField temp_col, int refIdxLx, Mv *mvLXCol, int X, int colPic, const RefPicList *refPicList_col) | 
| static int | temporal_luma_motion_vector (HEVCContext *s, int x0, int y0, int nPbW, int nPbH, int refIdxLx, Mv *mvLXCol, int X) | 
| static void | derive_spatial_merge_candidates (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 (HEVCContext *s, 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 (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 (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 (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 (HEVCContext *s, 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 | ( | HEVCContext * | s, | 
| 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 | ( | HEVCContext * | s, | 
| 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 | ( | HEVCContext * | s, | 
| 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().
 1.8.17
 1.8.17