summaryrefslogtreecommitdiff
path: root/libavfilter/x86
diff options
context:
space:
mode:
authorJames Darnley <james.darnley@gmail.com>2013-03-10 15:08:50 +0100
committerAnton Khirnov <anton@khirnov.net>2013-05-14 09:23:55 +0200
commitb0ef0ae77608a5e3d2ba68af503e8b1277a215d3 (patch)
treee20e68000ab598606e20e3671f2a028118f69857 /libavfilter/x86
parent252c0bfdc014c1fb6ad4fe06242c7beca58a6b41 (diff)
yadif: restore speed of the C filtering code
Always use the special filter for the first and last 3 columns (only). Changes made in 64ed397 slowed the filter to just under 3/4 of what it was. This commit restores the speed while maintaining identical output. For reference, on my Athlon64: 1733222 decicycles in old 2358563 decicycles in new 1727558 decicycles in this Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavfilter/x86')
-rw-r--r--libavfilter/x86/vf_yadif_init.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/libavfilter/x86/vf_yadif_init.c b/libavfilter/x86/vf_yadif_init.c
index 99520a2ee8..5978a4fd42 100644
--- a/libavfilter/x86/vf_yadif_init.c
+++ b/libavfilter/x86/vf_yadif_init.c
@@ -42,18 +42,12 @@ av_cold void ff_yadif_init_x86(YADIFContext *yadif)
int cpu_flags = av_get_cpu_flags();
#if ARCH_X86_32
- if (EXTERNAL_MMXEXT(cpu_flags)) {
+ if (EXTERNAL_MMXEXT(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_mmxext;
- yadif->req_align = 8;
- }
#endif /* ARCH_X86_32 */
- if (EXTERNAL_SSE2(cpu_flags)) {
+ if (EXTERNAL_SSE2(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_sse2;
- yadif->req_align = 16;
- }
- if (EXTERNAL_SSSE3(cpu_flags)) {
+ if (EXTERNAL_SSSE3(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_ssse3;
- yadif->req_align = 16;
- }
#endif /* HAVE_YASM */
}