FFmpeg
Loading...
Searching...
No Matches
inter.c File Reference
#include "libavutil/frame.h"
#include "data.h"
#include "inter.h"
#include "mvs.h"
#include "refs.h"

Go to the source code of this file.

Macros

#define PROF_TEMP_OFFSET   (MAX_PB_SIZE + 32)
 
#define MC_EMULATED_EDGE(dst, src, src_stride, x_off, y_off)
 
#define MC_EMULATED_EDGE_DMVR(dst, src, src_stride, x_sb, y_sb, x_off, y_off)
 
#define MC_EMULATED_EDGE_BILINEAR(dst, src, src_stride, x_off, y_off)
 
#define INTER_FILTER(t, frac)
 
#define SCALE_THRESHOLD_1   20480
 
#define SCALE_THRESHOLD_2   28672
 
#define INTER_FILTER_SCALED(scale)
 
#define SCALED_CHROMA_ADDIN(scale, collocated_flag)
 
#define SCALED_REF_SB(off, scaling_off, ref_mv, scale, add, shift)
 
#define SCALED_REF(ref_sb, offset, shift)
 
#define SCALED_STEP(scale)
 
#define POS(c_idx, x, y)
 
#define SAD_ARRAY_SIZE   5
 

Functions

static void subpic_get_rect (VVCRect *r, const VVCFrame *src_frame, const int subpic_idx, const int is_chroma)
 
static void clip_to_subpic (int *x_off, int *y_off, int *pic_width, int *pic_height, const VVCRect *subpic, const VVCRect *sb, const int dmvr_clip)
 
static void emulated_edge_no_wrap (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 extra_before, const int extra_after, const VVCRect *subpic, const VVCRect *sb, const int dmvr_clip)
 
static void emulated_half (const VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const uint8_t *src, const ptrdiff_t src_stride, const int ps, int x_off, int y_off, const int block_w, const int block_h, const VVCRect *subpic, const VVCRect *half_sb, const int dmvr_clip)
 
static void sb_set_lr (VVCRect *sb, const int l, const int r)
 
static void sb_wrap (VVCRect *sb, const int wrap)
 
static void emulated_edge (const VVCLocalContext *lc, uint8_t *dst, const uint8_t **src, ptrdiff_t *src_stride, const VVCFrame *src_frame, int x_sb, int y_sb, int x_off, int y_off, int block_w, int block_h, const int wrap_enabled, const int is_chroma, const int extra_before, const int extra_after)
 
static int derive_weight_uni (int *denom, int *wx, int *ox, const VVCLocalContext *lc, const MvField *mvf, const int c_idx)
 
static void apply_averaging (uint8_t *dst, const ptrdiff_t dst_stride, const int16_t *src0, const int16_t *src1, int width, int height, const VVCLocalContext *lc, const MvField *mvf, const int c_idx, const int dmvr_flag)
 
static void mc (VVCLocalContext *lc, int16_t *dst, const VVCFrame *ref, const Mv *mv, int x_off, int y_off, const int block_w, const int block_h, const int c_idx)
 
static void mc_uni (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const VVCFrame *ref, const MvField *mvf, int x_off, int y_off, const int block_w, const int block_h, const int c_idx)
 
static void mc_bi (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const VVCFrame *ref0, const VVCFrame *ref1, const MvField *mvf, const MvField *orig_mv, const int x_off, const int y_off, const int block_w, const int block_h, const int c_idx, const int sb_bdof_flag)
 
static const int8_t * inter_filter_scaled (const int scale, const int is_chroma, const int is_affine)
 
static void scaled_ref_pos_and_step (const VVCLocalContext *lc, const VVCRefPic *refp, const Mv *mv, const int x_off, const int y_off, const int c_idx, int *x, int *y, int *dx, int *dy)
 
static void emulated_edge_scaled (VVCLocalContext *lc, const uint8_t **src, ptrdiff_t *src_stride, int *src_height, const VVCFrame *ref, const int x, const int y, const int dx, const int dy, const int w, const int h, const int is_chroma)
 
static void mc_scaled (VVCLocalContext *lc, int16_t *dst, const VVCRefPic *refp, const Mv *mv, int x_off, int y_off, const int block_w, const int block_h, const int c_idx)
 
static void mc_uni_scaled (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const VVCRefPic *refp, const MvField *mvf, const int x_off, const int y_off, const int block_w, const int block_h, const int c_idx)
 
