summaryrefslogtreecommitdiff
path: root/libavfilter/x86
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-02-07 18:31:45 +0100
committerAnton Khirnov <anton@khirnov.net>2013-02-15 16:08:33 +0100
commit64ed397635ef2666b0ca0c8d8c60a8bc44581d82 (patch)
tree6fbd73648ad7b24d31b1d32541d58d5d022832fb /libavfilter/x86
parentccd70d9c1689990e5aef2de383199bbc7cf60d13 (diff)
vf_yadif: fix out-of line reads
Some changes in the border pixels, visually indistinguishable.
Diffstat (limited to 'libavfilter/x86')
-rw-r--r--libavfilter/x86/vf_yadif_init.c12
1 files changed, 9 insertions, 3 deletions
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 */
}