1diff --git a/third_party/libopenjpeg/mct.c b/third_party/libopenjpeg/mct.c 2index 88c8f4092..c4c2e732e 100644 3--- a/third_party/libopenjpeg/mct.c 4+++ b/third_party/libopenjpeg/mct.c 5@@ -37,13 +37,15 @@ 6 * POSSIBILITY OF SUCH DAMAGE. 7 */ 8 9-#ifdef __SSE__ 10+#if defined(__SSE__) && !defined(_M_IX86) && !defined(__i386) 11+#define USE_SSE 12 #include <xmmintrin.h> 13 #endif 14-#ifdef __SSE2__ 15+#if defined(__SSE2__) && !defined(_M_IX86) && !defined(__i386) 16+#define USE_SSE2 17 #include <emmintrin.h> 18 #endif 19-#ifdef __SSE4_1__ 20+#if defined(__SSE4_1__) && !defined(_M_IX86) && !defined(__i386) 21 #include <smmintrin.h> 22 #endif 23 24@@ -72,7 +74,7 @@ const OPJ_FLOAT64 * opj_mct_get_mct_norms_real() 25 /* <summary> */ 26 /* Forward reversible MCT. */ 27 /* </summary> */ 28-#ifdef __SSE2__ 29+#ifdef USE_SSE2 30 void opj_mct_encode( 31 OPJ_INT32* OPJ_RESTRICT c0, 32 OPJ_INT32* OPJ_RESTRICT c1, 33@@ -141,7 +143,7 @@ void opj_mct_encode( 34 /* <summary> */ 35 /* Inverse reversible MCT. */ 36 /* </summary> */ 37-#ifdef __SSE2__ 38+#ifdef USE_SSE2 39 void opj_mct_decode( 40 OPJ_INT32* OPJ_RESTRICT c0, 41 OPJ_INT32* OPJ_RESTRICT c1, 42@@ -216,7 +218,7 @@ void opj_mct_encode_real( 43 OPJ_SIZE_T n) 44 { 45 OPJ_SIZE_T i; 46-#ifdef __SSE__ 47+#ifdef USE_SSE 48 const __m128 YR = _mm_set1_ps(0.299f); 49 const __m128 YG = _mm_set1_ps(0.587f); 50 const __m128 YB = _mm_set1_ps(0.114f); 51@@ -286,7 +288,7 @@ void opj_mct_decode_real( 52 OPJ_SIZE_T n) 53 { 54 OPJ_SIZE_T i; 55-#ifdef __SSE__ 56+#ifdef USE_SSE 57 __m128 vrv, vgu, vgv, vbu; 58 vrv = _mm_set1_ps(1.402f); 59 vgu = _mm_set1_ps(0.34413f); 60