diff mbox series

[FFmpeg-devel,v2,02/14] aarch64/hevc: Move epel/qpel to h26x directory

Message ID tencent_9870002D299AC540309A6E9F48ABE54E5B08@qq.com
State New
Headers show
Series aarch64/vvc: Add SIMD | expand

Commit Message

Zhao Zhili Sept. 11, 2024, 6:06 p.m. UTC
From: Zhao Zhili <zhilizhao@tencent.com>

So vvc can reuse the implementation.
---
 libavcodec/aarch64/Makefile                   |   4 +-
 libavcodec/aarch64/h26x/dsp.h                 | 198 ++++++++++++++++++
 .../{hevcdsp_epel_neon.S => h26x/epel_neon.S} |   0
 .../{hevcdsp_qpel_neon.S => h26x/qpel_neon.S} |   0
 libavcodec/aarch64/hevcdsp_init_aarch64.c     | 197 -----------------
 5 files changed, 200 insertions(+), 199 deletions(-)
 rename libavcodec/aarch64/{hevcdsp_epel_neon.S => h26x/epel_neon.S} (100%)
 rename libavcodec/aarch64/{hevcdsp_qpel_neon.S => h26x/qpel_neon.S} (100%)
diff mbox series

Patch

diff --git a/libavcodec/aarch64/Makefile b/libavcodec/aarch64/Makefile
index a01e665b55..9affb92789 100644
--- a/libavcodec/aarch64/Makefile
+++ b/libavcodec/aarch64/Makefile
@@ -71,6 +71,6 @@  NEON-OBJS-$(CONFIG_VP9_DECODER)         += aarch64/vp9itxfm_16bpp_neon.o       \
 NEON-OBJS-$(CONFIG_HEVC_DECODER)        += aarch64/hevcdsp_deblock_neon.o      \
                                            aarch64/hevcdsp_idct_neon.o         \
                                            aarch64/hevcdsp_init_aarch64.o      \
-                                           aarch64/hevcdsp_qpel_neon.o         \
-                                           aarch64/hevcdsp_epel_neon.o         \
+                                           aarch64/h26x/epel_neon.o            \
+                                           aarch64/h26x/qpel_neon.o            \
                                            aarch64/h26x/sao_neon.o
diff --git a/libavcodec/aarch64/h26x/dsp.h b/libavcodec/aarch64/h26x/dsp.h
index d3f7a4dfe3..902286872d 100644
--- a/libavcodec/aarch64/h26x/dsp.h
+++ b/libavcodec/aarch64/h26x/dsp.h
@@ -37,4 +37,202 @@  void ff_vvc_sao_edge_filter_16x16_8_neon(uint8_t *dst, const uint8_t *src, ptrdi
                                          const int16_t *sao_offset_val, int eo, int width, int height);
 void ff_vvc_sao_edge_filter_8x8_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst,
                                        const int16_t *sao_offset_val, int eo, int width, int height);
