mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 11:10:21 +08:00
aa143a3dd1
Rewrite Universal Intrinsic code: features2d and calib3d module. #24301 The goal of this series of PRs is to modify the SIMD code blocks guarded by CV_SIMD macro: rewrite them by using the new Universal Intrinsic API. This is the modification to the features2d module and calib3d module. Test with clang 16 and QEMU v7.0.0. `AP3P.ctheta1p_nan_23607` failed beacuse of a small calculation error. But this patch does not touch the relevant code, and this error always reproduce on QEMU, regardless of whether the patch is applied or not. I think we can ignore it ``` [ RUN ] AP3P.ctheta1p_nan_23607 /home/hanliutong/project/opencv/modules/calib3d/test/test_solvepnp_ransac.cpp:2319: Failure Expected: (cvtest::norm(res.colRange(0, 2), expected, NORM_INF)) <= (3e-16), actual: 3.33067e-16 vs 3e-16 [ FAILED ] AP3P.ctheta1p_nan_23607 (26 ms) ... [==========] 148 tests from 64 test cases ran. (1147114 ms total) [ PASSED ] 147 tests. [ FAILED ] 1 test, listed below: [ FAILED ] AP3P.ctheta1p_nan_23607 ``` Note: There are 2 test cases failed with GCC 13.2.1 without this patch, seems like there are someting wrong with RVV part on GCC. ``` [----------] Global test environment tear-down [==========] 148 tests from 64 test cases ran. (1511399 ms total) [ PASSED ] 146 tests. [ FAILED ] 2 tests, listed below: [ FAILED ] Calib3d_StereoSGBM.regression [ FAILED ] Calib3d_StereoSGBM_HH4.regression ``` The patch is partially auto-generated by using the [rewriter](https://github.com/hanliutong/rewriter). ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [ ] I agree to contribute to the project under Apache 2 License. - [ ] 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 |
||
---|---|---|
.. | ||
doc | ||
include/opencv2 | ||
misc | ||
perf | ||
src | ||
test | ||
CMakeLists.txt |