blob: 69a5c4bf82564653ee7cd57e1b9f44ae054158c2 [file] [log] [blame]
diff --git a/include/libyuv/compare_row.h b/include/libyuv/compare_row.h
--- a/include/libyuv/compare_row.h
+++ b/include/libyuv/compare_row.h
@@ -18,8 +18,8 @@ namespace libyuv {
extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__CLR_VER) || (defined(__i386__) && !defined(__SSE2__)) || \
+ (defined(__native_client__) && defined(__x86_64__))
#define LIBYUV_DISABLE_X86
#endif
diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h
--- a/include/libyuv/planar_functions.h
+++ b/include/libyuv/planar_functions.h
@@ -443,8 +443,8 @@ int I420Interpolate(const uint8* src0_y, int src0_stride_y,
uint8* dst_v, int dst_stride_v,
int width, int height, int interpolation);
-#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__CLR_VER) || (defined(__i386__) && !defined(__SSE2__)) || \
+ (defined(__native_client__) && defined(__x86_64__))
#define LIBYUV_DISABLE_X86
#endif
// The following are available on all x86 platforms:
diff --git a/include/libyuv/rotate_row.h b/include/libyuv/rotate_row.h
--- a/include/libyuv/rotate_row.h
+++ b/include/libyuv/rotate_row.h
@@ -18,8 +18,8 @@ namespace libyuv {
extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__CLR_VER) || (defined(__i386__) && !defined(__SSE2__)) || \
+ (defined(__native_client__) && defined(__x86_64__))
#define LIBYUV_DISABLE_X86
#endif
diff --git a/include/libyuv/row.h b/include/libyuv/row.h
--- a/include/libyuv/row.h
+++ b/include/libyuv/row.h
@@ -37,8 +37,8 @@ extern "C" {
free(var##_mem); \
var = 0
-#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__CLR_VER) || (defined(__i386__) && !defined(__SSE2__)) || \
+ (defined(__native_client__) && defined(__x86_64__))
#define LIBYUV_DISABLE_X86
#endif
// True if compiling for SSSE3 as a requirement.
@@ -173,8 +173,8 @@ extern "C" {
// The following functions fail on gcc/clang 32 bit with fpic and framepointer.
// caveat: clangcl uses row_win.cc which works.
-#if defined(NDEBUG) || !(defined(_DEBUG) && defined(__i386__)) || \
- !defined(__i386__) || defined(_MSC_VER)
+#if (defined(NDEBUG) || !(defined(_DEBUG) && defined(__i386__)) || \
+ !defined(__i386__) || defined(_MSC_VER)) && !defined(__native_client__)
// TODO(fbarchard): fix build error on x86 debug
// https://code.google.com/p/libyuv/issues/detail?id=524
#define HAS_I411TOARGBROW_SSSE3
@@ -201,7 +201,7 @@ extern "C" {
#define HAS_COPYROW_AVX
#define HAS_H422TOARGBROW_AVX2
#define HAS_I400TOARGBROW_AVX2
-#if !(defined(_DEBUG) && defined(__i386__))
+#if !(defined(_DEBUG) && defined(__i386__)) && !defined(__native_client__)
// TODO(fbarchard): fix build error on android_full_debug=1
// https://code.google.com/p/libyuv/issues/detail?id=517
#define HAS_I422ALPHATOARGBROW_AVX2
@@ -255,7 +255,7 @@ extern "C" {
// The following are also available on x64 Visual C.
#if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \
- (!defined(__clang__) || defined(__SSSE3__))
+ (!defined(__clang__) || defined(__SSSE3__)) && !defined(__native_client__)
#define HAS_I422ALPHATOARGBROW_SSSE3
#define HAS_I422TOARGBROW_SSSE3
#endif
diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h
--- a/include/libyuv/scale_row.h
+++ b/include/libyuv/scale_row.h
@@ -19,8 +19,8 @@ namespace libyuv {
extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__CLR_VER) || (defined(__i386__) && !defined(__SSE2__)) || \
+ (defined(__native_client__) && defined(__x86_64__))
#define LIBYUV_DISABLE_X86
#endif