aboutsummaryrefslogtreecommitdiff
path: root/source/scale_argb.cc
diff options
context:
space:
mode:
authorHao Chen <chenhao@loongson.cn>2020-11-06 14:35:20 +0800
committerlibyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-01-20 19:25:38 +0000
commit51de1e16f20bb93468d7c538629b40ece8420b71 (patch)
tree63fd2042b74e810eb92e262f81378c751c7bec26 /source/scale_argb.cc
parent90ffd5cba97a10fd606ded4580b7fbcba070f868 (diff)
downloadlibyuv-51de1e16f20bb93468d7c538629b40ece8420b71.tar.gz
Add supports for loongarch LSX and LASX.
1. Add supports for LSX and LASX. 2. Three optimization functions are added in loongarch/row_lasx.cc file: I422ToARGBRow_LASX,I422ToRGBARow_LASX,I422AlphaToARGBRow_LASX. Bug: libyuv:912, Bug: libyuv:913 Change-Id: I043c2704f99a5215724b5c0b7f97e6bf5f7a199b Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3329189 Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'source/scale_argb.cc')
-rw-r--r--source/scale_argb.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/scale_argb.cc b/source/scale_argb.cc
index ddad6db7..e558377f 100644
--- a/source/scale_argb.cc
+++ b/source/scale_argb.cc
@@ -643,6 +643,14 @@ static void ScaleYUVToARGBBilinearUp(int src_width,
}
}
#endif
+#if defined(HAS_I422TOARGBROW_LASX)
+ if (TestCpuFlag(kCpuHasLASX)) {
+ I422ToARGBRow = I422ToARGBRow_Any_LASX;
+ if (IS_ALIGNED(src_width, 32)) {
+ I422ToARGBRow = I422ToARGBRow_LASX;
+ }
+ }
+#endif
void (*InterpolateRow)(uint8_t * dst_argb, const uint8_t* src_argb,
ptrdiff_t src_stride, int dst_width,