|
static void | inter_recon_frac_luma (const encoder_state_t *const state, const kvz_picture *const ref, int32_t xpos, int32_t ypos, int32_t block_width, int32_t block_height, const int16_t mv_param[2], yuv_t *out, unsigned out_stride) |
|
static void | inter_recon_frac_luma_hi (const encoder_state_t *const state, const kvz_picture *const ref, int32_t xpos, int32_t ypos, int32_t block_width, int32_t block_height, const int16_t mv_param[2], yuv_im_t *out, const unsigned out_stride) |
|
static void | inter_recon_frac_chroma (const encoder_state_t *const state, const kvz_picture *const ref, int32_t pu_x, int32_t pu_y, int32_t pu_w, int32_t pu_h, const int16_t mv_param[2], yuv_t *out, const unsigned out_stride) |
|
static void | inter_recon_frac_chroma_hi (const encoder_state_t *const state, const kvz_picture *const ref, int32_t pu_x, int32_t pu_y, int32_t pu_w, int32_t pu_h, const int16_t mv_param[2], yuv_im_t *out, const unsigned out_stride) |
|
static void | inter_cp_with_ext_border (const kvz_pixel *ref_buf, int ref_stride, int ref_width, int ref_height, kvz_pixel *rec_buf, int rec_stride, int width, int height, const vector2d_t *mv_in_frame) |
| Copy from frame with extended border.
|
|
static unsigned | inter_recon_unipred (const encoder_state_t *const state, const kvz_picture *const ref, int32_t pu_x, int32_t pu_y, int32_t pu_w, int32_t pu_h, int32_t out_stride_luma, const int16_t mv_param[2], yuv_t *yuv_px, yuv_im_t *yuv_im, bool predict_luma, bool predict_chroma) |
| Reconstruct an inter PU using uniprediction.
|
|
void | kvz_inter_recon_bipred (const encoder_state_t *const state, const kvz_picture *ref1, const kvz_picture *ref2, int32_t pu_x, int32_t pu_y, int32_t pu_w, int32_t pu_h, int16_t mv_param[2][2], lcu_t *lcu, bool predict_luma, bool predict_chroma) |
| Reconstruct bi-pred inter PU.
|
|
void | kvz_inter_recon_cu (const encoder_state_t *const state, lcu_t *lcu, int32_t x, int32_t y, int32_t width, bool predict_luma, bool predict_chroma) |
| Reconstruct a single CU.
|
|
void | kvz_inter_pred_pu (const encoder_state_t *const state, lcu_t *lcu, int32_t x, int32_t y, int32_t width, bool predict_luma, bool predict_chroma, int i_pu) |
| Predict a single PU.
|
|
static void | inter_clear_cu_unused (cu_info_t *cu) |
| Clear unused L0/L1 motion vectors and reference.
|
|
static bool | is_a0_cand_coded (int x, int y, int width, int height) |
| Check whether a0 mv cand block is coded before the current block.
|
|
static bool | is_b0_cand_coded (int x, int y, int width, int height) |
| Check whether b0 mv cand block is coded before the current block.
|
|
static void | get_temporal_merge_candidates (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, uint8_t ref_list, uint8_t ref_idx, merge_candidates_t *cand_out) |
| Get merge candidates for current block.
|
|
static void | get_spatial_merge_candidates (int32_t x, int32_t y, int32_t width, int32_t height, int32_t picture_width, int32_t picture_height, lcu_t *lcu, merge_candidates_t *cand_out) |
| Get merge candidates for current block.
|
|
static void | get_spatial_merge_candidates_cua (const cu_array_t *cua, int32_t x, int32_t y, int32_t width, int32_t height, int32_t picture_width, int32_t picture_height, merge_candidates_t *cand_out) |
| Get merge candidates for current block.
|
|
static int16_t | get_scaled_mv (int16_t mv, int scale) |
|
static void | apply_mv_scaling_pocs (int32_t current_poc, int32_t current_ref_poc, int32_t neighbor_poc, int32_t neighbor_ref_poc, int16_t mv_cand[2]) |
|
static void | apply_mv_scaling (const encoder_state_t *state, const cu_info_t *current_cu, const cu_info_t *neighbor_cu, int8_t current_reflist, int8_t neighbor_reflist, int16_t mv_cand[2]) |
|
static bool | add_temporal_candidate (const encoder_state_t *state, uint8_t current_ref, const cu_info_t *colocated, int32_t reflist, int16_t mv_out[2]) |
| Try to add a temporal MVP or merge candidate.
|
|
static bool | add_mvp_candidate (const encoder_state_t *state, const cu_info_t *cur_cu, const cu_info_t *cand, int8_t reflist, bool scaling, int16_t mv_cand_out[2]) |
|
static void | get_mv_cand_from_candidates (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, const merge_candidates_t *merge_cand, const cu_info_t *const cur_cu, int8_t reflist, int16_t mv_cand[2][2]) |
| Pick two mv candidates from the spatial and temporal candidates.
|
|
void | kvz_inter_get_mv_cand (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, int16_t mv_cand[2][2], const cu_info_t *const cur_cu, lcu_t *lcu, int8_t reflist) |
| Get MV prediction for current block.
|
|
void | kvz_inter_get_mv_cand_cua (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, int16_t mv_cand[2][2], const cu_info_t *cur_cu, int8_t reflist) |
| Get MV prediction for current block using state->tile->frame->cu_array.
|
|
static bool | is_duplicate_candidate (const cu_info_t *cu1, const cu_info_t *cu2) |
|
static bool | add_merge_candidate (const cu_info_t *cand, const cu_info_t *possible_duplicate1, const cu_info_t *possible_duplicate2, inter_merge_cand_t *merge_cand_out, uint8_t candidates, uint8_t max_num_cands) |
|
uint8_t | kvz_inter_get_merge_cand (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, bool use_a1, bool use_b1, inter_merge_cand_t mv_cand[5], lcu_t *lcu) |
| Get merge predictions for current block.
|
|