Chromium Code Reviews| 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 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 252 #endif | 252 #endif |
| 253 #if defined(__mips__) && defined(__linux__) | 253 #if defined(__mips__) && defined(__linux__) |
| 254 #if defined(__mips_dspr2) | 254 #if defined(__mips_dspr2) |
| 255 cpu_info |= kCpuHasDSPR2; | 255 cpu_info |= kCpuHasDSPR2; |
| 256 #endif | 256 #endif |
| 257 cpu_info |= kCpuHasMIPS; | 257 cpu_info |= kCpuHasMIPS; |
| 258 if (getenv("LIBYUV_DISABLE_DSPR2")) { | 258 if (getenv("LIBYUV_DISABLE_DSPR2")) { |
| 259 cpu_info &= ~kCpuHasDSPR2; | 259 cpu_info &= ~kCpuHasDSPR2; |
| 260 } | 260 } |
| 261 #endif | 261 #endif |
| 262 #if defined(__mips__) && defined(__linux__) | |
|
fbarchard1
2016/09/14 01:48:04
this code block can be moved inside the previous
#
manojkumar.bhosale
2016/09/14 12:45:30
Done.
| |
| 263 #if defined(__mips_msa) | |
| 264 cpu_info |= kCpuHasMSA; | |
|
fbarchard1
2016/09/14 01:48:04
this is a compile time test. If built with MSA, b
manojkumar.bhosale
2016/09/14 12:45:30
Done.
| |
| 265 #endif | |
| 266 cpu_info |= kCpuHasMIPS; | |
| 267 if (getenv("LIBYUV_DISABLE_MSA")) { | |
| 268 cpu_info &= ~kCpuHasMSA; | |
| 269 } | |
| 270 #endif | |
| 262 #if defined(__arm__) || defined(__aarch64__) | 271 #if defined(__arm__) || defined(__aarch64__) |
| 263 // gcc -mfpu=neon defines __ARM_NEON__ | 272 // gcc -mfpu=neon defines __ARM_NEON__ |
| 264 // __ARM_NEON__ generates code that requires Neon. NaCL also requires Neon. | 273 // __ARM_NEON__ generates code that requires Neon. NaCL also requires Neon. |
| 265 // For Linux, /proc/cpuinfo can be tested but without that assume Neon. | 274 // For Linux, /proc/cpuinfo can be tested but without that assume Neon. |
| 266 #if defined(__ARM_NEON__) || defined(__native_client__) || !defined(__linux__) | 275 #if defined(__ARM_NEON__) || defined(__native_client__) || !defined(__linux__) |
| 267 cpu_info = kCpuHasNEON; | 276 cpu_info = kCpuHasNEON; |
| 268 // For aarch64(arm64), /proc/cpuinfo's feature is not complete, e.g. no neon | 277 // For aarch64(arm64), /proc/cpuinfo's feature is not complete, e.g. no neon |
| 269 // flag in it. | 278 // flag in it. |
| 270 // So for aarch64, neon enabling is hard coded here. | 279 // So for aarch64, neon enabling is hard coded here. |
| 271 #endif | 280 #endif |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 291 // Note that use of this function is not thread safe. | 300 // Note that use of this function is not thread safe. |
| 292 LIBYUV_API | 301 LIBYUV_API |
| 293 void MaskCpuFlags(int enable_flags) { | 302 void MaskCpuFlags(int enable_flags) { |
| 294 cpu_info_ = InitCpuFlags() & enable_flags; | 303 cpu_info_ = InitCpuFlags() & enable_flags; |
| 295 } | 304 } |
| 296 | 305 |
| 297 #ifdef __cplusplus | 306 #ifdef __cplusplus |
| 298 } // extern "C" | 307 } // extern "C" |
| 299 } // namespace libyuv | 308 } // namespace libyuv |
| 300 #endif | 309 #endif |
| OLD | NEW |