[FFmpeg-devel] [PATCH] w32pthreads: fix mingw build on x86 with -msse2 or higher

Hendrik Leppkes h.leppkes at gmail.com
Wed Oct 14 23:20:09 CEST 2015

When SSE2 or higher compiler optimizations are used, mingw uses
the _mm_mfence intrinsic for MemoryBarrier, however it doesn't include
the appropriate headers automatically.
 compat/w32pthreads.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index 2aff72a..6b602c5 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -39,6 +39,11 @@
 #include <windows.h>
 #include <process.h>
+/* MinGW requires the intrinsics header for the pthread_once fallback code */
+#if _WIN32_WINNT < 0x0600 && defined(__MINGW32__)
+#include <intrin.h>
 #include "libavutil/attributes.h"
 #include "libavutil/common.h"
 #include "libavutil/internal.h"

More information about the ffmpeg-devel mailing list