FFmpeg
Data Structures | Macros | Functions | Variables
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.

Data Structures

struct  VVCRect
 

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)   (is_chroma ? ff_vvc_inter_chroma_filters[t][frac] : ff_vvc_inter_luma_filters[t][frac])
 
#define SCALE_THRESHOLD_1   20480
 
#define SCALE_THRESHOLD_2   28672
 
#define INTER_FILTER_SCALED(scale)   inter_filter_scaled(scale, is_chroma, is_affine)
 
#define SCALED_CHROMA_ADDIN(scale, collocated_flag)   (is_chroma ? (collocated_flag ? 0 : 8 * (scale - (1 << 14))) : 0)
 
#define SCALED_REF_SB(off, scaling_off, ref_mv, scale, add, shift)   ((((off - (scaling_off << shift)) << (4 + shift)) + ref_mv) * scale + add)
 
#define SCALED_REF(ref_sb, offset, shift)   (FFSIGN(ref_sb) * ((FFABS(ref_sb) + (128 << is_chroma)) >> (8 + is_chroma)) + (offset << (10 - shift)) + (32 >> is_chroma))
 
#define SCALED_STEP(scale)   ((scale + 8) >> 4)
 
#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 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 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. More...
 
void ff_vvc_predict_ciip (VVCLocalContext *lc)
 CIIP(Combined Inter-Intra Prediction) for a coding block. More...
 

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.

◆ 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, \

Definition at line 194 of file inter.c.

◆ 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 198 of file inter.c.

◆ 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, \

Definition at line 202 of file inter.c.

◆ INTER_FILTER

#define INTER_FILTER (   t,
  frac 
)    (is_chroma ? ff_vvc_inter_chroma_filters[t][frac] : ff_vvc_inter_luma_filters[t][frac])

Definition at line 257 of file inter.c.

◆ SCALE_THRESHOLD_1

#define SCALE_THRESHOLD_1   20480

◆ SCALE_THRESHOLD_2

#define SCALE_THRESHOLD_2   28672

◆ INTER_FILTER_SCALED

#define INTER_FILTER_SCALED (   scale)    inter_filter_scaled(scale, is_chroma, is_affine)

Definition at line 384 of file inter.c.

◆ SCALED_CHROMA_ADDIN

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

Definition at line 386 of file inter.c.

◆ SCALED_REF_SB

#define SCALED_REF_SB (   off,
  scaling_off,
  ref_mv,
  scale,
  add,
  shift 
)    ((((off - (scaling_off << shift)) << (4 + shift)) + ref_mv) * scale + add)

Definition at line 387 of file inter.c.

◆ SCALED_REF

#define SCALED_REF (   ref_sb,
  offset,
  shift 
)    (FFSIGN(ref_sb) * ((FFABS(ref_sb) + (128 << is_chroma)) >> (8 + is_chroma)) + (offset << (10 - shift)) + (32 >> is_chroma))

Definition at line 388 of file inter.c.

◆ SCALED_STEP

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

Definition at line 389 of file inter.c.

◆ POS

#define POS (   c_idx,
  x,
 
)
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)]

Definition at line 608 of file inter.c.

◆ SAD_ARRAY_SIZE

#define SAD_ARRAY_SIZE   5

Definition at line 787 of file inter.c.

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 40 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 54 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 67 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 98 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 114 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 120 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 125 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 207 of file inter.c.

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

◆ derive_weight()

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

Definition at line 227 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 259 of file inter.c.

Referenced by mc_bi_scaled(), and pred_gpm_blk().

◆ 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 284 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 319 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 369 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 391 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 412 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 428 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 447 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 475 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 500 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 539 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 567 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 593 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 612 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 670 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 691 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 746 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 789 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 857 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 871 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 889 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 917 of file inter.c.

Referenced by pred_affine_blk().

◆ pred_affine_blk()

static void pred_affine_blk ( VVCLocalContext lc)
static

Definition at line 935 of file inter.c.

Referenced by predict_inter().

◆ predict_inter()

static void predict_inter ( VVCLocalContext lc)
static

Definition at line 986 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 1005 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 1010 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 1026 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 derive_weight().

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)
Definition: inter.c:125
CHROMA_EXTRA_BEFORE
#define CHROMA_EXTRA_BEFORE
Definition: h2656_inter_template.c:24
fc
#define fc(width, name, range_min, range_max)
Definition: cbs_av1.c:464
LUMA_EXTRA_AFTER
#define LUMA_EXTRA_AFTER
Definition: ctu.h:56
pred_h
static void FUNC() pred_h(uint8_t *_src, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride)
Definition: intra_template.c:877
LUMA_EXTRA_BEFORE
#define LUMA_EXTRA_BEFORE
Definition: h2656_inter_template.c:26
CHROMA_EXTRA_AFTER
#define CHROMA_EXTRA_AFTER
Definition: ctu.h:53
BILINEAR_EXTRA_AFTER
#define BILINEAR_EXTRA_AFTER
Definition: ctu.h:59
ref
static int ref[MAX_W *MAX_W]
Definition: jpeg2000dwt.c:112
BILINEAR_EXTRA_BEFORE
#define BILINEAR_EXTRA_BEFORE
Definition: ctu.h:58
src
INIT_CLIP pixel * src
Definition: h264pred_template.c:418