From 11ad5f0d7daa5831f2af39a5f76bf0f7cf545ebd Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 6 May 2012 15:22:42 +0200 Subject: [PATCH] swr-x86-simd: create prototypes with macros, this is simpler. Signed-off-by: Michael Niedermayer --- libswresample/x86/swresample_x86.c | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/libswresample/x86/swresample_x86.c b/libswresample/x86/swresample_x86.c index 9370221513..2c5cb0151a 100644 --- a/libswresample/x86/swresample_x86.c +++ b/libswresample/x86/swresample_x86.c @@ -21,29 +21,13 @@ #include "libswresample/swresample_internal.h" #include "libswresample/audioconvert.h" -#define MULTI_CAPS_FUNC_DECL(cap) \ - void ff_int16_to_int32_a_ ## cap(uint8_t **dst, const uint8_t **src, int len);\ - void ff_int32_to_int16_a_ ## cap(uint8_t **dst, const uint8_t **src, int len);\ - -MULTI_CAPS_FUNC_DECL(mmx) -MULTI_CAPS_FUNC_DECL(sse) - -void ff_int32_to_float_a_sse2(uint8_t **dst, const uint8_t **src, int len); -void ff_int16_to_float_a_sse2(uint8_t **dst, const uint8_t **src, int len); -void ff_float_to_int32_a_sse2(uint8_t **dst, const uint8_t **src, int len); -void ff_float_to_int16_a_sse2(uint8_t **dst, const uint8_t **src, int len); - -void ff_int32_to_float_a_avx(uint8_t **dst, const uint8_t **src, int len); - -void ff_pack_2ch_int16_to_int16_a_sse(uint8_t **dst, const uint8_t **src, int len); -void ff_pack_2ch_int32_to_int32_a_sse(uint8_t **dst, const uint8_t **src, int len); -void ff_pack_2ch_int16_to_int32_a_sse(uint8_t **dst, const uint8_t **src, int len); -void ff_pack_2ch_int32_to_int16_a_sse(uint8_t **dst, const uint8_t **src, int len); - -void ff_pack_2ch_int32_to_float_a_sse2(uint8_t **dst, const uint8_t **src, int len); -void ff_pack_2ch_float_to_int32_a_sse2(uint8_t **dst, const uint8_t **src, int len); -void ff_pack_2ch_int16_to_float_a_sse2(uint8_t **dst, const uint8_t **src, int len); -void ff_pack_2ch_float_to_int16_a_sse2(uint8_t **dst, const uint8_t **src, int len); +#define PROTO(pre, in, out, cap) void ff ## pre ## _ ##in## _to_ ##out## _a_ ##cap(uint8_t **dst, const uint8_t **src, int len); +#define PROTO2(pre, out, cap) PROTO(pre, int16, out, cap) PROTO(pre, int32, out, cap) PROTO(pre, float, out, cap) +#define PROTO3(pre, cap) PROTO2(pre, int16, cap) PROTO2(pre, int32, cap) PROTO2(pre, float, cap) +#define PROTO4(pre) PROTO3(pre, mmx) PROTO3(pre, sse) PROTO3(pre, sse2) PROTO3(pre, avx) +PROTO4() +PROTO4(_pack_2ch) +PROTO4(_unpack_2ch) void swri_audio_convert_init_x86(struct AudioConvert *ac, enum AVSampleFormat out_fmt,