Go to the documentation of this file.
27 #define VVC_SIGN(v) (v < 0 ? -1 : !!v)
30 const int block_w,
const int block_h)
37 for (
int y = 0; y < block_h; y += 2) {
38 for (
int x = 0; x < block_w; x++) {
48 int *intra_mip_mode,
const uint8_t mip_info)
50 if (intra_mip_transposed_flag)
51 *intra_mip_transposed_flag = (mip_info >> 1) & 0x1;
53 *intra_mip_mode = (mip_info >> 2) & 0
xf;
67 #define PROF_BORDER_EXT 1
68 #define PROF_BLOCK_SIZE (AFFINE_MIN_BLOCK_SIZE + PROF_BORDER_EXT * 2)
70 #define BDOF_BORDER_EXT 1
71 #define BDOF_BLOCK_SIZE 16
72 #define BDOF_MIN_BLOCK_SIZE 4
89 #define FUNC(a, depth) a ## _ ## depth
91 #define VVC_DSP(depth) \
92 FUNC(ff_vvc_inter_dsp_init, depth)(&vvcdsp->inter); \
93 FUNC(ff_vvc_intra_dsp_init, depth)(&vvcdsp->intra); \
94 FUNC(ff_vvc_itx_dsp_init, depth)(&vvcdsp->itx); \
95 FUNC(ff_vvc_lmcs_dsp_init, depth)(&vvcdsp->lmcs); \
96 FUNC(ff_vvc_lf_dsp_init, depth)(&vvcdsp->lf); \
97 FUNC(ff_vvc_sao_dsp_init, depth)(&vvcdsp->sao); \
98 FUNC(ff_vvc_alf_dsp_init, depth)(&vvcdsp->alf); \
uint16_t top_array[6 *MAX_TB_SIZE+5]
void ff_vvc_dsp_init_aarch64(VVCDSPContext *const c, const int bd)
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 void bit_depth(AudioStatsContext *s, const uint64_t *const mask, uint8_t *depth)
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
void ff_vvc_dsp_init_x86(VVCDSPContext *hpc, const int bit_depth)
uint16_t filtered_top_array[6 *MAX_TB_SIZE+5]
uint16_t filtered_left_array[6 *MAX_TB_SIZE+5]
uint16_t left_array[6 *MAX_TB_SIZE+5]
static av_always_inline void unpack_mip_info(int *intra_mip_transposed_flag, int *intra_mip_mode, const uint8_t mip_info)
void ff_vvc_dsp_init(VVCDSPContext *vvcdsp, int bit_depth)
#define xf(width, name, var, range_min, range_max, subs,...)
void ff_vvc_dsp_init_riscv(VVCDSPContext *const c, const int bd)