1 --- third_party/libyuv/include/libyuv/row.h.orig 2016-06-16 21:03:47.000000000 +0200
2 +++ third_party/libyuv/include/libyuv/row.h 2016-06-26 15:14:58.000000000 +0200
4 #define HAS_ARGBSHADEROW_SSE2
5 #define HAS_ARGBSUBTRACTROW_SSE2
6 #define HAS_ARGBUNATTENUATEROW_SSE2
7 +#if !(defined(__i386__) && defined(__GNUC__))
8 #define HAS_BLENDPLANEROW_SSSE3
10 #define HAS_COMPUTECUMULATIVESUMROW_SSE2
11 #define HAS_CUMULATIVESUMTOAVERAGEROW_SSE2
12 +#if !(defined(__i386__) && defined(__GNUC__))
13 #define HAS_INTERPOLATEROW_SSSE3
15 #define HAS_RGBCOLORTABLEROW_X86
16 #define HAS_SOBELROW_SSE2
17 #define HAS_SOBELTOPLANEROW_SSE2
20 // The following functions fail on gcc/clang 32 bit with fpic and framepointer.
21 // caveat: clangcl uses row_win.cc which works.
22 -#if defined(NDEBUG) || !(defined(_DEBUG) && defined(__i386__)) || \
23 - !defined(__i386__) || defined(_MSC_VER)
24 +#if !(defined(__i386__) && defined(__GNUC__))
25 // TODO(fbarchard): fix build error on x86 debug
26 // https://code.google.com/p/libyuv/issues/detail?id=524
27 #define HAS_I411TOARGBROW_SSSE3
29 #define HAS_COPYROW_AVX
30 #define HAS_H422TOARGBROW_AVX2
31 #define HAS_I400TOARGBROW_AVX2
32 -#if !(defined(_DEBUG) && defined(__i386__))
33 +#if !(defined(__i386__) && defined(__GNUC__))
34 // TODO(fbarchard): fix build error on android_full_debug=1
35 // https://code.google.com/p/libyuv/issues/detail?id=517
36 #define HAS_I422ALPHATOARGBROW_AVX2
38 #define HAS_I422TORGB565ROW_AVX2
39 #define HAS_I422TORGBAROW_AVX2
40 #define HAS_I444TOARGBROW_AVX2
41 +#if !(defined(__i386__) && defined(__GNUC__))
42 #define HAS_INTERPOLATEROW_AVX2
44 #define HAS_J422TOARGBROW_AVX2
45 #define HAS_MERGEUVROW_AVX2
46 #define HAS_MIRRORROW_AVX2
48 #define HAS_ARGBMULTIPLYROW_AVX2
49 #define HAS_ARGBSUBTRACTROW_AVX2
50 #define HAS_ARGBUNATTENUATEROW_AVX2
51 +#if !(defined(__i386__) && defined(__GNUC__))
52 #define HAS_BLENDPLANEROW_AVX2
56 // The following are available for AVX2 Visual C and clangcl 32 bit:
57 // TODO(fbarchard): Port to gcc.