| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2014 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 "orr v0.8b, v3.8b, v3.8b \n" \ | 89 "orr v0.8b, v3.8b, v3.8b \n" \ |
| 90 "uzp1 v1.8b, v2.8b, v2.8b \n" \ | 90 "uzp1 v1.8b, v2.8b, v2.8b \n" \ |
| 91 "uzp2 v3.8b, v2.8b, v2.8b \n" \ | 91 "uzp2 v3.8b, v2.8b, v2.8b \n" \ |
| 92 "ins v1.s[1], v3.s[0] \n" | 92 "ins v1.s[1], v3.s[0] \n" |
| 93 | 93 |
| 94 #define YUVTORGB_SETUP \ | 94 #define YUVTORGB_SETUP \ |
| 95 "ld1r {v24.8h}, [%[kUVBiasBGR]], #2 \n" \ | 95 "ld1r {v24.8h}, [%[kUVBiasBGR]], #2 \n" \ |
| 96 "ld1r {v25.8h}, [%[kUVBiasBGR]], #2 \n" \ | 96 "ld1r {v25.8h}, [%[kUVBiasBGR]], #2 \n" \ |
| 97 "ld1r {v26.8h}, [%[kUVBiasBGR]] \n" \ | 97 "ld1r {v26.8h}, [%[kUVBiasBGR]] \n" \ |
| 98 "ld1r {v31.4s}, [%[kYToRgb]] \n" \ | 98 "ld1r {v31.4s}, [%[kYToRgb]] \n" \ |
| 99 "ld1 {v27.8h, v28.8h}, [%[kUVToRB]] \n" \ | 99 "ld2 {v27.8h, v28.8h}, [%[kUVToRB]] \n" \ |
| 100 "ld1 {v29.8h, v30.8h}, [%[kUVToG]] \n" | 100 "ld2 {v29.8h, v30.8h}, [%[kUVToG]] \n" |
| 101 | 101 |
| 102 #define YUVTORGB(vR, vG, vB) \ | 102 #define YUVTORGB(vR, vG, vB) \ |
| 103 "uxtl v0.8h, v0.8b \n" /* Extract Y */ \ | 103 "uxtl v0.8h, v0.8b \n" /* Extract Y */ \ |
| 104 "shll v2.8h, v1.8b, #8 \n" /* Replicate UV */ \ | 104 "shll v2.8h, v1.8b, #8 \n" /* Replicate UV */ \ |
| 105 "ushll2 v3.4s, v0.8h, #0 \n" /* Y */ \ | 105 "ushll2 v3.4s, v0.8h, #0 \n" /* Y */ \ |
| 106 "ushll v0.4s, v0.4h, #0 \n" \ | 106 "ushll v0.4s, v0.4h, #0 \n" \ |
| 107 "mul v3.4s, v3.4s, v31.4s \n" \ | 107 "mul v3.4s, v3.4s, v31.4s \n" \ |
| 108 "mul v0.4s, v0.4s, v31.4s \n" \ | 108 "mul v0.4s, v0.4s, v31.4s \n" \ |
| 109 "sqshrun v0.4h, v0.4s, #16 \n" \ | 109 "sqshrun v0.4h, v0.4s, #16 \n" \ |
| 110 "sqshrun2 v0.8h, v3.4s, #16 \n" /* Y */ \ | 110 "sqshrun2 v0.8h, v3.4s, #16 \n" /* Y */ \ |
| (...skipping 2961 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3072 : "cc", "memory", "v0", "v1", "v2", "v3" // Clobber List | 3072 : "cc", "memory", "v0", "v1", "v2", "v3" // Clobber List |
| 3073 ); | 3073 ); |
| 3074 } | 3074 } |
| 3075 #endif // HAS_SOBELYROW_NEON | 3075 #endif // HAS_SOBELYROW_NEON |
| 3076 #endif // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) | 3076 #endif // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) |
| 3077 | 3077 |
| 3078 #ifdef __cplusplus | 3078 #ifdef __cplusplus |
| 3079 } // extern "C" | 3079 } // extern "C" |
| 3080 } // namespace libyuv | 3080 } // namespace libyuv |
| 3081 #endif | 3081 #endif |
| OLD | NEW |