This PR is intended to fix #25265. In order to do it we should:
Add proper reproducer as a test (done)
Fix implementation to use correct vector types (done)
Test for boundingRect has been converted to modern scheme and parametrized. Also increased test boundaries and added separate alignment test. In order to reproduce the issue one needs to build and run this test on ARMv7 board or emulate using C++ intrinsics with alignment checks (-DOPENCV_EXTRA_CXX_FLAGS="-DCV_STRONG_ALIGNMENT=1 -DCV_FORCE_SIMD128_CPP=1"). To activate second changed block (#if CV_SIMD_WIDTH > 16) use -DCPU_BASELINE=AVX2.
This PR is intended to fix #25265. In order to do it we should:
Test for boundingRect has been converted to modern scheme and parametrized. Also increased test boundaries and added separate alignment test. In order to reproduce the issue one needs to build and run this test on ARMv7 board or emulate using C++ intrinsics with alignment checks (
-DOPENCV_EXTRA_CXX_FLAGS="-DCV_STRONG_ALIGNMENT=1 -DCV_FORCE_SIMD128_CPP=1"
). To activate second changed block (#if CV_SIMD_WIDTH > 16
) use-DCPU_BASELINE=AVX2
.