summaryrefslogtreecommitdiff
path: root/libavfilter/vf_yadif.c
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2010-12-04 05:23:44 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2010-12-04 05:23:44 +0000
commit1ef64490e1c7b682eeca545ce5ded77733cfbf10 (patch)
tree11f58b11d4108c3e73126bf9bb74eff36ec78e4d /libavfilter/vf_yadif.c
parent23b8342af413c447ef9c4c0e0f645833b96fd1bf (diff)
yadif sse2/ssse3 optimizations
Originally committed as revision 25874 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavfilter/vf_yadif.c')
-rw-r--r--libavfilter/vf_yadif.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 5c4a2455d3..d96e5877e9 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -304,7 +304,11 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
if (args) sscanf(args, "%d:%d", &yadif->mode, &yadif->parity);
yadif->filter_line = filter_line_c;
- if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX)
+ if (HAVE_SSSE3 && cpu_flags & AV_CPU_FLAG_SSSE3)
+ yadif->filter_line = ff_yadif_filter_line_ssse3;
+ else if (HAVE_SSE && cpu_flags & AV_CPU_FLAG_SSE2)
+ yadif->filter_line = ff_yadif_filter_line_sse2;
+ else if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX)
yadif->filter_line = ff_yadif_filter_line_mmx;
av_log(ctx, AV_LOG_INFO, "mode:%d parity:%d\n", yadif->mode, yadif->parity);