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); \