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 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 "mov v7.16b, v2.16b \n" | 619 "mov v7.16b, v2.16b \n" |
620 "uzp1 v6.8h, v6.8h, v7.8h \n" | 620 "uzp1 v6.8h, v6.8h, v7.8h \n" |
621 "ushll v4.8h, v4.8b, #0 \n" | 621 "ushll v4.8h, v4.8b, #0 \n" |
622 "ushll v5.8h, v5.8b, #0 \n" | 622 "ushll v5.8h, v5.8b, #0 \n" |
623 "ssubl v16.4s, v5.4h, v4.4h \n" | 623 "ssubl v16.4s, v5.4h, v4.4h \n" |
624 "ssubl2 v17.4s, v5.8h, v4.8h \n" | 624 "ssubl2 v17.4s, v5.8h, v4.8h \n" |
625 "ushll v7.4s, v6.4h, #0 \n" | 625 "ushll v7.4s, v6.4h, #0 \n" |
626 "ushll2 v6.4s, v6.8h, #0 \n" | 626 "ushll2 v6.4s, v6.8h, #0 \n" |
627 "mul v16.4s, v16.4s, v7.4s \n" | 627 "mul v16.4s, v16.4s, v7.4s \n" |
628 "mul v17.4s, v17.4s, v6.4s \n" | 628 "mul v17.4s, v17.4s, v6.4s \n" |
629 "shrn v6.4h, v16.4s, #16 \n" | 629 "rshrn v6.4h, v16.4s, #16 \n" |
630 "shrn2 v6.8h, v17.4s, #16 \n" | 630 "rshrn2 v6.8h, v17.4s, #16 \n" |
631 "add v4.8h, v4.8h, v6.8h \n" | 631 "add v4.8h, v4.8h, v6.8h \n" |
632 "xtn v4.8b, v4.8h \n" | 632 "xtn v4.8b, v4.8h \n" |
633 | 633 |
634 MEMACCESS(0) | 634 MEMACCESS(0) |
635 "st1 {v4.8b}, [%0], #8 \n" // store pixels | 635 "st1 {v4.8b}, [%0], #8 \n" // store pixels |
636 "add v1.4s, v1.4s, v0.4s \n" | 636 "add v1.4s, v1.4s, v0.4s \n" |
637 "add v2.4s, v2.4s, v0.4s \n" | 637 "add v2.4s, v2.4s, v0.4s \n" |
638 "subs %w2, %w2, #8 \n" // 8 processed per loop | 638 "subs %w2, %w2, #8 \n" // 8 processed per loop |
639 "b.gt 1b \n" | 639 "b.gt 1b \n" |
640 : "+r"(dst_ptr), // %0 | 640 : "+r"(dst_ptr), // %0 |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1033 } | 1033 } |
1034 | 1034 |
1035 #undef LOAD2_DATA32_LANE | 1035 #undef LOAD2_DATA32_LANE |
1036 | 1036 |
1037 #endif // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) | 1037 #endif // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) |
1038 | 1038 |
1039 #ifdef __cplusplus | 1039 #ifdef __cplusplus |
1040 } // extern "C" | 1040 } // extern "C" |
1041 } // namespace libyuv | 1041 } // namespace libyuv |
1042 #endif | 1042 #endif |
OLD | NEW |