Fix HAL interface for hal_ni_minMaxIdx#25553
Merged
asmorkalov merged 5 commits intoopencv:4.xfrom May 7, 2024
Merged
Conversation
|
This would also require a change at https://github.com/opencv/opencv/blob/4.x/modules/core/src/minmax.cpp#L1514 to pass type instead of depth |
557ab37 to
d3a2d7f
Compare
53d60a4 to
9fef968
Compare
vpisarev
reviewed
May 7, 2024
vpisarev
reviewed
May 7, 2024
vpisarev
approved these changes
May 7, 2024
1e6d8e4 to
240b1d4
Compare
mplatings
reviewed
May 8, 2024
Comment on lines
+1513
to
+1515
| int _minIdx, _maxIdx; | ||
| int* min_offset = (cn == 1) ? minIdx : &_minIdx; | ||
| int* max_offset = (cn == 1) ? maxIdx : &_maxIdx; |
There was a problem hiding this comment.
- This seems like a bug because as documented "When minIdx is not NULL, it must have at least 2 elements"
- Passing a non-null pointer means the HAL implementation can't optimise for minIdx and maxIdx being null.
I suggest instead passing minIdx and maxIdx directly to cv_hal_minMaxIdx at line 1519. We already know from the assert above that they must be null if cn>1.
Comment on lines
+1521
to
+1525
| else if (src.isContinuous()) | ||
| { | ||
| CALL_HAL(minMaxIdx, cv_hal_minMaxIdx, src.data, 0, (int)src.total()*cn, 1, src.depth(), | ||
| minVal, maxVal, min_offset, max_offset, mask.data); | ||
| } |
There was a problem hiding this comment.
In this branch either minIdx and maxIdx need recalculating according to the number of dimensions, or this branch should be disabled if either pointer is non-null.
6 tasks
asmorkalov
added a commit
that referenced
this pull request
May 8, 2024
Transform offset to indeces for MatND in minMaxIdx HAL #25563 Address comments in #25553 ### 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 - [x] The PR is proposed to the proper branch - [x] 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
klatism
pushed a commit
to klatism/opencv
that referenced
this pull request
May 17, 2024
Fix HAL interface for hal_ni_minMaxIdx opencv#25553 Fixes opencv#25540 The original implementation call HAL with the same parameters independently from amount of channels. The patch uses HAL correctly for the case cn > 1. ### 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 - [x] The PR is proposed to the proper branch - [x] 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
klatism
pushed a commit
to klatism/opencv
that referenced
this pull request
May 17, 2024
Transform offset to indeces for MatND in minMaxIdx HAL opencv#25563 Address comments in opencv#25553 ### 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 - [x] The PR is proposed to the proper branch - [x] 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
Merged
savuor
pushed a commit
to savuor/opencv
that referenced
this pull request
Nov 5, 2024
Fix HAL interface for hal_ni_minMaxIdx opencv#25553 Fixes opencv#25540 The original implementation call HAL with the same parameters independently from amount of channels. The patch uses HAL correctly for the case cn > 1. 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 - [x] The PR is proposed to the proper branch - [x] 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
savuor
pushed a commit
to savuor/opencv
that referenced
this pull request
Nov 5, 2024
Transform offset to indeces for MatND in minMaxIdx HAL opencv#25563 Address comments in opencv#25553 ### 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 - [x] The PR is proposed to the proper branch - [x] 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
savuor
pushed a commit
to savuor/opencv
that referenced
this pull request
Nov 8, 2024
Fix HAL interface for hal_ni_minMaxIdx opencv#25553 Fixes opencv#25540 The original implementation call HAL with the same parameters independently from amount of channels. The patch uses HAL correctly for the case cn > 1. ### 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 - [x] The PR is proposed to the proper branch - [x] 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
savuor
pushed a commit
to savuor/opencv
that referenced
this pull request
Nov 8, 2024
Transform offset to indeces for MatND in minMaxIdx HAL opencv#25563 Address comments in opencv#25553 ### 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 - [x] The PR is proposed to the proper branch - [x] 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
savuor
pushed a commit
to savuor/opencv
that referenced
this pull request
Nov 21, 2024
Fix HAL interface for hal_ni_minMaxIdx opencv#25553 Fixes opencv#25540 The original implementation call HAL with the same parameters independently from amount of channels. The patch uses HAL correctly for the case cn > 1. ### 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 - [x] The PR is proposed to the proper branch - [x] 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
savuor
pushed a commit
to savuor/opencv
that referenced
this pull request
Nov 21, 2024
Transform offset to indeces for MatND in minMaxIdx HAL opencv#25563 Address comments in opencv#25553 ### 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 - [x] The PR is proposed to the proper branch - [x] 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #25540
The original implementation call HAL with the same parameters independently from amount of channels. The patch uses HAL correctly for the case cn > 1.
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.