+
+#define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \
+    void ff_hevc_put_hevc_##fn##_h4_8_neon##ext args;  \
+    void ff_hevc_put_hevc_##fn##_h6_8_neon##ext args;  \
+    void ff_hevc_put_hevc_##fn##_h8_8_neon##ext args;  \
+    void ff_hevc_put_hevc_##fn##_h12_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##_h16_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##_h32_8_neon##ext args;
+
+NEON8_FNPROTO_PARTIAL_6(qpel, (int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height,
+        intptr_t mx, intptr_t my, int width),)
+
+NEON8_FNPROTO_PARTIAL_6(qpel_uni, (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src,
+        ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width),)
+
+NEON8_FNPROTO_PARTIAL_6(qpel_bi, (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src,
+        ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t
+        mx, intptr_t my, int width),)
+
+#define NEON8_FNPROTO(fn, args, ext) \
+    void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##6_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##12_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##24_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##48_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##64_8_neon##ext args
+
+#define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \
+    void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##64_8_neon##ext args
+
+#define NEON8_FNPROTO_PARTIAL_5(fn, args, ext) \
+    void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \
+    void ff_hevc_put_hevc_##fn##64_8_neon##ext args
+
+NEON8_FNPROTO(pel_pixels, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(pel_bi_pixels, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_bi_h, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_bi_v, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(epel_v, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(pel_uni_pixels, (uint8_t *_dst, ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(pel_uni_w_pixels, (uint8_t *_dst, ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_uni_v, (uint8_t *dst,  ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_uni_hv, (uint8_t *dst, ptrdiff_t _dststride,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_uni_hv, (uint8_t *dst, ptrdiff_t _dststride,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(epel_uni_w_v, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO_PARTIAL_4(qpel_uni_w_v, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_h, (int16_t *dst,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_hv, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width), );
+
+NEON8_FNPROTO(epel_h, (int16_t *dst,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(epel_hv, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(epel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(qpel_h, (int16_t *dst,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(qpel_v, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_hv, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_hv, (int16_t *dst,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(qpel_uni_v, (uint8_t *dst,  ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_uni_hv, (uint8_t *dst,  ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_uni_hv, (uint8_t *dst,  ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(qpel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(epel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(epel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO_PARTIAL_5(qpel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO_PARTIAL_5(qpel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
+        const uint8_t *_src, ptrdiff_t _srcstride,
+        int height, int denom, int wx, int ox,
+        intptr_t mx, intptr_t my, int width), _i8mm);
+
+NEON8_FNPROTO(qpel_bi_v, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width),);
+
+NEON8_FNPROTO(qpel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
+        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
+        int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
 #endif
diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/h26x/epel_neon.S
similarity index 100%
rename from libavcodec/aarch64/hevcdsp_epel_neon.S
rename to libavcodec/aarch64/h26x/epel_neon.S
diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S b/libavcodec/aarch64/h26x/qpel_neon.S
similarity index 100%
rename from libavcodec/aarch64/hevcdsp_qpel_neon.S
rename to libavcodec/aarch64/h26x/qpel_neon.S
diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c
index 26bbc8750f..386d7c59c8 100644
--- a/libavcodec/aarch64/hevcdsp_init_aarch64.c
+++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c
@@ -93,203 +93,6 @@  void ff_hevc_idct_16x16_dc_10_neon(int16_t *coeffs);
 void ff_hevc_idct_32x32_dc_10_neon(int16_t *coeffs);
 void ff_hevc_transform_luma_4x4_neon_8(int16_t *coeffs);
 
-#define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \
-    void ff_hevc_put_hevc_##fn##_h4_8_neon##ext args;  \
-    void ff_hevc_put_hevc_##fn##_h6_8_neon##ext args;  \
-    void ff_hevc_put_hevc_##fn##_h8_8_neon##ext args;  \
-    void ff_hevc_put_hevc_##fn##_h12_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##_h16_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##_h32_8_neon##ext args;
-
-NEON8_FNPROTO_PARTIAL_6(qpel, (int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height,
-        intptr_t mx, intptr_t my, int width),)
-
-NEON8_FNPROTO_PARTIAL_6(qpel_uni, (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src,
-        ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width),)
-
-NEON8_FNPROTO_PARTIAL_6(qpel_bi, (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src,
-        ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t
-        mx, intptr_t my, int width),)
-
-#define NEON8_FNPROTO(fn, args, ext) \
-    void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##6_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##12_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##24_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##48_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##64_8_neon##ext args
-
-#define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \
-    void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##64_8_neon##ext args
-
-#define NEON8_FNPROTO_PARTIAL_5(fn, args, ext) \
-    void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \
-    void ff_hevc_put_hevc_##fn##64_8_neon##ext args
-
-NEON8_FNPROTO(pel_pixels, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(pel_bi_pixels, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_bi_h, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_bi_v, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(epel_v, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(pel_uni_pixels, (uint8_t *_dst, ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(pel_uni_w_pixels, (uint8_t *_dst, ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_uni_v, (uint8_t *dst,  ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_uni_hv, (uint8_t *dst, ptrdiff_t _dststride,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_uni_hv, (uint8_t *dst, ptrdiff_t _dststride,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(epel_uni_w_v, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO_PARTIAL_4(qpel_uni_w_v, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_h, (int16_t *dst,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_hv, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width), );
-
-NEON8_FNPROTO(epel_h, (int16_t *dst,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(epel_hv, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(epel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(qpel_h, (int16_t *dst,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(qpel_v, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_hv, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_hv, (int16_t *dst,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(qpel_uni_v, (uint8_t *dst,  ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_uni_hv, (uint8_t *dst,  ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_uni_hv, (uint8_t *dst,  ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(qpel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_uni_w_h, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(epel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(epel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO_PARTIAL_5(qpel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO_PARTIAL_5(qpel_uni_w_hv, (uint8_t *_dst,  ptrdiff_t _dststride,
-        const uint8_t *_src, ptrdiff_t _srcstride,
-        int height, int denom, int wx, int ox,
-        intptr_t mx, intptr_t my, int width), _i8mm);
-
-NEON8_FNPROTO(qpel_bi_v, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width),);
-
-NEON8_FNPROTO(qpel_bi_hv, (uint8_t *dst, ptrdiff_t dststride,
-        const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
-        int height, intptr_t mx, intptr_t my, int width), _i8mm);
-
 #define NEON8_FNASSIGN(member, v, h, fn, ext) \
         member[1][v][h] = ff_hevc_put_hevc_##fn##4_8_neon##ext;  \
         member[2][v][h] = ff_hevc_put_hevc_##fn##6_8_neon##ext;  \