From ae9cc2e57f6c0d9d80a430c574a3dc0920690f29 Mon Sep 17 00:00:00 2001 From: Noureldin Abdelfattah Date: Mon, 2 Jun 2025 11:06:33 +0100 Subject: [PATCH] Unify return status for channel number validation in filter operations --- kleidicv/src/filters/gaussian_blur_neon.cpp | 2 +- kleidicv/src/filters/gaussian_blur_sc.h | 2 +- kleidicv/src/filters/separable_filter_2d_api.cpp | 2 +- kleidicv/src/filters/separable_filter_2d_neon.cpp | 2 +- kleidicv/src/filters/separable_filter_2d_sc.h | 2 +- kleidicv/src/filters/sobel_neon.cpp | 4 ++-- kleidicv/src/filters/sobel_sc.h | 4 ++-- kleidicv/src/morphology/morphology_api.cpp | 2 +- test/api/test_gaussian_blur.cpp | 2 +- test/api/test_morphology.cpp | 4 ++-- test/api/test_separable_filter_2d.cpp | 4 ++-- test/api/test_sobel.cpp | 4 ++-- 12 files changed, 17 insertions(+), 17 deletions(-) diff --git a/kleidicv/src/filters/gaussian_blur_neon.cpp b/kleidicv/src/filters/gaussian_blur_neon.cpp index 003d8de8a..c56022796 100644 --- a/kleidicv/src/filters/gaussian_blur_neon.cpp +++ b/kleidicv/src/filters/gaussian_blur_neon.cpp @@ -705,7 +705,7 @@ static kleidicv_error_t gaussian_blur_checks( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } if (workspace->channels() < channels) { diff --git a/kleidicv/src/filters/gaussian_blur_sc.h b/kleidicv/src/filters/gaussian_blur_sc.h index 2e65f0317..936ee012a 100644 --- a/kleidicv/src/filters/gaussian_blur_sc.h +++ b/kleidicv/src/filters/gaussian_blur_sc.h @@ -1074,7 +1074,7 @@ static kleidicv_error_t gaussian_blur_checks( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } if (workspace->channels() < channels) { diff --git a/kleidicv/src/filters/separable_filter_2d_api.cpp b/kleidicv/src/filters/separable_filter_2d_api.cpp index 276b49628..79f0edeb7 100644 --- a/kleidicv/src/filters/separable_filter_2d_api.cpp +++ b/kleidicv/src/filters/separable_filter_2d_api.cpp @@ -73,7 +73,7 @@ kleidicv_error_t kleidicv_filter_context_create( } if (max_channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } CHECK_IMAGE_SIZE(max_image_width, max_image_height); diff --git a/kleidicv/src/filters/separable_filter_2d_neon.cpp b/kleidicv/src/filters/separable_filter_2d_neon.cpp index 6aec3082a..a8eb9fa6b 100644 --- a/kleidicv/src/filters/separable_filter_2d_neon.cpp +++ b/kleidicv/src/filters/separable_filter_2d_neon.cpp @@ -327,7 +327,7 @@ static kleidicv_error_t separable_filter_2d_checks( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } if (workspace->channels() < channels) { diff --git a/kleidicv/src/filters/separable_filter_2d_sc.h b/kleidicv/src/filters/separable_filter_2d_sc.h index a98a3f8ec..ad270c475 100644 --- a/kleidicv/src/filters/separable_filter_2d_sc.h +++ b/kleidicv/src/filters/separable_filter_2d_sc.h @@ -447,7 +447,7 @@ static kleidicv_error_t separable_filter_2d_checks( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } if (workspace->channels() < channels) { diff --git a/kleidicv/src/filters/sobel_neon.cpp b/kleidicv/src/filters/sobel_neon.cpp index 137921fe9..0e2b69e1b 100644 --- a/kleidicv/src/filters/sobel_neon.cpp +++ b/kleidicv/src/filters/sobel_neon.cpp @@ -137,7 +137,7 @@ kleidicv_error_t sobel_3x3_horizontal_stripe_s16_u8( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } Rectangle rect{width, height}; @@ -167,7 +167,7 @@ kleidicv_error_t sobel_3x3_vertical_stripe_s16_u8( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } Rectangle rect{width, height}; diff --git a/kleidicv/src/filters/sobel_sc.h b/kleidicv/src/filters/sobel_sc.h index be3167d4f..341c152d5 100644 --- a/kleidicv/src/filters/sobel_sc.h +++ b/kleidicv/src/filters/sobel_sc.h @@ -129,7 +129,7 @@ static kleidicv_error_t sobel_3x3_horizontal_stripe_s16_u8_sc( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } Rectangle rect{width, height}; @@ -159,7 +159,7 @@ static kleidicv_error_t sobel_3x3_vertical_stripe_s16_u8_sc( CHECK_IMAGE_SIZE(width, height); if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } Rectangle rect{width, height}; diff --git a/kleidicv/src/morphology/morphology_api.cpp b/kleidicv/src/morphology/morphology_api.cpp index 619224817..71607bbb3 100644 --- a/kleidicv/src/morphology/morphology_api.cpp +++ b/kleidicv/src/morphology/morphology_api.cpp @@ -71,7 +71,7 @@ kleidicv_error_t kleidicv_morphology_create( } if (channels > KLEIDICV_MAXIMUM_CHANNEL_COUNT) { - return KLEIDICV_ERROR_RANGE; + return KLEIDICV_ERROR_NOT_IMPLEMENTED; } auto morphology_border_type = diff --git a/test/api/test_gaussian_blur.cpp b/test/api/test_gaussian_blur.cpp index 2a8c28c17..6c54487fc 100644 --- a/test/api/test_gaussian_blur.cpp +++ b/test/api/test_gaussian_blur.cpp @@ -1119,7 +1119,7 @@ TYPED_TEST(GaussianBlur, ChannelNumber) { ASSERT_EQ(KLEIDICV_OK, kleidicv_filter_context_create(&context, 1, 15, 15, validSize, validSize)); TypeParam src[1], dst[1]; - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, gaussian_blur()( src, sizeof(TypeParam), dst, sizeof(TypeParam), validSize, validSize, KLEIDICV_MAXIMUM_CHANNEL_COUNT + 1, 15, 15, 0.0, 0.0, diff --git a/test/api/test_morphology.cpp b/test/api/test_morphology.cpp index eb8a9bbbd..a7258d05a 100644 --- a/test/api/test_morphology.cpp +++ b/test/api/test_morphology.cpp @@ -445,7 +445,7 @@ TYPED_TEST(Morphology, UnsupportedChannels) { kleidicv_border_type_t border = KLEIDICV_BORDER_TYPE_REPLICATE; const uint8_t border_value[] = {0, 0, 1, 1}; - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, kleidicv_morphology_create(&context, small_rect, anchor, border, border_value, 5, 1, sizeof(TypeParam), small_rect)); @@ -522,7 +522,7 @@ TYPED_TEST(Morphology, InvalidChannelNumber) { kleidicv_morphology_context_t *context = nullptr; const uint8_t border_value[] = {}; - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, kleidicv_morphology_create( &context, kleidicv_rectangle_t{1, 1}, kleidicv_point_t{0, 0}, KLEIDICV_BORDER_TYPE_REPLICATE, border_value, diff --git a/test/api/test_separable_filter_2d.cpp b/test/api/test_separable_filter_2d.cpp index 0b5d80274..8ac608c82 100644 --- a/test/api/test_separable_filter_2d.cpp +++ b/test/api/test_separable_filter_2d.cpp @@ -729,7 +729,7 @@ TYPED_TEST(SeparableFilter2D, ChannelNumber) { ASSERT_EQ(KLEIDICV_OK, kleidicv_filter_context_create(&context, 1, 5, 5, validSize, validSize)); TypeParam src[1], dst[1], kernel[5] = {}; - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, separable_filter_2d()( src, sizeof(TypeParam), dst, sizeof(TypeParam), validSize, validSize, KLEIDICV_MAXIMUM_CHANNEL_COUNT + 1, kernel, 5, @@ -864,7 +864,7 @@ TEST(FilterCreate, DifferentKernelSize) { TEST(FilterCreate, ChannelNumber) { kleidicv_filter_context_t *context = nullptr; - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, kleidicv_filter_context_create( &context, KLEIDICV_MAXIMUM_CHANNEL_COUNT + 1, 1, 1, 1, 1)); ASSERT_EQ(nullptr, context); diff --git a/test/api/test_sobel.cpp b/test/api/test_sobel.cpp index 41bf00c47..44158a096 100644 --- a/test/api/test_sobel.cpp +++ b/test/api/test_sobel.cpp @@ -279,11 +279,11 @@ TYPED_TEST(Sobel, ChannelNumber) { typename KernelTestParams::OutputType dst[1]; size_t validSize = 2; - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, sobel_3x3_horizontal()( src, sizeof(src), dst, sizeof(dst), validSize, validSize, KLEIDICV_MAXIMUM_CHANNEL_COUNT + 1)); - EXPECT_EQ(KLEIDICV_ERROR_RANGE, + EXPECT_EQ(KLEIDICV_ERROR_NOT_IMPLEMENTED, sobel_3x3_vertical()( src, sizeof(src), dst, sizeof(dst), validSize, validSize, KLEIDICV_MAXIMUM_CHANNEL_COUNT + 1)); -- GitLab