diff --git a/adapters/opencv/kleidicv_hal.cpp b/adapters/opencv/kleidicv_hal.cpp index df03a09f52f5c0d8cce9c9a0d8e216d5b8d27f89..3b3b49c7e6bfdca2cfa720c44ef09a9e11351d53 100644 --- a/adapters/opencv/kleidicv_hal.cpp +++ b/adapters/opencv/kleidicv_hal.cpp @@ -992,10 +992,6 @@ int compare_u8(const uchar *src1_data, size_t src1_step, const uchar *src2_data, size_t src2_step, uchar *dst_data, size_t dst_step, int width, int height, int operation) { switch (operation) { - case cv::CMP_EQ: - return convert_error( - kleidicv_compare_equal_u8(src1_data, src1_step, src2_data, src2_step, - dst_data, dst_step, width, height)); case cv::CMP_GT: return convert_error(kleidicv_compare_greater_u8( src1_data, src1_step, src2_data, src2_step, dst_data, dst_step, width, diff --git a/doc/opencv.md b/doc/opencv.md index f687d9b35fcac5025ee5e91f74b60c46c70a0d80..0d0b3de03ca7e7c10f579bbacbc67b2f8cac371d 100644 --- a/doc/opencv.md +++ b/doc/opencv.md @@ -220,5 +220,4 @@ Notes on parameters: * `src1_data`, `src2_data`, `dst_data` - only support `CV_8U` depth. * `operation` - flag specifying correspondence between the arrays. Supported [OpenCV cmp types](https://docs.opencv.org/5.x/d2/de8/group__core__array.html#ga0cc47ff833d40b58ecbe1d609a53d784) are: - + `cv::CMP_EQ ` + `cv::CMP_GT` diff --git a/kleidicv/src/arithmetics/compare_api.cpp b/kleidicv/src/arithmetics/compare_api.cpp index 7f67fafbcf00de51cd29cb74419beb27067afba8..011005b5ee3653a3f64c7ceb4a9ad693cf413c7c 100644 --- a/kleidicv/src/arithmetics/compare_api.cpp +++ b/kleidicv/src/arithmetics/compare_api.cpp @@ -52,11 +52,17 @@ kleidicv_error_t compare_greater(const ScalarType *src_a, size_t src_a_stride, } // namespace kleidicv -#define KLEIDICV_DEFINE_C_API(api_name, impl_name, type) \ - KLEIDICV_MULTIVERSION_C_API( \ - api_name, &kleidicv::neon::impl_name, \ - KLEIDICV_SVE2_IMPL_IF(&kleidicv::sve2::impl_name), \ - &kleidicv::sme2::impl_name) - -KLEIDICV_DEFINE_C_API(kleidicv_compare_equal_u8, compare_equal, uint8_t); -KLEIDICV_DEFINE_C_API(kleidicv_compare_greater_u8, compare_greater, uint8_t); +#define KLEIDICV_DEFINE_CMP_EQ_API(name, type) \ + KLEIDICV_MULTIVERSION_C_API( \ + name, &kleidicv::neon::compare_equal, \ + KLEIDICV_SVE2_IMPL_IF(&kleidicv::sve2::compare_equal), \ + KLEIDICV_SME2_IMPL_IF(&kleidicv::sme2::compare_equal)) + +#define KLEIDICV_DEFINE_CMP_GT_API(name, type) \ + KLEIDICV_MULTIVERSION_C_API( \ + name, &kleidicv::neon::compare_greater, \ + KLEIDICV_SVE2_IMPL_IF(&kleidicv::sve2::compare_greater), \ + &kleidicv::sme2::compare_greater) + +KLEIDICV_DEFINE_CMP_EQ_API(kleidicv_compare_equal_u8, uint8_t); +KLEIDICV_DEFINE_CMP_GT_API(kleidicv_compare_greater_u8, uint8_t);