[FFmpeg-cvslog] swr-x86-simd: create prototypes with macros, this is simpler.

Michael Niedermayer git at videolan.org
Sun May 6 17:32:35 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun May  6 15:22:42 2012 +0200| [11ad5f0d7daa5831f2af39a5f76bf0f7cf545ebd] | committer: Michael Niedermayer

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

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=11ad5f0d7daa5831f2af39a5f76bf0f7cf545ebd
---

 libswresample/x86/swresample_x86.c |   30 +++++++-----------------------
 1 files changed, 7 insertions(+), 23 deletions(-)

diff --git a/libswresample/x86/swresample_x86.c b/libswresample/x86/swresample_x86.c
index 9370221..2c5cb01 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,



More information about the ffmpeg-cvslog mailing list