diff options
author | Anton Khirnov <anton@khirnov.net> | 2013-02-07 18:31:45 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-02-15 16:08:33 +0100 |
commit | 64ed397635ef2666b0ca0c8d8c60a8bc44581d82 (patch) | |
tree | 6fbd73648ad7b24d31b1d32541d58d5d022832fb /libavfilter/x86 | |
parent | ccd70d9c1689990e5aef2de383199bbc7cf60d13 (diff) | |
download | ffmpeg-64ed397635ef2666b0ca0c8d8c60a8bc44581d82.tar.gz |
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.c | 12 |
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 */ } |