opencv/modules/core
天音あめ 13b2caffe0
Merge pull request #26789 from amane-ame:minmax_hal_rvv
Add RISC-V HAL implementation for minMaxIdx #26789

On the RISC-V platform, `minMaxIdx` cannot benefit from Universal Intrinsics because the UI-optimized `minMaxIdx` only supports `CV_SIMD128` (and does not accept `CV_SIMD_SCALABLE` for RVV).

1d701d1690/modules/core/src/minmax.cpp (L209-L214)

This patch implements `minMaxIdx` function in RVV_HAL using native intrinsic, optimizing the performance for all data types with one channel.

Tested on MUSE-PI for both gcc 14.2 and clang 20.0.

```
$ opencv_test_core --gtest_filter="*MinMaxLoc*"
$ opencv_perf_core --gtest_filter="*minMaxLoc*"
```
<img width="1122" alt="Untitled" src="https://github.com/user-attachments/assets/6a246852-87af-42c5-a50b-c349c2765f3f" />

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [ ] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-01-31 14:26:49 +03:00
..
3rdparty/SoftFloat Add install component for 3rdparty libraries licenses 2018-03-06 16:32:30 +03:00
cmake/parallel core(parallel): plugins support 2021-02-15 17:07:36 +00:00
doc Merge pull request #26260 from sturkmen72:upd_doc_4_x 2024-10-09 09:09:51 +03:00
include/opencv2 Merge pull request #26463 from eplankin:icv_update_2022.0.0 2025-01-27 17:02:36 +03:00
misc Merge pull request #25986 from asmorkalov:as/js_for_contrib 2024-08-23 10:49:08 +03:00
perf Remove useless C headers 2025-01-13 16:34:28 +01:00
src Merge pull request #26789 from amane-ame:minmax_hal_rvv 2025-01-31 14:26:49 +03:00
test RISC-V: increase DotProduct test threshold a bit 2025-01-30 15:09:32 +03:00
CMakeLists.txt Add CMake checks for getauxval and elf_aux_info for POWER 2025-01-19 13:27:20 -05:00