Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@asmorkalov
Copy link
Contributor

@asmorkalov asmorkalov commented Oct 23, 2024

No changes in opencv_contrib and opencv_extra.

Manual changes:

  • Fixed f16 in universal intrinsics for ARM, e.g. template <> inline v_float16x8 v_setall_(float v) { return v_setall_f16((hfloat)v); } overload.
  • Data type fixes in fp16 test for v_exp, v_sin, v_cos, v_sincos, etc.

#25891 from WanliZhong:v_func-def-bug
#25892 from WanliZhong:v_sincos
#25909 from gblikas:patch-1
#26163 from asmorkalov:as/HAL_schaar_deriv
#26166 from mshabunin:fix-intrin-ops
#26176 from najasnake12:fixed_minor_typos_in_js_tutorials
#26187 from inayd:26130-fixFillPolyBoundaries
#26211 from Kumataro:fix26207
#26212 from jamacias:feature/TickMeter-lasttime
#26216 from hanliutong:rvv-hal-merge
#26219 from mlourakis:4.x
#26224 from mshabunin:cpp-videoio-backport
#26228 from mshabunin:cpp-features2d-4x
#26230 from mshabunin:cpp-photo-4x
#26234 from zachlowry:apply-gcc6-fix-on-each-directory
#26236 from asmorkalov:as/HAL_pyrlk_hack_documentation
#26241 from asmorkalov:as/kelidicv-0.2
#26245 from cudawarped:cuda_update_to_npp_stream_ctx
#26259 from Kumataro:fix26258
#26260 from sturkmen72:upd_doc_4_x
#26263 from mlourakis:4.x
#26266 from mshabunin:fix-rvv071-build
#26278 from Quantizs:feature-create-face-recognizer-from-buffer
#26281 from kallaballa:clgl_device_discovery
#26284 from fzuuzf:enum_arithmetic_fixes_for_c++26
#26293 from SeptimiuIoachimNeagaIntel:EISW-140103_optimization_flag
#26298 from sturkmen72:avif
#26313 from FantasqueX:ipp-warp-affine-border-value
#26320 from mshabunin:fix-cmake-in-list
#26335 from migueldaipre:4.x
#26340 from Kumataro:wa26339
#26353 from asmorkalov:as/ade_1.2e

Previous "Merge 4.x": #26135

mshabunin and others added 30 commits September 20, 2024 13:38
build: fix AVX2/AVX512 builds failed due to intrinsics operator usage
HAL interface for Sharr derivatives needed for Lukas-Kanade algorithm opencv#26163

### 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
…_js_tutorials

Fixed minor typos in JS tutorials
Mirror most recent changes from terzakig/sqpnp#24
  - rank revealing QR in nullspace computation
  - sqrt-free Cholesky (i.e., L*D*Lt) in the SQP solution
  - replaced divisions with multiplications by inverses
  - simplified checks in computeRowAndNullspace()
  - removed unnecessary negations
  - broke some dependency chains with parentheses
  - minor other changes
C-API cleanup: use AutoBuffer in MSER (4.x)
C-API cleanup: inpaint algorithms in photo (4.x)
…umentation

Added HAL documentation note for out-of-bound hack in optical flow LK.
…v#25891)

* use 2 parms for now to identify the error

* Revert "use 2 parms for now to identify the error"

This reverts commit 86faf99.

* replace += with =

* add v_log ref

* refactor intrin_math code

* Add include guard to `intrin_math.hpp` to prevent multiple inclusions

* rename VX to V; make fp64 impl in neon be optional

* add v_setall, v_setzero for all backends; rewrite the intrin_math

* fix error on rvv_scalable

* let v_erf use v_exp_default_32f function

* 1. replaced 'v_setzero(VecType dummy)' with 'v_setzero_<VecType>()'
2. replaced 'v_setall(LaneType x, VecType dummy)' with 'v_setall_<VecType>(LaneType x)'
3. added tests for the new v_setzero_<> and v_setall_<>.

* gcc does not seem to like static_assert in functions even when they are not used

* trying to fix compile errors in Debug mode on Linux

---------

Co-authored-by: Vadim Pisarevsky <[email protected]>
C-API cleanup: backport videoio changes from 5.x
Updated KleidiCV HAL to version 0.2. opencv#26241

### 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
Extra checks for corner cases in 3x3 matrix inversion
core: C-API cleanup: RNG algorithms in core(4.x) opencv#26259

