aboutsummaryrefslogtreecommitdiff
path: root/source/convert_argb.cc
diff options
context:
space:
mode:
authorWan-Teh Chang <wtc@google.com>2023-05-20 16:09:43 -0700
committerlibyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-05-20 23:29:33 +0000
commit179b0203e5bd9eeff84de30e03b2517fd3bcb654 (patch)
tree253baae5779ca6acaf3b7fa54ddd58b40b9d7cc2 /source/convert_argb.cc
parent8670bcf17faca69603d2d49fa6ebd0e45123471f (diff)
downloadlibyuv-179b0203e5bd9eeff84de30e03b2517fd3bcb654.tar.gz
Enable {J400/I400}ToARGBRow_RVV
Run on SiFive internal FPGA*: I400ToARGB_Opt (~8x vs scalar) J400ToARGB_Opt (~10x vs scalar) LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10 Bug: libyuv:956, libyuv:961 Change-Id: If4e21ec85c4ff79083ec16a6faae0e457129a8de Signed-off-by: Bruce Lai <bruce.lai@sifive.com> Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4544972 Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Wan-Teh Chang <wtc@google.com>
Diffstat (limited to 'source/convert_argb.cc')
-rw-r--r--source/convert_argb.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/convert_argb.cc b/source/convert_argb.cc
index 99bbb96d..f16c368d 100644
--- a/source/convert_argb.cc
+++ b/source/convert_argb.cc
@@ -2897,6 +2897,11 @@ int I400ToARGBMatrix(const uint8_t* src_y,
}
}
#endif
+#if defined(HAS_I400TOARGBROW_RVV)
+ if (TestCpuFlag(kCpuHasRVV)) {
+ I400ToARGBRow = I400ToARGBRow_RVV;
+ }
+#endif
for (y = 0; y < height; ++y) {
I400ToARGBRow(src_y, dst_argb, yuvconstants, width);
@@ -2984,6 +2989,12 @@ int J400ToARGB(const uint8_t* src_y,
}
}
#endif
+#if defined(HAS_J400TOARGBROW_RVV)
+ if (TestCpuFlag(kCpuHasRVV)) {
+ J400ToARGBRow = J400ToARGBRow_RVV;
+ }
+#endif
+
for (y = 0; y < height; ++y) {
J400ToARGBRow(src_y, dst_argb, width);
src_y += src_stride_y;