diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2010-12-04 05:23:44 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2010-12-04 05:23:44 +0000 |
commit | 1ef64490e1c7b682eeca545ce5ded77733cfbf10 (patch) | |
tree | 11f58b11d4108c3e73126bf9bb74eff36ec78e4d /libavfilter/vf_yadif.c | |
parent | 23b8342af413c447ef9c4c0e0f645833b96fd1bf (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.c | 6 |
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); |