diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2014-02-14 16:00:48 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-28 20:34:40 +0100 |
commit | 2cdbcc004837ce092a14f326f24d97a29512a2c3 (patch) | |
tree | 7fc4341ce3da5c0aae72033134c5daf7745408fd /libavcodec/synth_filter.c | |
parent | 5333e0dd66c5695fc708bc9d7af4bf8750674b8f (diff) | |
download | ffmpeg-2cdbcc004837ce092a14f326f24d97a29512a2c3.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: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/synth_filter.c')
-rw-r--r-- | libavcodec/synth_filter.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/synth_filter.c b/libavcodec/synth_filter.c index 5f10530974..d49ffe642d 100644 --- a/libavcodec/synth_filter.c +++ b/libavcodec/synth_filter.c @@ -61,4 +61,5 @@ av_cold void ff_synth_filter_init(SynthFilterContext *c) c->synth_filter_float = synth_filter_float; if (ARCH_ARM) ff_synth_filter_init_arm(c); + if (ARCH_X86) ff_synth_filter_init_x86(c); } |