swr-x86-simd: create prototypes with macros, this is simpler.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-05-06 15:22:42 +02:00
parent adfa53b91f
commit 11ad5f0d7d

View File

@ -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,