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.
@@ -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>
+#endif
+
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/internal.h"