added emms_c() macro which should can used in c code in both mmx/non mmx cases
[libav.git] / libavcodec / dsputil.h
index fa8eb23..76f4475 100644 (file)
@@ -75,7 +75,13 @@ int mm_support(void);
 
 static inline void emms(void)
 {
-       asm volatile ("emms;");
+    __asm __volatile ("emms;":::"memory");
+}
+
+#define emms_c() \
+{\
+    if (mm_flags & MM_MMX)\
+        emms();\
 }
 
 #define __align8 __attribute__ ((aligned (8)))
@@ -84,6 +90,8 @@ void dsputil_init_mmx(void);
 
 #else
 
+#define emms_c()
+
 #define __align8
 
 #endif