static void mc_bi_scaled (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const VVCRefPic *refp0, const VVCRefPic *refp1, const MvField *mvf, const int x_off, const int y_off, const int block_w, const int block_h, const int c_idx)
 
static void luma_prof_uni (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const VVCFrame *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 (VVCLocalContext *lc, int16_t *dst, const VVCFrame *ref, const Mv *mv, const int x_off, const int y_off, const int block_w, const int block_h, const int lx)
 
static void luma_prof_bi (VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const VVCRefPic *ref0, const VVCRefPic *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, VVCRefPic *refp[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 (VVCLocalContext *lc, const MvField *mvf, const MvField *orig_mvf, const int x0, const int y0, const int sbw, const int sbh, const int sb_bdof_flag, const int c_start)
 
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 VVCFrame *ref0, const VVCFrame *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.
 
void ff_vvc_predict_ciip (VVCLocalContext *lc)
 CIIP(Combined Inter-Intra Prediction) for a coding block.
 

Variables

static const int bcw_w_lut [] = {4, 5, 3, 10, -2}
 

Macro Definition Documentation

◆ PROF_TEMP_OFFSET

#define PROF_TEMP_OFFSET   (MAX_PB_SIZE + 32)

Definition at line 30 of file inter.c.

Referenced by luma_prof(), luma_prof_uni(), and mc_bi().

◆ MC_EMULATED_EDGE

#define MC_EMULATED_EDGE ( dst,
src,
src_stride,
x_off,
y_off )
Value:
emulated_edge(lc, dst, src, src_stride, ref, x_off, y_off, x_off, y_off, block_w, block_h, wrap_enabled, is_chroma, \
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
#define LUMA_EXTRA_AFTER
Definition ctu.h:59
#define CHROMA_EXTRA_AFTER
Definition ctu.h:56
#define LUMA_EXTRA_BEFORE
#define CHROMA_EXTRA_BEFORE
static void emulated_edge(const VVCLocalContext *lc, uint8_t *dst, const uint8_t **src, ptrdiff_t *src_stride, const VVCFrame *src_frame, int x_sb, int y_sb, int x_off, int y_off, int block_w, int block_h, const int wrap_enabled, const int is_chroma, const int extra_before, const int extra_after)
Definition inter.c:118
#define src
Definition vp8dsp.c:248
static int ref[MAX_W *MAX_W]

Definition at line 187 of file inter.c.

Referenced by emulated_edge_scaled(), luma_prof(), luma_prof_uni(), mc(), mc_bi(), and mc_uni().

◆ MC_EMULATED_EDGE_DMVR

#define MC_EMULATED_EDGE_DMVR ( dst,
src,
src_stride,
x_sb,
y_sb,
x_off,
y_off )
Value:
emulated_edge(lc, dst, src, src_stride, ref, x_sb, y_sb, x_off, y_off, block_w, block_h, wrap_enabled, is_chroma, \

Definition at line 191 of file inter.c.

Referenced by mc_bi().

◆ MC_EMULATED_EDGE_BILINEAR

#define MC_EMULATED_EDGE_BILINEAR ( dst,
src,
src_stride,
x_off,
y_off )
Value:
emulated_edge(lc, dst, src, src_stride, ref, x_off, y_off, x_off, y_off, pred_w, pred_h, wrap_enabled, 0, \
#define BILINEAR_EXTRA_AFTER
Definition ctu.h:62
#define BILINEAR_EXTRA_BEFORE
Definition ctu.h:61
static void FUNC pred_h(uint8_t *_src, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride)

Definition at line 195 of file inter.c.

Referenced by dmvr_mv_refine().

◆ INTER_FILTER

#define INTER_FILTER ( t,
frac )
Value:
(is_chroma ? ff_vvc_inter_chroma_filters[t][frac] : ff_vvc_inter_luma_filters[t][frac])
const int8_t ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS]
Definition data.c:1735
const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_CHROMA_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS]
Definition data.c:1877

Definition at line 253 of file inter.c.

Referenced by mc(), mc_bi(), and mc_uni().

◆ SCALE_THRESHOLD_1

#define SCALE_THRESHOLD_1   20480

Referenced by inter_filter_scaled().

◆ SCALE_THRESHOLD_2

#define SCALE_THRESHOLD_2   28672

Referenced by inter_filter_scaled().

◆ INTER_FILTER_SCALED

