Skip to content

FastCV-based HAL for OpenCV acceleration 2ndpost-1#26617

Merged
asmorkalov merged 13 commits intoopencv:4.xfrom
CodeLinaro:xuezha_2ndPost
Dec 18, 2024
Merged

FastCV-based HAL for OpenCV acceleration 2ndpost-1#26617
asmorkalov merged 13 commits intoopencv:4.xfrom
CodeLinaro:xuezha_2ndPost

Conversation

@quic-xuezha
Copy link
Copy Markdown
Contributor

@quic-xuezha quic-xuezha commented Dec 12, 2024

Detailed description:

  • Add parallel support for cv_hal_sobel
  • Add cv_hal_gaussianBlurBinomial and parallel support.
  • Add cv_hal_addWeighted8u and parallel support
  • Add cv_hal_warpPerspective and parallel support

Requires binary from opencv/opencv_3rdparty#90
Related patch to opencv_contrib: opencv/opencv_contrib#3844

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

@asmorkalov
Copy link
Copy Markdown
Contributor

@quic-xuezha Thanks a lot for the contribution! Could you enable FastCV by default in the PR to check it with CI. We will revert the change just before merge.

@asmorkalov
Copy link
Copy Markdown
Contributor

There is no FastCV links & hashes update in CMake. Old library will be used.

@asmorkalov asmorkalov self-assigned this Dec 16, 2024
@asmorkalov
Copy link
Copy Markdown
Contributor

Linux configuration build issue:

-- FASTCV: Downloading fastcv_linux_aarch64_2024_12_11.tgz from https://raw.githubusercontent.com/opencv/opencv_3rdparty/1eb84499ee9996616529fc48b0bab5631f64c2dc/fastcv/fastcv_linux_aarch64_2024_12_11.tgz
CMake Warning at cmake/OpenCVDownload.cmake:271 (message):
  FASTCV: Hash mismatch: a194679b934516dc2d377bb33e71ae76
Call Stack (most recent call first):
  3rdparty/fastcv/fastcv.cmake:29 (ocv_download)
  cmake/OpenCVFindLibsPerf.cmake:187 (download_fastcv)
  CMakeLists.txt:797 (include)


CMake Warning at 3rdparty/fastcv/fastcv.cmake:40 (message):
  FastCV: package download failed!
Call Stack (most recent call first):
  cmake/OpenCVFindLibsPerf.cmake:187 (download_fastcv)
  CMakeLists.txt:797 (include)

@quic-xuezha
Copy link
Copy Markdown
Contributor Author

will check and update the hash

@quic-xuezha
Copy link
Copy Markdown
Contributor Author

updated, please try again

@asmorkalov
Copy link
Copy Markdown
Contributor

@quic-xuezha Thanks a lot for the contribution. I squashed the commits in opencv_3rdparty repo and created branch fastcv/4.x_20241211 there. Please update links/hashes again and revert the change that enables FastCV by default. I'll merge the PR after it.

@asmorkalov asmorkalov added this to the 4.11.0 milestone Dec 17, 2024
@quic-xuezha
Copy link
Copy Markdown
Contributor Author

Updated the commit id and reverted the change

@asmorkalov asmorkalov merged commit 1c28a98 into opencv:4.x Dec 18, 2024
asmorkalov pushed a commit that referenced this pull request Dec 19, 2024
FastCV-based HAL for OpenCV acceleration 2ndpost-2 #26619

### Detailed description:

- Add support for multiply 8u, 16s and 32f
- Add support for cv_hal_pyrdown 8u
- Add support for cv_hal_cvtBGRtoHSV and cv_hal_cvtBGRtoYUVApprox 8u

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90)
Depends on: [#26617](#26617)

### 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
asmorkalov pushed a commit that referenced this pull request Dec 19, 2024
FastCV-based HAL for OpenCV acceleration 2ndpost-3 #26621

### Detailed description:

- Add cv_hal_canny for Canny API

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90) 
Depends on: [#26617](#26617)
Depends on: [#26619](#26619) 

### 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
asmorkalov pushed a commit to opencv/opencv_contrib that referenced this pull request Dec 20, 2024
FastCV Extension code for OpenCV 2ndpost-1 #3844

Depends on: [opencv/opencv#26617](opencv/opencv#26617)
Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90)

### 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
@asmorkalov asmorkalov mentioned this pull request Jan 15, 2025
shyama7004 pushed a commit to shyama7004/opencv that referenced this pull request Jan 20, 2025
FastCV-based HAL for OpenCV acceleration 2ndpost-1 opencv#26617

### Detailed description:

- Add parallel support for cv_hal_sobel
- Add cv_hal_gaussianBlurBinomial and parallel support.
- Add cv_hal_addWeighted8u and parallel support
- Add cv_hal_warpPerspective and parallel support

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90)
Related patch to opencv_contrib: [opencv/opencv_contrib#3844](opencv/opencv_contrib#3844)

### 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
shyama7004 pushed a commit to shyama7004/opencv that referenced this pull request Jan 20, 2025
FastCV-based HAL for OpenCV acceleration 2ndpost-2 opencv#26619

### Detailed description:

- Add support for multiply 8u, 16s and 32f
- Add support for cv_hal_pyrdown 8u
- Add support for cv_hal_cvtBGRtoHSV and cv_hal_cvtBGRtoYUVApprox 8u

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90)
Depends on: [opencv#26617](opencv#26617)

### 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
shyama7004 pushed a commit to shyama7004/opencv that referenced this pull request Jan 20, 2025
FastCV-based HAL for OpenCV acceleration 2ndpost-3 opencv#26621

### Detailed description:

- Add cv_hal_canny for Canny API

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90) 
Depends on: [opencv#26617](opencv#26617)
Depends on: [opencv#26619](opencv#26619) 

### 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
NanQin555 pushed a commit to NanQin555/opencv that referenced this pull request Feb 24, 2025
FastCV-based HAL for OpenCV acceleration 2ndpost-1 opencv#26617

### Detailed description:

- Add parallel support for cv_hal_sobel
- Add cv_hal_gaussianBlurBinomial and parallel support.
- Add cv_hal_addWeighted8u and parallel support
- Add cv_hal_warpPerspective and parallel support

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90)
Related patch to opencv_contrib: [opencv/opencv_contrib#3844](opencv/opencv_contrib#3844)

### 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
NanQin555 pushed a commit to NanQin555/opencv that referenced this pull request Feb 24, 2025
FastCV-based HAL for OpenCV acceleration 2ndpost-2 opencv#26619

### Detailed description:

- Add support for multiply 8u, 16s and 32f
- Add support for cv_hal_pyrdown 8u
- Add support for cv_hal_cvtBGRtoHSV and cv_hal_cvtBGRtoYUVApprox 8u

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90)
Depends on: [opencv#26617](opencv#26617)

### 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
NanQin555 pushed a commit to NanQin555/opencv that referenced this pull request Feb 24, 2025
FastCV-based HAL for OpenCV acceleration 2ndpost-3 opencv#26621

### Detailed description:

- Add cv_hal_canny for Canny API

Requires binary from [opencv/opencv_3rdparty#90](opencv/opencv_3rdparty#90) 
Depends on: [opencv#26617](opencv#26617)
Depends on: [opencv#26619](opencv#26619) 

### 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: imgproc optimization platform: arm ARM boards related issues: RPi, NVIDIA TK/TX, etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants