aboutsummaryrefslogtreecommitdiff
path: root/source/convert_argb.cc
diff options
context:
space:
mode:
authorDarren Hsieh <darren.hsieh@sifive.com>2023-04-01 07:28:00 -0700
committerlibyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-07 18:45:08 +0000
commite8af6cb2e4e6f2c3a1936cdee2e97f4e39f416f6 (patch)
tree1bf6553274637af3ced4e16b4bf6f7740ebd0a7e /source/convert_argb.cc
parent0b3ac31e4d7440a4419c8fa88bb31f9b9dd61a9c (diff)
downloadlibyuv-e8af6cb2e4e6f2c3a1936cdee2e97f4e39f416f6.tar.gz
Add RAWToARGBRow_RVV,RAWToRGBARow_RVV,RAWToRGB24Row_RVV
* Run on SiFive internal FPGA: RAWToARGB_Opt (~2x vs scalar) RAWToRGBA_Opt (~2x vs scalar) RAWToRGB24_Opt (~1.5x vs scalar) LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10 Change-Id: I21a13d646589ea2aa3822cb9225f5191068c285b Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com> Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4408357 Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'source/convert_argb.cc')
-rw-r--r--source/convert_argb.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/convert_argb.cc b/source/convert_argb.cc
index 64425c59..e25ecefa 100644
--- a/source/convert_argb.cc
+++ b/source/convert_argb.cc
@@ -3124,6 +3124,11 @@ int RAWToARGB(const uint8_t* src_raw,
}
}
#endif
+#if defined(HAS_RAWTOARGBROW_RVV)
+ if (TestCpuFlag(kCpuHasRVV)) {
+ RAWToARGBRow = RAWToARGBRow_RVV;
+ }
+#endif
for (y = 0; y < height; ++y) {
RAWToARGBRow(src_raw, dst_argb, width);
@@ -3175,6 +3180,11 @@ int RAWToRGBA(const uint8_t* src_raw,
}
}
#endif
+#if defined(HAS_RAWTORGBAROW_RVV)
+ if (TestCpuFlag(kCpuHasRVV)) {
+ RAWToRGBARow = RAWToRGBARow_RVV;
+ }
+#endif
for (y = 0; y < height; ++y) {
RAWToRGBARow(src_raw, dst_rgba, width);