FFmpeg
Macros | Functions
vvcdsp_init.c File Reference
#include "config.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/vvc/dec.h"
#include "libavcodec/vvc/ctu.h"
#include "libavcodec/vvc/dsp.h"
#include "libavcodec/x86/h26x/h2656dsp.h"

Go to the source code of this file.

Macros

#define PUT_PROTOTYPE(name, depth, opt)   void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, const int8_t *hf, const int8_t *vf, int width);
 
#define PUT_PROTOTYPES(name, bitd, opt)
 
#define PUT_BPC_PROTOTYPES(name, opt)
 
#define PUT_TAP_PROTOTYPES(n, opt)
 
#define bf(fn, bd, opt)   fn##_##bd##_##opt
 
#define BF(fn, bpc, opt)   fn##_##bpc##bpc_##opt
 
#define AVG_BPC_PROTOTYPES(bpc, opt)
 
#define AVG_PROTOTYPES(bd, opt)
 
#define DMVR_PROTOTYPES(bd, opt)
 
#define OF_PROTOTYPES(bd, opt)
 
#define ALF_BPC_PROTOTYPES(bpc, opt)
 
#define ALF_PROTOTYPES(bpc, bd, opt)
 

Functions

void ff_vvc_apply_bdof_avx2 (uint8_t *dst, ptrdiff_t dst_stride, const int16_t *src0, const int16_t *src1, int w, int h, int pixel_max)
 
void ff_vvc_dsp_init_x86 (VVCDSPContext *const c, const int bd)
 

Macro Definition Documentation

◆ PUT_PROTOTYPE

#define PUT_PROTOTYPE (   name,
  depth,
  opt 
)    void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, const int8_t *hf, const int8_t *vf, int width);

Definition at line 33 of file vvcdsp_init.c.

◆ PUT_PROTOTYPES

#define PUT_PROTOTYPES (   name,
  bitd,
  opt 
)
Value:
PUT_PROTOTYPE(name##2, bitd, opt) \
PUT_PROTOTYPE(name##4, bitd, opt) \
PUT_PROTOTYPE(name##8, bitd, opt) \
PUT_PROTOTYPE(name##12, bitd, opt) \
PUT_PROTOTYPE(name##16, bitd, opt) \
PUT_PROTOTYPE(name##24, bitd, opt) \
PUT_PROTOTYPE(name##32, bitd, opt) \
PUT_PROTOTYPE(name##48, bitd, opt) \
PUT_PROTOTYPE(name##64, bitd, opt) \
PUT_PROTOTYPE(name##128, bitd, opt)

Definition at line 36 of file vvcdsp_init.c.

◆ PUT_BPC_PROTOTYPES

#define PUT_BPC_PROTOTYPES (   name,
  opt 
)
Value:
PUT_PROTOTYPES(name, 8, opt) \
PUT_PROTOTYPES(name, 10, opt) \
PUT_PROTOTYPES(name, 12, opt)

Definition at line 48 of file vvcdsp_init.c.

◆ PUT_TAP_PROTOTYPES

#define PUT_TAP_PROTOTYPES (   n,
  opt 
)
Value:
PUT_BPC_PROTOTYPES(n##tap_h, opt) \
PUT_BPC_PROTOTYPES(n##tap_v, opt) \
PUT_BPC_PROTOTYPES(n##tap_hv, opt)

Definition at line 53 of file vvcdsp_init.c.

◆ bf

#define bf (   fn,
  bd,
  opt 
)    fn##_##bd##_##opt

Definition at line 66 of file vvcdsp_init.c.

◆ BF

#define BF (   fn,
  bpc,
  opt 
)    fn##_##bpc##bpc_##opt

Definition at line 67 of file vvcdsp_init.c.

◆ AVG_BPC_PROTOTYPES

#define AVG_BPC_PROTOTYPES (   bpc,
  opt 
)
Value:
void BF(ff_vvc_avg, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \
const int16_t *src0, const int16_t *src1, intptr_t width, intptr_t height, intptr_t pixel_max); \
void BF(ff_vvc_w_avg, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \
const int16_t *src0, const int16_t *src1, intptr_t width, intptr_t height, \
intptr_t denom, intptr_t w0, intptr_t w1, intptr_t o0, intptr_t o1, intptr_t pixel_max);

Definition at line 69 of file vvcdsp_init.c.

◆ AVG_PROTOTYPES

#define AVG_PROTOTYPES (   bd,
  opt 
)
Value:
void bf(ff_vvc_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \
const int16_t *src0, const int16_t *src1, int width, int height); \
void bf(ff_vvc_w_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \
const int16_t *src0, const int16_t *src1, int width, int height, \
int denom, int w0, int w1, int o0, int o1);

Definition at line 76 of file vvcdsp_init.c.

◆ DMVR_PROTOTYPES

#define DMVR_PROTOTYPES (   bd,
  opt 
)
Value:
void ff_vvc_dmvr_##bd##_##opt(int16_t *dst, const uint8_t *src, ptrdiff_t src_stride, \
int height, intptr_t mx, intptr_t my, int width); \
void ff_vvc_dmvr_h_##bd##_##opt(int16_t *dst, const uint8_t *src, ptrdiff_t src_stride, \
int height, intptr_t mx, intptr_t my, int width); \
void ff_vvc_dmvr_v_##bd##_##opt(int16_t *dst, const uint8_t *src, ptrdiff_t src_stride, \
int height, intptr_t mx, intptr_t my, int width); \
void ff_vvc_dmvr_hv_##bd##_##opt(int16_t *dst, const uint8_t *src, ptrdiff_t src_stride, \
int height, intptr_t mx, intptr_t my, int width); \

Definition at line 91 of file vvcdsp_init.c.

◆ OF_PROTOTYPES

#define OF_PROTOTYPES (   bd,
  opt 
)
Value:
static void ff_vvc_apply_bdof_##bd##_##opt(uint8_t *dst, ptrdiff_t dst_stride, \
const int16_t *src0, const int16_t *src1, int w, int h) \
{ \
ff_vvc_apply_bdof##_##opt(dst, dst_stride, src0, src1, w, h, (1 << bd) - 1); \
} \