#define INTER_FILTER_SCALED ( scale)
Value:
inter_filter_scaled(scale, is_chroma, is_affine)
static const int8_t * inter_filter_scaled(const int scale, const int is_chroma, const int is_affine)
Definition inter.c:362
static void scale(int *out, const int *in, const int w, const int h, const int shift)
Definition intra.c:278

Definition at line 377 of file inter.c.

Referenced by mc_scaled(), and mc_uni_scaled().

◆ SCALED_CHROMA_ADDIN

#define SCALED_CHROMA_ADDIN ( scale,
collocated_flag )
Value:
(is_chroma ? (collocated_flag ? 0 : 8 * (scale - (1 << 14))) : 0)

Definition at line 379 of file inter.c.

Referenced by scaled_ref_pos_and_step().

◆ SCALED_REF_SB

#define SCALED_REF_SB ( off,
scaling_off,
ref_mv,
scale,
add,
shift )
Value:
((((off - (scaling_off << shift)) << (4 + shift)) + ref_mv) * scale + add)
static int shift(int a, int b)
Definition bonk.c:261

Definition at line 380 of file inter.c.

Referenced by scaled_ref_pos_and_step().

◆ SCALED_REF

#define SCALED_REF ( ref_sb,
offset,
shift )
Value:
(FFSIGN(ref_sb) * ((FFABS(ref_sb) + (128 << is_chroma)) >> (8 + is_chroma)) + (offset << (10 - shift)) + (32 >> is_chroma))
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
Definition common.h:74
#define FFSIGN(a)
Definition common.h:75
unsigned offset
Definition libaomenc.c:763

Definition at line 381 of file inter.c.

Referenced by scaled_ref_pos_and_step().

◆ SCALED_STEP

#define SCALED_STEP ( scale)
Value:
((scale + 8) >> 4)

Definition at line 382 of file inter.c.

Referenced by scaled_ref_pos_and_step().

◆ POS

#define POS ( c_idx,
x,
y )
Value:
&fc->frame->data[c_idx][((y) >> fc->ps.sps->vshift[c_idx]) * fc->frame->linesize[c_idx] + \
(((x) >> fc->ps.sps->hshift[c_idx]) << fc->ps.sps->pixel_shift)]
static const uint16_t fc[]
Definition dcaenc.h:43

Definition at line 590 of file inter.c.

Referenced by pred_affine_blk(), pred_gpm_blk(), pred_regular(), and predict_inter().

◆ SAD_ARRAY_SIZE

#define SAD_ARRAY_SIZE   5

Definition at line 769 of file inter.c.

Referenced by dmvr_mv_refine().

Function Documentation

◆ subpic_get_rect()

static void subpic_get_rect ( VVCRect * r,
const VVCFrame * src_frame,
const int subpic_idx,
const int is_chroma )
static

Definition at line 33 of file inter.c.

Referenced by emulated_edge().

◆ clip_to_subpic()

static void clip_to_subpic ( int * x_off,
int * y_off,
int * pic_width,
int * pic_height,
const VVCRect * subpic,
const VVCRect * sb,
const int dmvr_clip )
static

Definition at line 47 of file inter.c.

Referenced by emulated_edge_no_wrap(), and emulated_half().

◆ emulated_edge_no_wrap()

static void emulated_edge_no_wrap ( 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 extra_before,
const int extra_after,
const VVCRect * subpic,
const VVCRect * sb,
const int dmvr_clip )
static

Definition at line 60 of file inter.c.

Referenced by emulated_edge().

◆ emulated_half()

static void emulated_half ( const VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const uint8_t * src,
const ptrdiff_t src_stride,
const int ps,
int x_off,
int y_off,
const int block_w,
const int block_h,
const VVCRect * subpic,
const VVCRect * half_sb,
const int dmvr_clip )
static

Definition at line 91 of file inter.c.

Referenced by emulated_edge().

◆ sb_set_lr()

static void sb_set_lr ( VVCRect * sb,
const int l,
const int r )
static

Definition at line 107 of file inter.c.

Referenced by emulated_edge(), and sb_wrap().

◆ sb_wrap()

static void sb_wrap ( VVCRect * sb,
const int wrap )
static

Definition at line 113 of file inter.c.

Referenced by emulated_edge().

◆ emulated_edge()

