[FFmpeg-cvslog] mlpdsp: x86: Respect cpuflags

Luca Barbato git at videolan.org
Fri Jul 12 13:17:04 CEST 2013


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Wed Jul 10 03:18:14 2013 +0200| [2b379a925162b6783bd9a81dc03e647e8b65494c] | committer: Luca Barbato

mlpdsp: x86: Respect cpuflags

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2b379a925162b6783bd9a81dc03e647e8b65494c
---

 libavcodec/x86/mlpdsp.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavcodec/x86/mlpdsp.c b/libavcodec/x86/mlpdsp.c
index 7bd2c12..72fc637 100644
--- a/libavcodec/x86/mlpdsp.c
+++ b/libavcodec/x86/mlpdsp.c
@@ -21,7 +21,9 @@
 
 #include "libavutil/attributes.h"
 #include "libavutil/internal.h"
+#include "libavutil/cpu.h"
 #include "libavutil/x86/asm.h"
+#include "libavutil/x86/cpu.h"
 #include "libavcodec/mlpdsp.h"
 #include "libavcodec/mlp.h"
 
@@ -178,6 +180,8 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff,
 av_cold void ff_mlpdsp_init_x86(MLPDSPContext *c)
 {
 #if HAVE_7REGS && HAVE_INLINE_ASM
-    c->mlp_filter_channel = mlp_filter_channel_x86;
+    int cpu_flags = av_get_cpu_flags();
+    if (INLINE_MMX(cpu_flags))
+        c->mlp_filter_channel = mlp_filter_channel_x86;
 #endif
 }



More information about the ffmpeg-cvslog mailing list