Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2018-10-28 01:38:21 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2018-10-28 03:03:29 +0300
commitacde4240fe0fd55077cfefabba1348b632f33fbd (patch)
treeef623d3f249690133c86b865bc2b4797670e763a /src/cdef.h
parentdd797aa20b080487cd3a2975e7d028b03039502f (diff)
Add AVX2 SIMD implementation for cdef_dir
cdef_dir_8bpc_c: 629.3 cdef_dir_8bpc_avx2: 82.4 First 1000 frames of Chimera 1080p: before: 0m23.084s after: 0m21.860s
Diffstat (limited to 'src/cdef.h')
-rw-r--r--src/cdef.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cdef.h b/src/cdef.h
index 9573962..642d125 100644
--- a/src/cdef.h
+++ b/src/cdef.h
@@ -48,8 +48,10 @@ typedef void (*cdef_fn)(pixel *dst, ptrdiff_t stride,
/*const*/ pixel *const top[2],
int pri_strength, int sec_strength,
int dir, int damping, enum CdefEdgeFlags edges);
-typedef int (*cdef_dir_fn)(const pixel *dst, ptrdiff_t stride,
- unsigned *var);
+
+#define decl_cdef_dir_fn(name) \
+int (name)(const pixel *dst, ptrdiff_t dst_stride, unsigned *var)
+typedef decl_cdef_dir_fn(*cdef_dir_fn);
typedef struct Dav1dCdefDSPContext {
cdef_dir_fn dir;
@@ -59,4 +61,7 @@ typedef struct Dav1dCdefDSPContext {
void dav1d_cdef_dsp_init_8bpc(Dav1dCdefDSPContext *c);
void dav1d_cdef_dsp_init_10bpc(Dav1dCdefDSPContext *c);
+void dav1d_cdef_dsp_init_x86_8bpc(Dav1dCdefDSPContext *c);
+void dav1d_cdef_dsp_init_x86_10bpc(Dav1dCdefDSPContext *c);
+
#endif /* __DAV1D_SRC_CDEF_H__ */