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/scale_argb.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/scale_argb.cc')
-rw-r--r-- | source/scale_argb.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/scale_argb.cc b/source/scale_argb.cc index 66b69d8f..ddad6db7 100644 --- a/source/scale_argb.cc +++ b/source/scale_argb.cc @@ -611,6 +611,14 @@ static void ScaleYUVToARGBBilinearUp(int src_width, } } #endif +#if defined(HAS_I422TOARGBROW_AVX512BW) + if (TestCpuFlag(kCpuHasAVX512BW | kCpuHasAVX512VL) == (kCpuHasAVX512BW | kCpuHasAVX512VL)) { + I422ToARGBRow = I422ToARGBRow_Any_AVX512BW; + if (IS_ALIGNED(src_width, 32)) { + I422ToARGBRow = I422ToARGBRow_AVX512BW; + } + } +#endif #if defined(HAS_I422TOARGBROW_NEON) if (TestCpuFlag(kCpuHasNEON)) { I422ToARGBRow = I422ToARGBRow_Any_NEON; |