1*c0909341SAndroid Build Coastguard Worker #include "src/cpu.h"
2*c0909341SAndroid Build Coastguard Worker #include "src/cdef.h"
3*c0909341SAndroid Build Coastguard Worker
4*c0909341SAndroid Build Coastguard Worker extern void BF(dav1d_cdef_filter_block_4x4, rvv)(pixel *dst, const ptrdiff_t dst_stride,
5*c0909341SAndroid Build Coastguard Worker const pixel (*left)[2],
6*c0909341SAndroid Build Coastguard Worker const pixel *const top, const pixel *const bottom,
7*c0909341SAndroid Build Coastguard Worker const int pri_strength, const int sec_strength, const int dir,
8*c0909341SAndroid Build Coastguard Worker const int damping, const enum CdefEdgeFlags edges HIGHBD_DECL_SUFFIX);
9*c0909341SAndroid Build Coastguard Worker
10*c0909341SAndroid Build Coastguard Worker extern void BF(dav1d_cdef_filter_block_4x8, rvv)(pixel *dst, const ptrdiff_t dst_stride,
11*c0909341SAndroid Build Coastguard Worker const pixel (*left)[2],
12*c0909341SAndroid Build Coastguard Worker const pixel *const top, const pixel *const bottom,
13*c0909341SAndroid Build Coastguard Worker const int pri_strength, const int sec_strength, const int dir,
14*c0909341SAndroid Build Coastguard Worker const int damping, const enum CdefEdgeFlags edges HIGHBD_DECL_SUFFIX);
15*c0909341SAndroid Build Coastguard Worker
16*c0909341SAndroid Build Coastguard Worker extern void BF(dav1d_cdef_filter_block_8x8, rvv)(pixel *dst, const ptrdiff_t dst_stride,
17*c0909341SAndroid Build Coastguard Worker const pixel (*left)[2],
18*c0909341SAndroid Build Coastguard Worker const pixel *const top, const pixel *const bottom,
19*c0909341SAndroid Build Coastguard Worker const int pri_strength, const int sec_strength, const int dir,
20*c0909341SAndroid Build Coastguard Worker const int damping, const enum CdefEdgeFlags edges HIGHBD_DECL_SUFFIX);
21*c0909341SAndroid Build Coastguard Worker
22*c0909341SAndroid Build Coastguard Worker
cdef_dsp_init_riscv(Dav1dCdefDSPContext * const c)23*c0909341SAndroid Build Coastguard Worker static ALWAYS_INLINE void cdef_dsp_init_riscv(Dav1dCdefDSPContext *const c) {
24*c0909341SAndroid Build Coastguard Worker const unsigned flags = dav1d_get_cpu_flags();
25*c0909341SAndroid Build Coastguard Worker if (!(flags & DAV1D_RISCV_CPU_FLAG_V)) return;
26*c0909341SAndroid Build Coastguard Worker
27*c0909341SAndroid Build Coastguard Worker // c->dir = BF(dav1d_cdef_dir, rvv);
28*c0909341SAndroid Build Coastguard Worker c->fb[0] = BF(dav1d_cdef_filter_block_8x8, rvv);
29*c0909341SAndroid Build Coastguard Worker c->fb[1] = BF(dav1d_cdef_filter_block_4x8, rvv);
30*c0909341SAndroid Build Coastguard Worker c->fb[2] = BF(dav1d_cdef_filter_block_4x4, rvv);
31*c0909341SAndroid Build Coastguard Worker }
32