|
#define | PROF_TEMP_OFFSET (MAX_PB_SIZE + 32) |
|
#define | EMULATED_EDGE_LUMA(dst, src, src_stride, x_off, y_off) emulated_edge(lc, dst, src, src_stride, x_off, y_off, block_w, block_h, 1) |
|
#define | EMULATED_EDGE_CHROMA(dst, src, src_stride, x_off, y_off) emulated_edge(lc, dst, src, src_stride, x_off, y_off, block_w, block_h, 0) |
|
#define | EMULATED_EDGE_DMVR_LUMA(dst, src, src_stride, x_sb, y_sb, x_off, y_off) emulated_edge_dmvr(lc, dst, src, src_stride, x_sb, y_sb, x_off, y_off, block_w, block_h, 1) |
|
#define | EMULATED_EDGE_DMVR_CHROMA(dst, src, src_stride, x_sb, y_sb, x_off, y_off) emulated_edge_dmvr(lc, dst, src, src_stride, x_sb, y_sb, x_off, y_off, block_w, block_h, 0) |
|
#define | EMULATED_EDGE_BILINEAR(dst, src, src_stride, x_off, y_off) emulated_edge_bilinear(lc, dst, src, src_stride, x_off, y_off, pred_w, pred_h) |
|
#define | POS(c_idx, x, y) |
|
#define | SAD_ARRAY_SIZE 5 |
|
|
static void | subpic_offset (int *x_off, int *y_off, const VVCSPS *sps, const VVCPPS *pps, const int subpic_idx, const int is_luma) |
|
static void | subpic_width_height (int *pic_width, int *pic_height, const VVCSPS *sps, const VVCPPS *pps, const int subpic_idx, const int is_luma) |
|
static int | emulated_edge (const VVCLocalContext *lc, uint8_t *dst, const uint8_t **src, ptrdiff_t *src_stride, int x_off, int y_off, const int block_w, const int block_h, const int is_luma) |
|
static void | emulated_edge_dmvr (const VVCLocalContext *lc, uint8_t *dst, const uint8_t **src, ptrdiff_t *src_stride, int x_sb, int y_sb, int x_off, int y_off, const int block_w, const int block_h, const int is_luma) |
|
static void | emulated_edge_bilinear (const VVCLocalContext *lc, uint8_t *dst, const uint8_t **src, ptrdiff_t *src_stride, int x_off, int y_off, const int block_w, const int block_h) |
|
static int | derive_weight_uni (int *denom, int *wx, int *ox, const VVCLocalContext *lc, const MvField *mvf, const int c_idx) |
|
static int | derive_weight (int *denom, int *w0, int *w1, int *o0, int *o1, const VVCLocalContext *lc, const MvField *mvf, const int c_idx, const int dmvr_flag) |
|
static void | luma_mc (VVCLocalContext *lc, int16_t *dst, const AVFrame *ref, const Mv *mv, int x_off, int y_off, const int block_w, const int block_h) |
|
static void | chroma_mc (VVCLocalContext *lc, int16_t *dst, const AVFrame *ref, const Mv *mv, int x_off, int y_off, const int block_w, const int block_h, const int c_idx) |
|
static void | luma_mc_uni (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const AVFrame *ref, const MvField *mvf, int x_off, int y_off, const int block_w, const int block_h, const int hf_idx, const int vf_idx) |
|
static void | luma_mc_bi (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const AVFrame *ref0, const Mv *mv0, const int x_off, const int y_off, const int block_w, const int block_h, const AVFrame *ref1, const Mv *mv1, const MvField *mvf, const int hf_idx, const int vf_idx, const MvField *orig_mv, const int sb_bdof_flag) |
|
static void | chroma_mc_uni (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int x_off, int y_off, const int block_w, const int block_h, const MvField *mvf, const int c_idx, const int hf_idx, const int vf_idx) |
|
static void | chroma_mc_bi (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const AVFrame *ref0, const AVFrame *ref1, const int x_off, const int y_off, const int block_w, const int block_h, const MvField *mvf, const int c_idx, const int hf_idx, const int vf_idx, const MvField *orig_mv, const int dmvr_flag, const int ciip_flag) |
|
static void | luma_prof_uni (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const AVFrame *ref, const MvField *mvf, int x_off, int y_off, const int block_w, const int block_h, const int cb_prof_flag, const int16_t *diff_mv_x, const int16_t *diff_mv_y) |
|
static void | luma_prof_bi (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const AVFrame *ref0, const AVFrame *ref1, const MvField *mvf, const int x_off, const int y_off, const int block_w, const int block_h) |
|
static int | pred_get_refs (const VVCLocalContext *lc, VVCFrame *ref[2], const MvField *mv) |
|
static void | pred_gpm_blk (VVCLocalContext *lc) |
|
static int | ciip_derive_intra_weight (const VVCLocalContext *lc, const int x0, const int y0, const int width, const int height) |
|
static void | pred_regular_luma (VVCLocalContext *lc, const int hf_idx, const int vf_idx, const MvField *mv, const int x0, const int y0, const int sbw, const int sbh, const MvField *orig_mv, const int sb_bdof_flag) |
|
static void | pred_regular_chroma (VVCLocalContext *lc, const MvField *mv, const int x0, const int y0, const int sbw, const int sbh, const MvField *orig_mv, const int dmvr_flag) |
|
static int | parametric_mv_refine (const int *sad, const int stride) |
|
static void | dmvr_mv_refine (VVCLocalContext *lc, MvField *mvf, MvField *orig_mv, int *sb_bdof_flag, const AVFrame *ref0, const AVFrame *ref1, const int x_off, const int y_off, const int block_w, const int block_h) |
|
static void | set_dmvr_info (VVCFrameContext *fc, const int x0, const int y0, const int width, const int height, const MvField *mvf) |
|
static void | derive_sb_mv (VVCLocalContext *lc, MvField *mv, MvField *orig_mv, int *sb_bdof_flag, const int x0, const int y0, const int sbw, const int sbh) |
|
static void | pred_regular_blk (VVCLocalContext *lc, const int skip_ciip) |
|
static void | derive_affine_mvc (MvField *mvc, const VVCFrameContext *fc, const MvField *mv, const int x0, const int y0, const int sbw, const int sbh) |
|
static void | pred_affine_blk (VVCLocalContext *lc) |
|
static void | predict_inter (VVCLocalContext *lc) |
|
static int | has_inter_luma (const CodingUnit *cu) |
|
int | ff_vvc_predict_inter (VVCLocalContext *lc, const int rs) |
| Loop entire CTU to predict all inter coding blocks. More...
|
|
void | ff_vvc_predict_ciip (VVCLocalContext *lc) |
| CIIP(Combined Inter-Intra Prediction) for a coding block. More...
|
|