static void emulated_edge ( const VVCLocalContext * lc,
uint8_t * dst,
const uint8_t ** src,
ptrdiff_t * src_stride,
const VVCFrame * src_frame,
int x_sb,
int y_sb,
int x_off,
int y_off,
int block_w,
int block_h,
const int wrap_enabled,
const int is_chroma,
const int extra_before,
const int extra_after )
static

Definition at line 118 of file inter.c.

◆ derive_weight_uni()

static int derive_weight_uni ( int * denom,
int * wx,
int * ox,
const VVCLocalContext * lc,
const MvField * mvf,
const int c_idx )
static

Definition at line 200 of file inter.c.

Referenced by luma_prof_uni(), mc_uni(), and mc_uni_scaled().

◆ apply_averaging()

static void apply_averaging ( uint8_t * dst,
const ptrdiff_t dst_stride,
const int16_t * src0,
const int16_t * src1,
int width,
int height,
const VVCLocalContext * lc,
const MvField * mvf,
const int c_idx,
const int dmvr_flag )
static

Definition at line 220 of file inter.c.

Referenced by luma_prof_bi(), mc_bi(), and mc_bi_scaled().

◆ mc()

static void mc ( VVCLocalContext * lc,
int16_t * dst,
const VVCFrame * ref,
const Mv * mv,
int x_off,
int y_off,
const int block_w,
const int block_h,
const int c_idx )
static

Definition at line 255 of file inter.c.

◆ mc_uni()

static void mc_uni ( VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const VVCFrame * ref,
const MvField * mvf,
int x_off,
int y_off,
const int block_w,
const int block_h,
const int c_idx )
static

Definition at line 280 of file inter.c.

Referenced by pred_regular().

◆ mc_bi()

static void mc_bi ( VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const VVCFrame * ref0,
const VVCFrame * ref1,
const MvField * mvf,
const MvField * orig_mv,
const int x_off,
const int y_off,
const int block_w,
const int block_h,
const int c_idx,
const int sb_bdof_flag )
static

Definition at line 315 of file inter.c.

Referenced by pred_regular().

◆ inter_filter_scaled()

static const int8_t * inter_filter_scaled ( const int scale,
const int is_chroma,
const int is_affine )
static

Definition at line 362 of file inter.c.

◆ scaled_ref_pos_and_step()

static void scaled_ref_pos_and_step ( const VVCLocalContext * lc,
const VVCRefPic * refp,
const Mv * mv,
const int x_off,
const int y_off,
const int c_idx,
int * x,
int * y,
int * dx,
int * dy )
static

Definition at line 384 of file inter.c.

Referenced by mc_scaled(), and mc_uni_scaled().

◆ emulated_edge_scaled()

static void emulated_edge_scaled ( VVCLocalContext * lc,
const uint8_t ** src,
ptrdiff_t * src_stride,
int * src_height,
const VVCFrame * ref,
const int x,
const int y,
const int dx,
const int dy,
const int w,
const int h,
const int is_chroma )
static

Definition at line 405 of file inter.c.

Referenced by mc_scaled(), and mc_uni_scaled().

◆ mc_scaled()

static void mc_scaled ( VVCLocalContext * lc,
int16_t * dst,
const VVCRefPic * refp,
const Mv * mv,
int x_off,
int y_off,
const int block_w,
const int block_h,
const int c_idx )
static

Definition at line 421 of file inter.c.

Referenced by luma_prof_bi(), mc_bi_scaled(), and pred_gpm_blk().

◆ mc_uni_scaled()

static void mc_uni_scaled ( VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const VVCRefPic * refp,
const MvField * mvf,
const int x_off,
const int y_off,
const int block_w,
const int block_h,
const int c_idx )
static

Definition at line 440 of file inter.c.

Referenced by pred_affine_blk(), and pred_regular().

◆ mc_bi_scaled()

static void mc_bi_scaled ( VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const VVCRefPic * refp0,
const VVCRefPic * refp1,
const MvField * mvf,
const int x_off,
const int y_off,
const int block_w,
const int block_h,
const int c_idx )
static

Definition at line 468 of file inter.c.

Referenced by pred_regular().

◆ luma_prof_uni()

