OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 #define HAS_INTERPOLATEROW_SSSE3 | 167 #define HAS_INTERPOLATEROW_SSSE3 |
168 #define HAS_RGBCOLORTABLEROW_X86 | 168 #define HAS_RGBCOLORTABLEROW_X86 |
169 #define HAS_SOBELROW_SSE2 | 169 #define HAS_SOBELROW_SSE2 |
170 #define HAS_SOBELTOPLANEROW_SSE2 | 170 #define HAS_SOBELTOPLANEROW_SSE2 |
171 #define HAS_SOBELXROW_SSE2 | 171 #define HAS_SOBELXROW_SSE2 |
172 #define HAS_SOBELXYROW_SSE2 | 172 #define HAS_SOBELXYROW_SSE2 |
173 #define HAS_SOBELYROW_SSE2 | 173 #define HAS_SOBELYROW_SSE2 |
174 | 174 |
175 // The following functions fail on gcc/clang 32 bit with fpic and framepointer. | 175 // The following functions fail on gcc/clang 32 bit with fpic and framepointer. |
176 // caveat: clangcl uses row_win.cc which works. | 176 // caveat: clangcl uses row_win.cc which works. |
177 #if defined(__x86_64__) || defined(__OPTIMIZE__) || defined(_MSC_VER) | 177 #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \ |
| 178 defined(_MSC_VER) |
178 // TODO(fbarchard): fix build error on android_full_debug=1 | 179 // TODO(fbarchard): fix build error on android_full_debug=1 |
179 // https://code.google.com/p/libyuv/issues/detail?id=517 | 180 // https://code.google.com/p/libyuv/issues/detail?id=517 |
180 #define HAS_I422ALPHATOARGBROW_SSSE3 | 181 #define HAS_I422ALPHATOARGBROW_SSSE3 |
181 #endif | 182 #endif |
182 #endif | 183 #endif |
183 | 184 |
184 // The following are available on all x86 platforms, but | 185 // The following are available on all x86 platforms, but |
185 // require VS2012, clang 3.4 or gcc 4.7. | 186 // require VS2012, clang 3.4 or gcc 4.7. |
186 // The code supports NaCL but requires a new compiler and validator. | 187 // The code supports NaCL but requires a new compiler and validator. |
187 #if !defined(LIBYUV_DISABLE_X86) && \ | 188 #if !defined(LIBYUV_DISABLE_X86) && \ |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 #define HAS_YUY2TOYROW_AVX2 | 229 #define HAS_YUY2TOYROW_AVX2 |
229 | 230 |
230 // Effects: | 231 // Effects: |
231 #define HAS_ARGBADDROW_AVX2 | 232 #define HAS_ARGBADDROW_AVX2 |
232 #define HAS_ARGBATTENUATEROW_AVX2 | 233 #define HAS_ARGBATTENUATEROW_AVX2 |
233 #define HAS_ARGBMULTIPLYROW_AVX2 | 234 #define HAS_ARGBMULTIPLYROW_AVX2 |
234 #define HAS_ARGBSUBTRACTROW_AVX2 | 235 #define HAS_ARGBSUBTRACTROW_AVX2 |
235 #define HAS_ARGBUNATTENUATEROW_AVX2 | 236 #define HAS_ARGBUNATTENUATEROW_AVX2 |
236 #define HAS_BLENDPLANEROW_AVX2 | 237 #define HAS_BLENDPLANEROW_AVX2 |
237 | 238 |
238 #if defined(__x86_64__) || defined(__OPTIMIZE__) || defined(_MSC_VER) | 239 #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \ |
| 240 defined(_MSC_VER) |
239 // TODO(fbarchard): fix build error on android_full_debug=1 | 241 // TODO(fbarchard): fix build error on android_full_debug=1 |
240 // https://code.google.com/p/libyuv/issues/detail?id=517 | 242 // https://code.google.com/p/libyuv/issues/detail?id=517 |
241 #define HAS_I422ALPHATOARGBROW_AVX2 | 243 #define HAS_I422ALPHATOARGBROW_AVX2 |
242 #endif | 244 #endif |
243 #endif | 245 #endif |
244 | 246 |
245 // The following are available for AVX2 Visual C and clangcl 32 bit: | 247 // The following are available for AVX2 Visual C and clangcl 32 bit: |
246 // TODO(fbarchard): Port to gcc. | 248 // TODO(fbarchard): Port to gcc. |
247 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ | 249 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ |
248 (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) | 250 (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) |
(...skipping 2353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2602 int width, | 2604 int width, |
2603 const uint8* luma, | 2605 const uint8* luma, |
2604 uint32 lumacoeff); | 2606 uint32 lumacoeff); |
2605 | 2607 |
2606 #ifdef __cplusplus | 2608 #ifdef __cplusplus |
2607 } // extern "C" | 2609 } // extern "C" |
2608 } // namespace libyuv | 2610 } // namespace libyuv |
2609 #endif | 2611 #endif |
2610 | 2612 |
2611 #endif // INCLUDE_LIBYUV_ROW_H_ | 2613 #endif // INCLUDE_LIBYUV_ROW_H_ |
OLD | NEW |