FFmpeg
Data Structures | Macros | Functions
dsp.c File Reference
#include "dsp.h"
#include "ctu.h"
#include "itx_1d.h"
#include "dsp_template.c"

Go to the source code of this file.

Data Structures

struct  IntraEdgeParams
 

Macros

#define VVC_SIGN(v)   (v < 0 ? -1 : !!v)
 
#define PROF_BORDER_EXT   1
 
#define PROF_BLOCK_SIZE   (AFFINE_MIN_BLOCK_SIZE + PROF_BORDER_EXT * 2)
 
#define BDOF_BORDER_EXT   1
 
#define BDOF_PADDED_SIZE   (16 + BDOF_BORDER_EXT * 2)
 
#define BDOF_BLOCK_SIZE   4
 
#define BDOF_GRADIENT_SIZE   (BDOF_BLOCK_SIZE + BDOF_BORDER_EXT * 2)
 
#define BIT_DEPTH   8
 
#define BIT_DEPTH   10
 
#define BIT_DEPTH   12
 
#define FUNC(a, depth)   a ## _ ## depth
 
#define VVC_DSP(depth)
 

Functions

static void av_always_inline pad_int16 (int16_t *_dst, const ptrdiff_t dst_stride, const int width, const int height)
 
static int vvc_sad (const int16_t *src0, const int16_t *src1, int dx, int dy, const int block_w, const int block_h)
 
void ff_vvc_dsp_init (VVCDSPContext *vvcdsp, int bit_depth)
 

Macro Definition Documentation

◆ VVC_SIGN

#define VVC_SIGN (   v)    (v < 0 ? -1 : !!v)

Definition at line 27 of file dsp.c.

◆ PROF_BORDER_EXT

#define PROF_BORDER_EXT   1

Definition at line 78 of file dsp.c.

◆ PROF_BLOCK_SIZE

#define PROF_BLOCK_SIZE   (AFFINE_MIN_BLOCK_SIZE + PROF_BORDER_EXT * 2)

Definition at line 79 of file dsp.c.

◆ BDOF_BORDER_EXT

#define BDOF_BORDER_EXT   1

Definition at line 80 of file dsp.c.

◆ BDOF_PADDED_SIZE

#define BDOF_PADDED_SIZE   (16 + BDOF_BORDER_EXT * 2)

Definition at line 82 of file dsp.c.

◆ BDOF_BLOCK_SIZE

#define BDOF_BLOCK_SIZE   4

Definition at line 83 of file dsp.c.

◆ BDOF_GRADIENT_SIZE

#define BDOF_GRADIENT_SIZE   (BDOF_BLOCK_SIZE + BDOF_BORDER_EXT * 2)

Definition at line 84 of file dsp.c.

◆ BIT_DEPTH [1/3]

#define BIT_DEPTH   8

Definition at line 94 of file dsp.c.

◆ BIT_DEPTH [2/3]

#define BIT_DEPTH   10

Definition at line 94 of file dsp.c.

◆ BIT_DEPTH [3/3]

#define BIT_DEPTH   12

Definition at line 94 of file dsp.c.

◆ FUNC

#define FUNC (   a,
  depth 
)    a ## _ ## depth

◆ VVC_DSP

#define VVC_DSP (   depth)
Value:
FUNC(ff_vvc_inter_dsp_init, depth)(&vvcdsp->inter); \
FUNC(ff_vvc_intra_dsp_init, depth)(&vvcdsp->intra); \
FUNC(ff_vvc_itx_dsp_init, depth)(&vvcdsp->itx); \
FUNC(ff_vvc_lmcs_dsp_init, depth)(&vvcdsp->lmcs); \
FUNC(ff_vvc_lf_dsp_init, depth)(&vvcdsp->lf); \
FUNC(ff_vvc_sao_dsp_init, depth)(&vvcdsp->sao); \
FUNC(ff_vvc_alf_dsp_init, depth)(&vvcdsp->alf); \

Function Documentation

◆ pad_int16()

static void av_always_inline pad_int16 ( int16_t *  _dst,
const ptrdiff_t  dst_stride,
const int  width,
const int  height 
)
static

Definition at line 29 of file dsp.c.

Referenced by apply_bdof(), and prof_grad_filter().

◆ vvc_sad()

static int vvc_sad ( const int16_t *  src0,
const int16_t *  src1,
int  dx,
int  dy,
const int  block_w,
const int  block_h 
)
static

Definition at line 49 of file dsp.c.

Referenced by ff_vvc_inter_dsp_init().

◆ ff_vvc_dsp_init()

void ff_vvc_dsp_init ( VVCDSPContext vvcdsp,
int  bit_depth 
)
ff_vvc_inter_dsp_init
static void FUNC() ff_vvc_inter_dsp_init(VVCInterDSPContext *const inter)
Definition: inter_template.c:597
ff_vvc_intra_dsp_init
static void FUNC() ff_vvc_intra_dsp_init(VVCIntraDSPContext *const intra)
Definition: intra_template.c:1003
ff_vvc_lmcs_dsp_init
static void FUNC() ff_vvc_lmcs_dsp_init(VVCLMCSDSPContext *const lmcs)
Definition: filter_template.c:840
ff_vvc_itx_dsp_init
static void FUNC() ff_vvc_itx_dsp_init(VVCItxDSPContext *const itx)
Definition: dsp_template.c:97
ff_vvc_alf_dsp_init
static void FUNC() ff_vvc_alf_dsp_init(VVCALFDSPContext *const alf)
Definition: filter_template.c:865
ff_vvc_lf_dsp_init
static void FUNC() ff_vvc_lf_dsp_init(VVCLFDSPContext *const lf)
Definition: filter_template.c:845
FUNC
#define FUNC(a, depth)
ff_vvc_sao_dsp_init
static void FUNC() ff_vvc_sao_dsp_init(VVCSAODSPContext *const sao)
Definition: filter_template.c:855