yadif: remove libavutil/internal.h include
[ffmpeg.git] / libavfilter / x86 / yadif.c
index d982388..4fb101c 100644 (file)
 
 #include "libavutil/attributes.h"
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/mem.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/x86/dsputil_mmx.h"
 #include "libavfilter/yadif.h"
 
+#if HAVE_INLINE_ASM
+
 DECLARE_ASM_CONST(16, const xmm_reg, pb_1) = {0x0101010101010101ULL, 0x0101010101010101ULL};
 DECLARE_ASM_CONST(16, const xmm_reg, pw_1) = {0x0001000100010001ULL, 0x0001000100010001ULL};
 
@@ -43,20 +46,30 @@ DECLARE_ASM_CONST(16, const xmm_reg, pw_1) = {0x0001000100010001ULL, 0x000100010
 #undef COMPILE_TEMPLATE_SSE
 #endif
 
-#if HAVE_MMX
+#if HAVE_MMXEXT
 #undef RENAME
-#define RENAME(a) a ## _mmx
+#define RENAME(a) a ## _mmx2
 #include "yadif_template.c"
 #endif
 
+#endif /* HAVE_INLINE_ASM */
+
 av_cold void ff_yadif_init_x86(YADIFContext *yadif)
 {
     int cpu_flags = av_get_cpu_flags();
 
-    if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX)
-        yadif->filter_line = yadif_filter_line_mmx;
-    if (HAVE_SSE && cpu_flags & AV_CPU_FLAG_SSE2)
+#if HAVE_INLINE_ASM
+#if HAVE_MMXEXT
+    if (cpu_flags & AV_CPU_FLAG_MMXEXT)
+        yadif->filter_line = yadif_filter_line_mmx2;
+#endif
+#if HAVE_SSE
+    if (cpu_flags & AV_CPU_FLAG_SSE2)
         yadif->filter_line = yadif_filter_line_sse2;
-    if (HAVE_SSSE3 && cpu_flags & AV_CPU_FLAG_SSSE3)
+#endif
+#if HAVE_SSSE3
+    if (cpu_flags & AV_CPU_FLAG_SSSE3)
         yadif->filter_line = yadif_filter_line_ssse3;
+#endif
+#endif /* HAVE_INLINE_ASM */
 }