From 64ed397635ef2666b0ca0c8d8c60a8bc44581d82 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 7 Feb 2013 18:31:45 +0100 Subject: vf_yadif: fix out-of line reads Some changes in the border pixels, visually indistinguishable. --- libavfilter/x86/vf_yadif_init.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libavfilter/x86') diff --git a/libavfilter/x86/vf_yadif_init.c b/libavfilter/x86/vf_yadif_init.c index 2ffeca0f76..b330c73c59 100644 --- a/libavfilter/x86/vf_yadif_init.c +++ b/libavfilter/x86/vf_yadif_init.c @@ -43,12 +43,18 @@ 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; - if (EXTERNAL_SSSE3(cpu_flags)) + yadif->req_align = 16; + } + if (EXTERNAL_SSSE3(cpu_flags)) { yadif->filter_line = ff_yadif_filter_line_ssse3; + yadif->req_align = 16; + } #endif /* HAVE_YASM */ } -- cgit v1.2.3