summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/dsputil.h20
-rw-r--r--libavutil/internal.h14
2 files changed, 15 insertions, 19 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 78d21527a5..74230cadbb 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -630,13 +630,6 @@ static inline int get_penalty_factor(int lambda, int lambda2, int type){
}
}
-/**
- * Empty mmx state.
- * this must be called between any dsp function and float/double code.
- * for example sin(); dsp->idct_put(); emms_c(); cos()
- */
-#define emms_c()
-
void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx);
void dsputil_init_arm(DSPContext* c, AVCodecContext *avctx);
void dsputil_init_bfin(DSPContext* c, AVCodecContext *avctx);
@@ -654,18 +647,7 @@ void ff_intrax8dsp_init(DSPContext* c, AVCodecContext *avctx);
void ff_mlp_init(DSPContext* c, AVCodecContext *avctx);
void ff_mlp_init_x86(DSPContext* c, AVCodecContext *avctx);
-#if HAVE_MMX
-
-#undef emms_c
-
-static inline void emms(void)
-{
- __asm__ volatile ("emms;":::"memory");
-}
-
-#define emms_c() emms()
-
-#elif ARCH_ARM
+#if ARCH_ARM
#if HAVE_NEON
# define STRIDE_ALIGN 16
diff --git a/libavutil/internal.h b/libavutil/internal.h
index e890ae7083..51e449d3fe 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -223,4 +223,18 @@
# define ONLY_IF_THREADS_ENABLED(x) NULL
#endif
+#if HAVE_MMX
+/**
+ * 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");
+}
+#else /* HAVE_MMX */
+#define emms_c()
+#endif /* HAVE_MMX */
+
#endif /* AVUTIL_INTERNAL_H */