avcodec/x86/vvc/vvcdsp_init: add put prototypes

When we used the --disable-ssse3 --disable-optimizations options,
the compiler would not skip the MC_LINKS like the compilation that
enabled the optimization, so it would fail to find the function
prototypes. Hence, this commit uses the same way to add prototypes
for the functions as HEVC DSP.

Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
This commit is contained in:
Wu Jianhua 2024-04-18 02:28:21 +08:00 committed by Nuo Mi
parent bba996d6cd
commit 4358f49568
1 changed files with 34 additions and 1 deletions

View File

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