]> git.sesse.net Git - ffmpeg/commit
x86: synth filter float: implement SSE2 version
authorChristophe Gisquet <christophe.gisquet@gmail.com>
Fri, 14 Feb 2014 15:03:09 +0000 (15:03 +0000)
committerJanne Grunau <janne-libav@jannau.net>
Fri, 28 Feb 2014 12:00:48 +0000 (13:00 +0100)
commit08e3ea60ff4059341b74be04a428a38f7c3630b0
treee9e639f3b99004cdf785a88b17e06b1c28fb1b66
parent57b1eb9f75b04571063ddec316e290c216c114ac
x86: synth filter float: implement SSE2 version

Timings for Arrandale:
          C    SSE
win32:  2108   334
win64:  1152   322

Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.

Unrolling for ARCH_X86_64 is a 20 cycles gain.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
libavcodec/synth_filter.c
libavcodec/synth_filter.h
libavcodec/x86/dcadsp.asm
libavcodec/x86/dcadsp_init.c