static void luma_prof_uni ( VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const VVCFrame * 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

Definition at line 488 of file inter.c.

Referenced by pred_affine_blk().

◆ luma_prof()

static void luma_prof ( VVCLocalContext * lc,
int16_t * dst,
const VVCFrame * ref,
const Mv * mv,
const int x_off,
const int y_off,
const int block_w,
const int block_h,
const int lx )
static

Definition at line 527 of file inter.c.

Referenced by luma_prof_bi().

◆ luma_prof_bi()

static void luma_prof_bi ( VVCLocalContext * lc,
uint8_t * dst,
const ptrdiff_t dst_stride,
const VVCRefPic * ref0,
const VVCRefPic * ref1,
const MvField * mvf,
const int x_off,
const int y_off,
const int block_w,
const int block_h )
static

Definition at line 555 of file inter.c.

Referenced by pred_affine_blk().

◆ pred_get_refs()

static int pred_get_refs ( const VVCLocalContext * lc,
VVCRefPic * refp[2],
const MvField * mv )
static

Definition at line 575 of file inter.c.

Referenced by derive_sb_mv(), pred_affine_blk(), and pred_regular().

◆ pred_gpm_blk()

static void pred_gpm_blk ( VVCLocalContext * lc)
static

Definition at line 594 of file inter.c.

Referenced by predict_inter().

◆ ciip_derive_intra_weight()

static int ciip_derive_intra_weight ( const VVCLocalContext * lc,
const int x0,
const int y0,
const int width,
const int height )
static

Definition at line 652 of file inter.c.

Referenced by pred_regular().

◆ pred_regular()

static void pred_regular ( VVCLocalContext * lc,
const MvField * mvf,
const MvField * orig_mvf,
const int x0,
const int y0,
const int sbw,
const int sbh,
const int sb_bdof_flag,
const int c_start )
static

Definition at line 673 of file inter.c.

Referenced by pred_affine_blk(), and pred_regular_blk().

◆ parametric_mv_refine()

static int parametric_mv_refine ( const int * sad,
const int stride )
static

Definition at line 728 of file inter.c.

Referenced by dmvr_mv_refine().

◆ dmvr_mv_refine()

static void dmvr_mv_refine ( VVCLocalContext * lc,
MvField * mvf,
MvField * orig_mv,
int * sb_bdof_flag,
const VVCFrame * ref0,
const VVCFrame * ref1,
const int x_off,
const int y_off,
const int block_w,
const int block_h )
static

Definition at line 771 of file inter.c.

Referenced by derive_sb_mv().

◆ set_dmvr_info()

static void set_dmvr_info ( VVCFrameContext * fc,
const int x0,
const int y0,
const int width,
const int height,
const MvField * mvf )
static

Definition at line 839 of file inter.c.

Referenced by derive_sb_mv().

◆ derive_sb_mv()

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

Definition at line 853 of file inter.c.

Referenced by pred_regular_blk().

◆ pred_regular_blk()

static void pred_regular_blk ( VVCLocalContext * lc,
const int skip_ciip )
static

Definition at line 871 of file inter.c.

Referenced by ff_vvc_predict_ciip(), and predict_inter().

◆ derive_affine_mvc()

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

Definition at line 899 of file inter.c.

Referenced by pred_affine_blk().

◆ pred_affine_blk()

static void pred_affine_blk ( VVCLocalContext * lc)
static

Definition at line 917 of file inter.c.

Referenced by predict_inter().

◆ predict_inter()

static void predict_inter ( VVCLocalContext * lc)
static

Definition at line 968 of file inter.c.

Referenced by ff_vvc_predict_inter().

◆ has_inter_luma()

static int has_inter_luma ( const CodingUnit * cu)
static

Definition at line 987 of file inter.c.

Referenced by ff_vvc_predict_inter().

◆ ff_vvc_predict_inter()

int ff_vvc_predict_inter ( VVCLocalContext * lc,
int rs )

Loop entire CTU to predict all inter coding blocks.

Parameters
lclocal context for CTU
rsraster order for the CTU
Returns
AVERROR

Definition at line 992 of file inter.c.

Referenced by run_inter().

◆ ff_vvc_predict_ciip()

void ff_vvc_predict_ciip ( VVCLocalContext * lc)

CIIP(Combined Inter-Intra Prediction) for a coding block.

Parameters
lclocal context for CTU

Definition at line 1007 of file inter.c.

Referenced by ff_vvc_reconstruct().

Variable Documentation

◆ bcw_w_lut

const int bcw_w_lut[] = {4, 5, 3, 10, -2}
static

Definition at line 31 of file inter.c.

Referenced by apply_averaging().