From 0735b5088055896cb48574ad417b0cf796820d25 Mon Sep 17 00:00:00 2001 From: James Darnley Date: Sun, 10 Mar 2013 15:08:50 +0100 Subject: 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: Michael Niedermayer --- libavfilter/x86/vf_yadif_init.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'libavfilter/x86') diff --git a/libavfilter/x86/vf_yadif_init.c b/libavfilter/x86/vf_yadif_init.c index 2873744d4b..8d5e76833f 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) #if HAVE_YASM #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 */ } -- cgit v1.2.3