swr: rewrite resample_common/linear_float_sse/avx in yasm.
authorRonald S. Bultje <rsbultje@gmail.com>
Sat, 28 Jun 2014 15:05:52 +0000 (11:05 -0400)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Jun 2014 15:06:47 +0000 (17:06 +0200)
commitfaa1471ffcc1bbffe3a9d3d1f4b5fe3adbef647a
treeea7e57f6e4252876e391f409b1cb9f7efad32e1d
parenta348f4befe23ada291a1982de23ed7d828bdaf0c
swr: rewrite resample_common/linear_float_sse/avx in yasm.

Linear interpolation goes from 63 (llvm) or 58 (gcc) to 48 (yasm)
cycles/sample on 64bit, or from 66 (llvm/gcc) to 52 (yasm) cycles/
sample on 32bit. Bon-linear goes from 43 (llvm) or 38 (gcc) to
32 (yasm) cycles/sample on 64bit, or from 46 (llvm) or 44 (gcc) to
38 (yasm) cycles/sample on 32bit (all testing on OSX 10.9.2, llvm
5.1 and gcc 4.8/9).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
configure
libswresample/resample_template.c
libswresample/x86/Makefile
libswresample/x86/resample.asm [new file with mode: 0644]
libswresample/x86/resample_mmx.h
libswresample/x86/resample_x86_dsp.c