diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2014-02-14 15:03:09 +0000 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2014-02-28 13:00:48 +0100 |
commit | 08e3ea60ff4059341b74be04a428a38f7c3630b0 (patch) | |
tree | e9e639f3b99004cdf785a88b17e06b1c28fb1b66 /libavcodec/synth_filter.h | |
parent | 57b1eb9f75b04571063ddec316e290c216c114ac (diff) | |
download | ffmpeg-08e3ea60ff4059341b74be04a428a38f7c3630b0.tar.gz |
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>
Diffstat (limited to 'libavcodec/synth_filter.h')
-rw-r--r-- | libavcodec/synth_filter.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/synth_filter.h b/libavcodec/synth_filter.h index 7b73578f68..f842c701e3 100644 --- a/libavcodec/synth_filter.h +++ b/libavcodec/synth_filter.h @@ -33,5 +33,6 @@ typedef struct SynthFilterContext { void ff_synth_filter_init(SynthFilterContext *c); void ff_synth_filter_init_arm(SynthFilterContext *c); +void ff_synth_filter_init_x86(SynthFilterContext *c); #endif /* AVCODEC_SYNTH_FILTER_H */ |