summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavutil/internal.h4
-rw-r--r--libavutil/x86/emms.h5
2 files changed, 6 insertions, 3 deletions
diff --git a/libavutil/internal.h b/libavutil/internal.h
index 4bb6b05d52..3cf55f6398 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -43,6 +43,10 @@
# include "x86/emms.h"
#endif
+#ifndef emms_c
+# define emms_c()
+#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))
diff --git a/libavutil/x86/emms.h b/libavutil/x86/emms.h
index 56068e581f..2ed9e5d09d 100644
--- a/libavutil/x86/emms.h
+++ b/libavutil/x86/emms.h
@@ -25,6 +25,7 @@
void avpriv_emms_yasm(void);
#if HAVE_MMX_INLINE
+# define emms_c emms_c
/**
* Empty mmx state.
* this must be called between any dsp function and float/double code.
@@ -37,10 +38,8 @@ static av_always_inline void emms_c(void)
#elif HAVE_MMX && HAVE_MM_EMPTY
# include <mmintrin.h>
# define emms_c _mm_empty
-#elif HAVE_MMX && HAVE_YASM
+#elif HAVE_MMX_EXTERNAL
# define emms_c avpriv_emms_yasm
-#else
-# define emms_c()
#endif /* HAVE_MMX_INLINE */
#endif /* AVUTIL_X86_EMMS_H */