Definition at line 108 of file vvcdsp_init.c.

◆ ALF_BPC_PROTOTYPES

#define ALF_BPC_PROTOTYPES (   bpc,
  opt 
)
Value:
void BF(ff_vvc_alf_filter_luma, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, ptrdiff_t width, ptrdiff_t height, \
const int16_t *filter, const int16_t *clip, ptrdiff_t stride, ptrdiff_t vb_pos, ptrdiff_t pixel_max); \
void BF(ff_vvc_alf_filter_chroma, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, ptrdiff_t width, ptrdiff_t height, \
const int16_t *filter, const int16_t *clip, ptrdiff_t stride, ptrdiff_t vb_pos, ptrdiff_t pixel_max); \
void BF(ff_vvc_alf_classify_grad, bpc, opt)(int *gradient_sum, \
const uint8_t *src, ptrdiff_t src_stride, intptr_t width, intptr_t height, intptr_t vb_pos); \
void BF(ff_vvc_alf_classify, bpc, opt)(int *class_idx, int *transpose_idx, const int *gradient_sum, \
intptr_t width, intptr_t height, intptr_t vb_pos, intptr_t bit_depth); \

Definition at line 119 of file vvcdsp_init.c.

◆ ALF_PROTOTYPES

#define ALF_PROTOTYPES (   bpc,
  bd,
  opt 
)
Value:
void bf(ff_vvc_alf_filter_luma, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, \
int width, int height, const int16_t *filter, const int16_t *clip, const int vb_pos); \
void bf(ff_vvc_alf_filter_chroma, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, \
int width, int height, const int16_t *filter, const int16_t *clip, const int vb_pos); \
void bf(ff_vvc_alf_classify, bd, opt)(int *class_idx, int *transpose_idx, \
const uint8_t *src, ptrdiff_t src_stride, int width, int height, int vb_pos, int *gradient_tmp); \

Definition at line 131 of file vvcdsp_init.c.

Function Documentation

◆ ff_vvc_apply_bdof_avx2()

void ff_vvc_apply_bdof_avx2 ( uint8_t *  dst,
ptrdiff_t  dst_stride,
const int16_t *  src0,
const int16_t *  src1,
int  w,
int  h,
int  pixel_max 
)

◆ ff_vvc_dsp_init_x86()

void ff_vvc_dsp_init_x86 ( VVCDSPContext *const  c,
const int  bd 
)

Definition at line 359 of file vvcdsp_init.c.

Referenced by ff_vvc_dsp_init().

name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
src1
const pixel * src1
Definition: h264pred_template.c:421
w
uint8_t w
Definition: llviddspenc.c:38
filter
void(* filter)(uint8_t *src, int stride, int qscale)
Definition: h263dsp.c:29
bit_depth
static void bit_depth(AudioStatsContext *s, const uint64_t *const mask, uint8_t *depth)
Definition: af_astats.c:246
mx
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
Definition: dsp.h:53
clip
clip
Definition: af_crystalizer.c:122
my
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
Definition: dsp.h:53
PUT_PROTOTYPES
#define PUT_PROTOTYPES(name, bitd, opt)
Definition: vvcdsp_init.c:36
BF
#define BF(fn, bpc, opt)
Definition: vvcdsp_init.c:67
height
#define height
Definition: dsp.h:85
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
PUT_BPC_PROTOTYPES
#define PUT_BPC_PROTOTYPES(name, opt)
Definition: vvcdsp_init.c:48
stride
#define stride
Definition: h264pred_template.c:537
PUT_PROTOTYPE
#define PUT_PROTOTYPE(name, depth, opt)
Definition: vvcdsp_init.c:33
src0
const pixel *const src0
Definition: h264pred_template.c:420
_
#define _
h
h
Definition: vp9dsp_template.c:2070
width
#define width
Definition: dsp.h:85
bf
#define bf(fn, bd, opt)
Definition: vvcdsp_init.c:66
src
#define src
Definition: vp8dsp.c:248