summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--postproc/swscale.c1
-rw-r--r--postproc/swscale_template.c28
2 files changed, 28 insertions, 1 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c
index 7afb61b2b4..8073552a3c 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -9,7 +9,6 @@
#include <string.h>
#include "../config.h"
#include "swscale.h"
-#include "../mmx_defs.h"
#include "../cpudetect.h"
#undef MOVNTQ
#undef PAVGB
diff --git a/postproc/swscale_template.c b/postproc/swscale_template.c
index 256d933365..3445f92f30 100644
--- a/postproc/swscale_template.c
+++ b/postproc/swscale_template.c
@@ -7,6 +7,34 @@
#undef MOVNTQ
#undef PAVGB
+#undef PREFETCH
+#undef PREFETCHW
+#undef EMMS
+#undef SFENCE
+
+#ifdef HAVE_3DNOW
+/* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */
+#define EMMS "femms"
+#else
+#define EMMS "emms"
+#endif
+
+#ifdef HAVE_3DNOW
+#define PREFETCH "prefetch"
+#define PREFETCHW "prefetchw"
+#elif defined ( HAVE_MMX2 )
+#define PREFETCH "prefetchnta"
+#define PREFETCHW "prefetcht0"
+#else
+#define PREFETCH "/nop"
+#define PREFETCHW "/nop"
+#endif
+
+#ifdef HAVE_MMX2
+#define SFENCE "sfence"
+#else
+#define SFENCE "/nop"
+#endif
#ifdef HAVE_MMX2
#define PAVGB(a,b) "pavgb " #a ", " #b " \n\t"