OLD | NEW |
(Empty) | |
| 1 diff --git a/third_party/libopenjpeg20/mct.c b/third_party/libopenjpeg20/mct.c |
| 2 index 8b0276f..7731c15 100644 |
| 3 --- a/third_party/libopenjpeg20/mct.c |
| 4 +++ b/third_party/libopenjpeg20/mct.c |
| 5 @@ -37,13 +37,16 @@ |
| 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 +#define USE_SSE4 |
| 22 #include <smmintrin.h> |
| 23 #endif |
| 24 |
| 25 @@ -72,7 +75,7 @@ const OPJ_FLOAT64 * opj_mct_get_mct_norms_real () |
| 26 /* <summary> */ |
| 27 /* Forward reversible MCT. */ |
| 28 /* </summary> */ |
| 29 -#ifdef __SSE2__ |
| 30 +#ifdef USE_SSE2 |
| 31 void opj_mct_encode( |
| 32 OPJ_INT32* restrict c0, |
| 33 OPJ_INT32* restrict c1, |
| 34 @@ -137,7 +140,7 @@ void opj_mct_encode( |
| 35 /* <summary> */ |
| 36 /* Inverse reversible MCT. */ |
| 37 /* </summary> */ |
| 38 -#ifdef __SSE2__ |
| 39 +#ifdef USE_SSE2 |
| 40 void opj_mct_decode( |
| 41 OPJ_INT32* restrict c0, |
| 42 OPJ_INT32* restrict c1, |
| 43 @@ -204,7 +207,7 @@ OPJ_FLOAT64 opj_mct_getnorm(OPJ_UINT32 compno) { |
| 44 /* <summary> */ |
| 45 /* Forward irreversible MCT. */ |
| 46 /* </summary> */ |
| 47 -#ifdef __SSE4_1__ |
| 48 +#ifdef USE_SSE4 |
| 49 void opj_mct_encode_real( |
| 50
OPJ_INT32* restrict c0, |
| 51
OPJ_INT32* restrict c1, |
| 52 @@ -377,7 +380,7 @@ void opj_mct_decode_real( |
| 53 OPJ_UINT32 n) |
| 54 { |
| 55 OPJ_UINT32 i; |
| 56 -#ifdef __SSE__ |
| 57 +#ifdef USE_SSE |
| 58 __m128 vrv, vgu, vgv, vbu; |
| 59 vrv = _mm_set1_ps(1.402f); |
| 60 vgu = _mm_set1_ps(0.34413f); |
OLD | NEW |