[FFmpeg-devel] [PATCH v2 1/3] avcodec/x86/vvc/vvcdsp_init: add put prototypes

toqsxw at outlook.com toqsxw at outlook.com
Mon Apr 15 20:35:48 EEST 2024


From: Wu Jianhua <toqsxw at outlook.com>

Signed-off-by: Wu Jianhua <toqsxw at outlook.com>
---
 libavcodec/x86/vvc/vvcdsp_init.c | 35 +++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/libavcodec/x86/vvc/vvcdsp_init.c b/libavcodec/x86/vvc/vvcdsp_init.c
index 23a3172c45..d9203f4d5f 100644
--- a/libavcodec/x86/vvc/vvcdsp_init.c
+++ b/libavcodec/x86/vvc/vvcdsp_init.c
@@ -30,9 +30,42 @@
 #include "libavcodec/vvc/dsp.h"
 #include "libavcodec/x86/h26x/h2656dsp.h"
 
+#define PUT_PROTOTYPE(name, depth, opt) \
+void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, const int8_t *hf, const int8_t *vf, int width);
+
+#define PUT_PROTOTYPES(name, bitd, opt) \
+        PUT_PROTOTYPE(name##2,   bitd, opt) \
+        PUT_PROTOTYPE(name##4,   bitd, opt) \
+        PUT_PROTOTYPE(name##8,   bitd, opt) \
+        PUT_PROTOTYPE(name##12,  bitd, opt) \
+        PUT_PROTOTYPE(name##16,  bitd, opt) \
+        PUT_PROTOTYPE(name##24,  bitd, opt) \
+        PUT_PROTOTYPE(name##32,  bitd, opt) \
+        PUT_PROTOTYPE(name##48,  bitd, opt) \
+        PUT_PROTOTYPE(name##64,  bitd, opt) \
+        PUT_PROTOTYPE(name##128, bitd, opt)
+
+#define PUT_BPC_PROTOTYPES(name, opt) \
+    PUT_PROTOTYPES(name,  8, opt)     \
+    PUT_PROTOTYPES(name, 10, opt)     \
+    PUT_PROTOTYPES(name, 12, opt)
+
+#define PUT_TAP_PROTOTYPES(n, opt) \
+    PUT_BPC_PROTOTYPES(n##tap_h,  opt) \
+    PUT_BPC_PROTOTYPES(n##tap_v,  opt) \
+    PUT_BPC_PROTOTYPES(n##tap_hv, opt)
+
+PUT_BPC_PROTOTYPES(pixels, sse4)
+PUT_BPC_PROTOTYPES(pixels, avx2)
+
+PUT_TAP_PROTOTYPES(4, sse4)
+PUT_TAP_PROTOTYPES(8, sse4)
+PUT_TAP_PROTOTYPES(4, avx2)
+PUT_TAP_PROTOTYPES(8, avx2)
+
 #if ARCH_X86_64
 #define FW_PUT(name, depth, opt) \
-static void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, \
+void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride,        \
                                                  int height, const int8_t *hf, const int8_t *vf, int width)    \
 {                                                                                                              \
     ff_h2656_put_## name ## _ ## depth ## _##opt(dst, 2 * MAX_PB_SIZE, src, srcstride, height, hf, vf, width); \
-- 
2.44.0.windows.1



More information about the ffmpeg-devel mailing list