diff options
author | Darren Hsieh <darren.hsieh@sifive.com> | 2023-06-07 01:17:43 -0700 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-06-14 00:57:00 +0000 |
commit | 552571e8b24b2619c39ec176e6cb8e75d3e7fdd3 (patch) | |
tree | f433edd0b4ad45e656937fc6e3d48c3bfec4a3b9 /include | |
parent | 2a5d7e2fbc6735d633d50fb9711ac887e415eae3 (diff) | |
download | libyuv-552571e8b24b2619c39ec176e6cb8e75d3e7fdd3.tar.gz |
[RVV] Enable ScaleRowDown34_RVV & ScaleRowDown34_{0,1}_Box_RVV
Run on SiFive internal FPGA:
Test case RVV function Speedup
I444ScaleDownBy3by4_None ScaleRowDown34_RVV 5.8
I444ScaleDownBy3by4_Linear ScaleRowDown34_0/1_Box_RVV 6.5
I444ScaleDownBy3by4_Bilinear ScaleRowDown34_0/1_Box_RVV 6.3
Bug: libyuv:956
Change-Id: I8ef221ab14d631e14f1ba1aaa25d2b30d4e710db
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4607777
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/libyuv/scale_row.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h index 631b15dd..dbe664de 100644 --- a/include/libyuv/scale_row.h +++ b/include/libyuv/scale_row.h @@ -180,6 +180,7 @@ extern "C" { #define HAS_SCALEARGBROWDOWN2_RVV #define HAS_SCALEARGBROWDOWNEVEN_RVV #define HAS_SCALEROWDOWN2_RVV +#define HAS_SCALEROWDOWN34_RVV #define HAS_SCALEROWDOWN4_RVV #define HAS_SCALEUVROWDOWN2_RVV #define HAS_SCALEUVROWDOWN2LINEAR_RVV @@ -1822,6 +1823,18 @@ void ScaleRowDown4Box_RVV(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width); +void ScaleRowDown34_RVV(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_0_Box_RVV(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); +void ScaleRowDown34_1_Box_RVV(const uint8_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); #ifdef __cplusplus } // extern "C" |