summaryrefslogtreecommitdiff
path: root/libavutil/internal.h
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-01-22 02:22:29 +0100
committerDiego Biurrun <diego@biurrun.de>2013-02-14 17:37:34 +0100
commitab441e20ffdfa2547f1d6c1dc19994ec05eb7d2f (patch)
treed27bc7db16b8c9ab4cdea2a006ad55093cf18480 /libavutil/internal.h
parent130cefc9dcedea5babc349251fbeec6f037144ac (diff)
avutil: Move emms code to x86-specific header
Diffstat (limited to 'libavutil/internal.h')
-rw-r--r--libavutil/internal.h24
1 files changed, 4 insertions, 20 deletions
diff --git a/libavutil/internal.h b/libavutil/internal.h
index cf18bdb700..4bb6b05d52 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -39,6 +39,10 @@
#include "timer.h"
#include "dict.h"
+#if ARCH_X86
+# include "x86/emms.h"
+#endif
+
#ifndef attribute_align_arg
#if ARCH_X86_32 && AV_GCC_VERSION_AT_LEAST(4,2)
# define attribute_align_arg __attribute__((force_align_arg_pointer))
@@ -154,24 +158,4 @@
# define ONLY_IF_THREADS_ENABLED(x) NULL
#endif
-#if HAVE_MMX_INLINE
-/**
- * Empty mmx state.
- * this must be called between any dsp function and float/double code.
- * for example sin(); dsp->idct_put(); emms_c(); cos()
- */
-static av_always_inline void emms_c(void)
-{
- __asm__ volatile ("emms" ::: "memory");
-}
-#elif HAVE_MMX && HAVE_MM_EMPTY
-# include <mmintrin.h>
-# define emms_c _mm_empty
-#elif HAVE_MMX && HAVE_YASM
-# include "libavutil/x86/emms.h"
-# define emms_c avpriv_emms_yasm
-#else
-# define emms_c()
-#endif /* HAVE_MMX_INLINE */
-
#endif /* AVUTIL_INTERNAL_H */