| 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 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 READYUV400 | 421 READYUV400 |
| 422 YUVTORGB | 422 YUVTORGB |
| 423 "subs %2, %2, #8 \n" | 423 "subs %2, %2, #8 \n" |
| 424 "vmov.u8 d23, #255 \n" | 424 "vmov.u8 d23, #255 \n" |
| 425 MEMACCESS(1) | 425 MEMACCESS(1) |
| 426 "vst4.8 {d20, d21, d22, d23}, [%1]! \n" | 426 "vst4.8 {d20, d21, d22, d23}, [%1]! \n" |
| 427 "bgt 1b \n" | 427 "bgt 1b \n" |
| 428 : "+r"(src_y), // %0 | 428 : "+r"(src_y), // %0 |
| 429 "+r"(dst_argb), // %1 | 429 "+r"(dst_argb), // %1 |
| 430 "+r"(width) // %2 | 430 "+r"(width) // %2 |
| 431 : [kUVToRB]"r"(&kYuvIConstants.kUVToRB), | 431 : [kUVToRB]"r"(&kYuvI601Constants.kUVToRB), |
| 432 [kUVToG]"r"(&kYuvIConstants.kUVToG), | 432 [kUVToG]"r"(&kYuvI601Constants.kUVToG), |
| 433 [kUVBiasBGR]"r"(&kYuvIConstants.kUVBiasBGR), | 433 [kUVBiasBGR]"r"(&kYuvI601Constants.kUVBiasBGR), |
| 434 [kYToRgb]"r"(&kYuvIConstants.kYToRgb) | 434 [kYToRgb]"r"(&kYuvI601Constants.kYToRgb) |
| 435 : "cc", "memory", "q0", "q1", "q2", "q3", "q4", | 435 : "cc", "memory", "q0", "q1", "q2", "q3", "q4", |
| 436 "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" | 436 "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" |
| 437 ); | 437 ); |
| 438 } | 438 } |
| 439 | 439 |
| 440 void J400ToARGBRow_NEON(const uint8* src_y, | 440 void J400ToARGBRow_NEON(const uint8* src_y, |
| 441 uint8* dst_argb, | 441 uint8* dst_argb, |
| 442 int width) { | 442 int width) { |
| 443 asm volatile ( | 443 asm volatile ( |
| 444 "vmov.u8 d23, #255 \n" | 444 "vmov.u8 d23, #255 \n" |
| (...skipping 2432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2877 "r"(6) // %5 | 2877 "r"(6) // %5 |
| 2878 : "cc", "memory", "q0", "q1" // Clobber List | 2878 : "cc", "memory", "q0", "q1" // Clobber List |
| 2879 ); | 2879 ); |
| 2880 } | 2880 } |
| 2881 #endif // defined(__ARM_NEON__) && !defined(__aarch64__) | 2881 #endif // defined(__ARM_NEON__) && !defined(__aarch64__) |
| 2882 | 2882 |
| 2883 #ifdef __cplusplus | 2883 #ifdef __cplusplus |
| 2884 } // extern "C" | 2884 } // extern "C" |
| 2885 } // namespace libyuv | 2885 } // namespace libyuv |
| 2886 #endif | 2886 #endif |
| OLD | NEW |