#include <math.h>
#include <stdlib.h>
#include "config/aom_dsp_rtcd.h"
#include "config/av1_rtcd.h"
#include "av1/common/cdef.h"
DECLARE_ALIGNED(16, static const int, cdef_directions_padded[12][2]) = …;
const int (*const cdef_directions)[2] = …;
int cdef_find_dir_c(const uint16_t *img, int stride, int32_t *var,
int coeff_shift) { … }
void cdef_find_dir_dual_c(const uint16_t *img1, const uint16_t *img2,
int stride, int32_t *var1, int32_t *var2,
int coeff_shift, int *out1, int *out2) { … }
const int cdef_pri_taps[2][2] = …;
const int cdef_sec_taps[2] = …;
static void cdef_filter_block_internal(
uint8_t *dst8, uint16_t *dst16, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir, int pri_damping,
int sec_damping, int coeff_shift, int block_width, int block_height,
int enable_primary, int enable_secondary) { … }
void cdef_filter_8_0_c(void *dst8, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_8_1_c(void *dst8, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_8_2_c(void *dst8, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_8_3_c(void *dst8, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_16_0_c(void *dst16, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_16_1_c(void *dst16, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_16_2_c(void *dst16, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
void cdef_filter_16_3_c(void *dst16, int dstride, const uint16_t *in,
int pri_strength, int sec_strength, int dir,
int pri_damping, int sec_damping, int coeff_shift,
int block_width, int block_height) { … }
static inline int adjust_strength(int strength, int32_t var) { … }
static inline void aom_cdef_find_dir(const uint16_t *in, cdef_list *dlist,
int var[CDEF_NBLOCKS][CDEF_NBLOCKS],
int cdef_count, int coeff_shift,
int dir[CDEF_NBLOCKS][CDEF_NBLOCKS]) { … }
void av1_cdef_filter_fb(uint8_t *dst8, uint16_t *dst16, int dstride,
const uint16_t *in, int xdec, int ydec,
int dir[CDEF_NBLOCKS][CDEF_NBLOCKS], int *dirinit,
int var[CDEF_NBLOCKS][CDEF_NBLOCKS], int pli,
cdef_list *dlist, int cdef_count, int level,
int sec_strength, int damping, int coeff_shift) { … }