diff options
author | Frank Barchard <fbarchard@google.com> | 2022-01-13 23:26:03 -0800 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-01-14 09:17:33 +0000 |
commit | 90ffd5cba97a10fd606ded4580b7fbcba070f868 (patch) | |
tree | 74d7c5894345133820cd4599b5752ad4cac998cc /source/row_neon64.cc | |
parent | cdd62da6703947d29f471d6d0a92d1b4f325df79 (diff) | |
download | libyuv-90ffd5cba97a10fd606ded4580b7fbcba070f868.tar.gz |
I420ToARGB for AVX512
On Skylake Xeon
AVX512 I420ToARGB_Opt (2050 ms)
AVX2 I420ToARGB_Opt (2533 ms)
SSSE3 I420ToARGB_Opt (3688 ms)
Bug: libyuv:911
Change-Id: I2214cc15dec24b06541895ca59d88990edbb2216
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3382100
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'source/row_neon64.cc')
-rw-r--r-- | source/row_neon64.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/row_neon64.cc b/source/row_neon64.cc index 69e9fac8..5471b258 100644 --- a/source/row_neon64.cc +++ b/source/row_neon64.cc @@ -3907,14 +3907,14 @@ void NV21ToYUV24Row_NEON(const uint8_t* src_y, asm volatile( "ld1 {v5.16b,v6.16b,v7.16b}, [%4] \n" // 3 shuffler constants "1: \n" - "ld1 {v0.16b}, [%0], #16 \n" // load 16 Y values - "ld1 {v1.16b}, [%1], #16 \n" // load 8 VU values + "ld1 {v0.16b}, [%0], #16 \n" // load 16 Y values + "ld1 {v1.16b}, [%1], #16 \n" // load 8 VU values "tbl v2.16b, {v0.16b,v1.16b}, v5.16b \n" // weave into YUV24 "prfm pldl1keep, [%0, 448] \n" "tbl v3.16b, {v0.16b,v1.16b}, v6.16b \n" "prfm pldl1keep, [%1, 448] \n" "tbl v4.16b, {v0.16b,v1.16b}, v7.16b \n" - "subs %w3, %w3, #16 \n" // 16 pixels per loop + "subs %w3, %w3, #16 \n" // 16 pixels per loop "st1 {v2.16b,v3.16b,v4.16b}, [%2], #48 \n" // store 16 YUV pixels "b.gt 1b \n" : "+r"(src_y), // %0 |