diff options
author | Frank Barchard <fbarchard@google.com> | 2023-08-03 19:03:55 -0700 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-08-04 18:39:27 +0000 |
commit | 696e61957172a89691249e91c6e8c9d7f0b7e6fc (patch) | |
tree | 24405052a23e1c703a24fb295730912dd5d931b0 /include | |
parent | 506f93e9db5ae83e37e8c49e5d5b7247dfffc817 (diff) | |
download | libyuv-696e61957172a89691249e91c6e8c9d7f0b7e6fc.tar.gz |
RVV check __riscv_v_intrinsic version
Bug: libyuv:965
Change-Id: I9b02abd13ab3345288655fa7a16383f59cf66bb8
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4750230
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/libyuv/row.h | 23 | ||||
-rw-r--r-- | include/libyuv/scale_row.h | 40 |
2 files changed, 40 insertions, 23 deletions
diff --git a/include/libyuv/row.h b/include/libyuv/row.h index 7fce28b3..6fd2ab8f 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -791,7 +791,11 @@ extern "C" { #endif #if !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector) +#define HAS_COPYROW_RVV +#if __riscv_v_intrinsic == 11000 #define HAS_AB64TOARGBROW_RVV +#define HAS_ABGRTOYJROW_RVV +#define HAS_ABGRTOYROW_RVV #define HAS_AR64TOARGBROW_RVV #define HAS_ARGBATTENUATEROW_RVV #define HAS_ARGBBLENDROW_RVV @@ -801,13 +805,11 @@ extern "C" { #define HAS_ARGBTOAR64ROW_RVV #define HAS_ARGBTORAWROW_RVV #define HAS_ARGBTORGB24ROW_RVV -#define HAS_ARGBTOYROW_RVV #define HAS_ARGBTOYJROW_RVV -#define HAS_ABGRTOYROW_RVV -#define HAS_ABGRTOYJROW_RVV +#define HAS_ARGBTOYMATRIXROW_RVV +#define HAS_ARGBTOYROW_RVV #define HAS_BGRATOYROW_RVV #define HAS_BLENDPLANEROW_RVV -#define HAS_COPYROW_RVV #define HAS_I400TOARGBROW_RVV #define HAS_I422ALPHATOARGBROW_RVV #define HAS_I422TOARGBROW_RVV @@ -826,10 +828,6 @@ extern "C" { #define HAS_NV12TORGB24ROW_RVV #define HAS_NV21TOARGBROW_RVV #define HAS_NV21TORGB24ROW_RVV -#define HAS_SPLITARGBROW_RVV -#define HAS_SPLITRGBROW_RVV -#define HAS_SPLITUVROW_RVV -#define HAS_SPLITXRGBROW_RVV #define HAS_RAWTOARGBROW_RVV #define HAS_RAWTORGB24ROW_RVV #define HAS_RAWTORGBAROW_RVV @@ -838,8 +836,15 @@ extern "C" { #define HAS_RGB24TOARGBROW_RVV #define HAS_RGB24TOYJROW_RVV #define HAS_RGB24TOYROW_RVV -#define HAS_RGBATOYROW_RVV #define HAS_RGBATOYJROW_RVV +#define HAS_RGBATOYMATRIXROW_RVV +#define HAS_RGBATOYROW_RVV +#define HAS_RGBTOYMATRIXROW_RVV +#define HAS_SPLITARGBROW_RVV +#define HAS_SPLITRGBROW_RVV +#define HAS_SPLITUVROW_RVV +#define HAS_SPLITXRGBROW_RVV +#endif #endif #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h index d825a8db..fd136ab7 100644 --- a/include/libyuv/scale_row.h +++ b/include/libyuv/scale_row.h @@ -177,20 +177,32 @@ extern "C" { #if !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector) #define HAS_SCALEADDROW_RVV +#define HAS_SCALEUVROWDOWN4_RVV +#define HAS_SCALEUVROWDOWNEVEN_RVV +#if __riscv_v_intrinsic == 11000 #define HAS_SCALEARGBROWDOWN2_RVV -#define HAS_SCALEARGBROWDOWNEVEN_RVV +#define HAS_SCALEARGBROWDOWN2BOX_RVV +#define HAS_SCALEARGBROWDOWN2LINEAR_RVV +#define HAS_SCALEARGBROWDOWNEVENBOX_RVV #define HAS_SCALEROWDOWN2_RVV +#define HAS_SCALEROWDOWN2BOX_RVV +#define HAS_SCALEROWDOWN2LINEAR_RVV +#define HAS_SCALEROWDOWN34_0_BOX_RVV +#define HAS_SCALEROWDOWN34_1_BOX_RVV #define HAS_SCALEROWDOWN34_RVV +#define HAS_SCALEROWDOWN38_2_BOX_RVV +#define HAS_SCALEROWDOWN38_3_BOX_RVV #define HAS_SCALEROWDOWN38_RVV #define HAS_SCALEROWDOWN4_RVV -#define HAS_SCALEROWUP2_LINEAR_RVV +#define HAS_SCALEROWDOWN4BOX_RVV #define HAS_SCALEROWUP2_BILINEAR_RVV +#define HAS_SCALEROWUP2_LINEAR_RVV #define HAS_SCALEUVROWDOWN2_RVV -#define HAS_SCALEUVROWDOWN2LINEAR_RVV #define HAS_SCALEUVROWDOWN2BOX_RVV -#define HAS_SCALEUVROWDOWNEVEN_RVV -#define HAS_SCALEUVROWUP2_LINEAR_RVV +#define HAS_SCALEUVROWDOWN2LINEAR_RVV #define HAS_SCALEUVROWUP2_BILINEAR_RVV +#define HAS_SCALEUVROWUP2_LINEAR_RVV +#endif #endif // Scale ARGB vertically with bilinear interpolation. @@ -1849,17 +1861,17 @@ void ScaleRowDown34_1_Box_RVV(const uint8_t* src_ptr, uint8_t* dst_ptr, int dst_width); void ScaleRowDown38_RVV(const uint8_t* src_ptr, - ptrdiff_t src_stride, - uint8_t* dst, - int dst_width); + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width); void ScaleRowDown38_3_Box_RVV(const uint8_t* src_ptr, - ptrdiff_t src_stride, - uint8_t* dst_ptr, - int dst_width); + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); void ScaleRowDown38_2_Box_RVV(const uint8_t* src_ptr, - ptrdiff_t src_stride, - uint8_t* dst_ptr, - int dst_width); + ptrdiff_t src_stride, + uint8_t* dst_ptr, + int dst_width); void ScaleRowUp2_Linear_RVV(const uint8_t* src_ptr, uint8_t* dst_ptr, |