diff options
author | Bruce Lai <bruce.lai@sifive.com> | 2023-07-04 22:05:46 -0700 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-07-27 02:59:47 +0000 |
commit | c60ac4025cd88ec9139cc01d6021fa81a8d2c085 (patch) | |
tree | b3953e1ae0847255c46c46ec5e59d2736a3dc9e1 /source/scale.cc | |
parent | 10de943a12737be193e4f51df9e37b555ea09710 (diff) | |
download | libyuv-c60ac4025cd88ec9139cc01d6021fa81a8d2c085.tar.gz |
[RVV] Enable ScaleRowDown38_RVV & ScaleRowDown38_{2,3}_Box_RVV
* Run on SiFive internal FPGA:
Test Case Speedup
I420ScaleDownBy3by8_None 4.2
I420ScaleDownBy3by8_Linear 1.7
I420ScaleDownBy3by8_Bilinear 1.7
I420ScaleDownBy3by8_Box 1.7
I444ScaleDownBy3by8_None 4.2
I444ScaleDownBy3by8_Linear 1.8
I444ScaleDownBy3by8_Bilinear 1.8
I444ScaleDownBy3by8_Box 1.8
Change-Id: Ic2e98de2494d9e7b25f5db115a7f21c618eaefed
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4711857
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'source/scale.cc')
-rw-r--r-- | source/scale.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/scale.cc b/source/scale.cc index 0693362a..43d973af 100644 --- a/source/scale.cc +++ b/source/scale.cc @@ -711,6 +711,17 @@ static void ScalePlaneDown38(int src_width, } } #endif +#if defined(HAS_SCALEROWDOWN38_RVV) + if (TestCpuFlag(kCpuHasRVV)) { + if (!filtering) { + ScaleRowDown38_3 = ScaleRowDown38_RVV; + ScaleRowDown38_2 = ScaleRowDown38_RVV; + } else { + ScaleRowDown38_3 = ScaleRowDown38_3_Box_RVV; + ScaleRowDown38_2 = ScaleRowDown38_2_Box_RVV; + } + } +#endif for (y = 0; y < dst_height - 2; y += 3) { ScaleRowDown38_3(src_ptr, filter_stride, dst_ptr, dst_width); |