- replace CV_RAND_UNI and NORMAL to cv::RNG::UNIFORM and cv::RNG::NORMAL.

### 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
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
Update intrin_wasm.hpp opencv#25909

See microsoft/vcpkg#33443 for some build context when using 

```vcpkg install opencv4:wasm32-emscripten```

`__EMSCRIPTEN_major__`, `__EMSCRIPTEN_minor__` and `__EMSCRIPTEN_tiny__` in `emsdk` >= 3.1.4 are in a header, as opposed to command line. 

We could potentially be more aggressive with how I'm checking this property; let me know if I should make the change. 

It should also be suggested that `-msimd128` is auto-included in the associated portfile for opencv, but that's a separate issue. Someone let me know if I should also make that change as well. 

Special thanks to https://github.com/youar for supporting this work; please inform if applying a copyright-header is appropriate attribution.

### 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
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
Update Documentation opencv#26260

### 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
- [ ] 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
- Implemented a new `create` method in `FaceRecognizerSF` to allow model and configuration loading from memory buffers (std::vector<uchar>), similar to the existing functionality in `FaceDetectorYN`.
- Updated `face_recognize.cpp` with a new constructor in `FaceRecognizerSFImpl` that supports buffer-based loading for both model weights and network configuration.
- Ensured compatibility with both file-based and buffer-based model loading by maintaining consistent backend and target settings across both constructors.
- This change improves flexibility, allowing FaceRecognizerSF to be instantiated from memory buffers, which is useful for dynamic model loading scenarios such as embedded systems or applications where models are loaded in-memory.
migueldaipre and others added 9 commits October 18, 2024 08:37
imgcodecs: implement imencodemulti() opencv#26211

Close opencv#26207
### 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
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
Rewrote OpenCL-OpenGL-interop device discovery routine without extensions and with Apple support
…_c++26

C++26 Deprecated Enum Arithmetic Conversion: Fix core/mat.inl.hpp
doc: fix the position of toggle button opencv#26340 

Close opencv#26339 

### 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
…ream_ctx

cuda - update npp calls to use the new NppStreamContext API if available
@asmorkalov asmorkalov changed the title 5.x merge 4.x WIP: 5.x merge 4.x Oct 23, 2024
@asmorkalov asmorkalov force-pushed the 5.x-merge-4.x branch 3 times, most recently from b72a950 to afe2f9e Compare October 24, 2024 09:19
@asmorkalov asmorkalov requested review from fengyuentau, mshabunin and opencv-alalek and removed request for fengyuentau October 24, 2024 09:20
@asmorkalov
Copy link
Contributor Author

@vpisarev @WanliZhong Could you take a look on FP16 related changes in universal intrinsics. I tuned test types a bit and added overload template <> inline v_float16x8 v_setall_(float v) { return v_setall_f16((hfloat)v); }.

@asmorkalov asmorkalov changed the title WIP: 5.x merge 4.x 5.x merge 4.x Oct 24, 2024
@WanliZhong
Copy link
Member

@vpisarev @WanliZhong Could you take a look on FP16 related changes in universal intrinsics. I tuned test types a bit and added overload template <> inline v_float16x8 v_setall_(float v) { return v_setall_f16((hfloat)v); }.

I think the implementation code need to be changed, I'm fixing it now.

Copy link
Member

@WanliZhong WanliZhong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't push commits to this PR. Could you help me to add these modifications?

@asmorkalov
Copy link
Contributor Author

@WanliZhong Thanks for the review. All my changes are part of merge commit and do not contain description. I rpopose to not hide important changes, but just disable test in merge and add proper fix after merge.

@WanliZhong
Copy link
Member

@WanliZhong Thanks for the review. All my changes are part of merge commit and do not contain description. I rpopose to not hide important changes, but just disable test in merge and add proper fix after merge.

OK, then I will fix it after this brach merged.

@asmorkalov asmorkalov merged commit 8e55659 into opencv:5.x Oct 25, 2024
27 checks passed
asmorkalov pushed a commit that referenced this pull request Oct 26, 2024
Fix hfloat conflicts of v_func in merging 4.x to 5.x #26369

This PR solves the conflicts in merging 4.x to 5.x #26358
1. Explicitly convert the inputs number for `v_setall_` to hfloat number
2. Loosens the threshold for `v_sincos` test. (related issue: #26362)
3. Remove the new but temp api `template <> inline v_float16x8 v_setall_(float v) { return v_setall_f16((hfloat)v); }`

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.