diff options
author | Frank Barchard <fbarchard@google.com> | 2021-11-23 15:45:19 -0800 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-11-24 07:38:49 +0000 |
commit | 000806f373046ae9501791b92c79a8acf6844ff8 (patch) | |
tree | 3760d371fa29efa11e8f056c414c43ddbb6adc67 /source/convert_argb.cc | |
parent | a04e4f87fbf40405707b1d0ae9fcba8fc93f7856 (diff) | |
download | libyuv-000806f373046ae9501791b92c79a8acf6844ff8.tar.gz |
NV21ToYUV24 replace ST3 with ST1. ARGBToAR64 replace ST2 with ST1
On Samsung S8 Exynos M2
Was ST3 NV21ToYUV24_Opt (769 ms)
Now ST1 NV21ToYUV24_Opt (473 ms)
Was ST2 ARGBToAR64_Opt (1759 ms)
Now ST1 ARGBToAR64_Opt (987 ms)
Skylake Xeon, AVX2 version:
Was NV21ToYUV24_Opt (885 ms)
Now NV21ToYUV24_Opt (194 ms)
Bug: b/204562143, b/124413599
Change-Id: Icc9cb64d822cd11937789a4e04fbb773b3e33aa3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3290664
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Diffstat (limited to 'source/convert_argb.cc')
-rw-r--r-- | source/convert_argb.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/convert_argb.cc b/source/convert_argb.cc index d8f7b277..77d4f3be 100644 --- a/source/convert_argb.cc +++ b/source/convert_argb.cc @@ -3925,6 +3925,14 @@ int NV21ToYUV24(const uint8_t* src_y, } } #endif +#if defined(HAS_NV21TOYUV24ROW_SSSE3) + if (TestCpuFlag(kCpuHasSSSE3)) { + NV21ToYUV24Row = NV21ToYUV24Row_Any_SSSE3; + if (IS_ALIGNED(width, 16)) { + NV21ToYUV24Row = NV21ToYUV24Row_SSSE3; + } + } +#endif #if defined(HAS_NV21TOYUV24ROW_AVX2) if (TestCpuFlag(kCpuHasAVX2)) { NV21ToYUV24Row = NV21ToYUV24Row_Any_AVX2; |