aboutsummaryrefslogtreecommitdiff
path: root/source/convert_argb.cc
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2021-11-23 15:45:19 -0800
committerlibyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com>2021-11-24 07:38:49 +0000
commit000806f373046ae9501791b92c79a8acf6844ff8 (patch)
tree3760d371fa29efa11e8f056c414c43ddbb6adc67 /source/convert_argb.cc
parenta04e4f87fbf40405707b1d0ae9fcba8fc93f7856 (diff)
downloadlibyuv-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.cc8
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;