1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-21 19:33:03 +04:00
Commit Graph

53 Commits

Author SHA1 Message Date
Pratham Kumar eadaab5fbb Merge pull request #28664 from pratham-mcw:armpl_dft_opt
Add ARMPL support for DFT Function #28664

- This PR introduces hal/armpl/ with implementation of 1D, 2D DFT and DCT routines using ARM Performance Libraries as a custom HAL replacement for OpenCV's DFT & DCT Function.
- ArmPL MSI package is automatically downloaded and extracted via CMake when building on Windows ARM64, with a WITH_ARMPL option that defaults to ON for that platform.
- Forward and inverse real DFT calls in dxt.cpp are routed through ArmPL when available, with scaling applied only when needed.
- Test error thresholds in test_dxt.cpp are relaxed (from 1e-5 to 2e-4 for float ) to account for numerical differences between ArmPL and OpenCV's reference DFT results.

**Performance Benchmarks :**
<img width="993" height="835" alt="image" src="https://github.com/user-attachments/assets/76def647-6d20-4bce-8bc9-7363e723669f" />

- [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
2026-05-14 10:56:21 +03:00
Chevi koren 1f8257adad Merge pull request #28423 from Chevi-Koren:fix-clp-vcpkg-final
Fix Clp library detection for vcpkg on Windows #28423

## Problem

Building OpenCV with `WITH_CLP=ON` on Windows (vcpkg) fails:

LINK : fatal error LNK1181: cannot open input file 'libClp.lib'

vcpkg generates `Clp.lib` and `CoinUtils.lib`, but OpenCV expected `libClp.lib`/`libCoinUtils.lib`.

## Solution

Modernize CLP detection with a robust, platform-aware approach:

1. **CMake `find_package(Clp CONFIG)`**: detects vcpkg and uses imported targets (`Coin::Clp`, `Coin::CoinUtils`)
2. **Fallback**: pkg-config on Unix/Linux  
3. **Skip** Android/iOS

## Benefits

 Fixes Windows build with vcpkg  
 Uses modern CMake targets  
 Backward compatible with Unix/Linux  
 Safe for CI and mobile builds  
 Graceful fallback if CLP unavailable  

## Testing

- **Windows 11 + vcpkg**: build succeeds
- **No CLP installed**: configure/build succeeds  
- **Linux/Unix**: existing workflows unaffected
- **Android/iOS**: properly skipped

## Changes

- Update `cmake/OpenCVFindLibsPerf.cmake`
- Replace hardcoded library names with CMake targets
- Add mobile platform guards
- Preserve backward compatibility

Fixes #26592

---

### Pull Request Readiness Checklist

- [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 (`4.x`)
- [x] There is a reference to the original bug report and related work (#26592)
- [x] The feature is well documented and sample code can be built with the project CMake
- [x] No additional tests required - this is a build system fix that maintains existing functionality
2026-04-29 11:40:23 +03:00
Kumataro 468de9b367 Merge pull request #27536 from Kumataro:fix27530
eigen: fix to get version from eigen after v3.4.0 #27536

Close https://github.com/opencv/opencv/issues/27530

### 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
2025-07-14 19:09:24 +03:00
Alexander Smorkalov 0806124ac7 Try to add FastCV to OpenCV4AndroidSDK 2025-05-24 18:49:11 +03:00
Alexander Smorkalov 4530206445 Merge pull request #27340 from asmorkalov:apreetam_5thPost
Update hash for the fastcv libs for both Linux and Android #27340

Replaces https://github.com/opencv/opencv/pull/27290
Updated libs PR: https://github.com/opencv/opencv_3rdparty/pull/95

### 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
2025-05-21 10:24:13 +03:00
Alexander Smorkalov 19c4d97638 Merge pull request #27252 from asmorkalov:as/extract_hal
Extract all HALs from 3rdparty to dedicated folder. #27252

### 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
2025-04-25 14:56:42 +03:00
Alexander Smorkalov 250ea3d7c6 Fixed Android build with FastCV. 2025-04-16 16:26:05 +03:00
Alexander Smorkalov 5921aae2b3 Switch to static instance of FastCV on Linux. 2025-02-13 15:58:25 +03:00
Alexander Smorkalov 745a12c03b Sevral fixes for FastCV handling. 2024-12-26 09:54:09 +03:00
Alexander Smorkalov 5f1b05af0e Merge pull request #26556 from asmorkalov:FastcvHAL_1stPost
Added Fastcv HAL changes in the 3rdparty folder.
Code Changes includes HAL code , Fastcv libs and Headers

Change-Id: I2f0ddb1f57515c82ae86ba8c2a82965b1a9626ec

Requires binaries from https://github.com/opencv/opencv_3rdparty/pull/86.
Related patch to opencv_contrib: https://github.com/opencv/opencv_contrib/pull/3811

### 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
2024-12-02 10:50:38 +03:00
Alexander Smorkalov c3ca3f4f00 Fixed KLEIDICV_SOURCE_PATH handling for extenral KleidiCV. 2024-11-21 11:50:25 +03:00
Alexander Smorkalov 1a775198ce Skip KleidiCV in offline build. 2024-11-13 15:13:19 +03:00
cudawarped 7d681cf80d build: first class cuda support 2023-12-26 09:39:18 +03:00
Maksim Shabunin 6465e393b6 IPP: use linker workaround for Intel compiler on Linux 2021-04-02 10:44:32 +03:00
Alexander Alekhin ac418e999d cmake: update condition for find_package(Eigen3 CONFIG) 2020-11-22 16:28:53 +00:00
Alexander Alekhin a6e15b2f57 cmake: prefer using Eigen configuration files
- for better compatibility with Ceres 2.0.0 CMake scripts
2020-11-05 17:01:23 +00:00
Alexander Alekhin 85a59ef292 cmake: hide IPPICV symbols using --exclude-libs 2020-02-04 18:11:07 +03:00
Sergiu Deitsch bc4b2d521c Merge pull request #13337 from sergiud:eigen-cross-compile
* added support for Eigen cross-compilation

* cmake: fix Eigen detection
2019-05-20 21:05:42 +03:00
Alexander Alekhin 0d747daf47 cmake: use absolute library paths from 'pkgconfig'
- drop legacy check_module() macro
- drop 'ALIASOF_'
2019-04-15 22:11:49 +00:00
Ivan Pozdeev dbc6fe3a0f Detect cross-cutting frameworks before libraries so the latter can use them 2018-11-01 18:16:41 +03:00
Alexander Alekhin e86287d8ae cleanup: IPP Async (IPP_A)
except header file with conversion routines (will be removed in OpenCV 4.0)
2018-08-30 18:53:07 +03:00
Kuang Fangjun 9ae28415ec fix doc. 2018-06-03 17:44:24 +08:00
Alexander Alekhin 4990506948 cuda: WITH_CUDA=OFF by default (need to enable it explicitly) 2018-04-05 19:23:58 +00:00
Alexander Alekhin 5f9bb6249e android: IPPICV static libraries workarounds for NDK 16 2018-01-05 04:52:17 +00:00
Alexander Alekhin 6ff9fc67bb build: HAVE_LIBPTHREAD, HAVE_PTHREAD(S) => HAVE_PTHREAD 2017-08-14 10:59:38 +03:00
Alexander Alekhin 9496fe40ec cmake: guard scanning of default MKL system-wide paths
- WITH_MKL option is enabled
- user doesn't specify MKLROOT/MKL_ROOT_DIR variables
2017-06-21 02:44:48 +00:00
Pavel Vlasov 35c7216846 IPP for OpenCV 2017u2 initial enabling patch; 2017-04-20 20:26:30 +03:00
Vadim Pisarevsky ad74fdd7cc moved BLAS/LAPACK detection scripts from opencv_contrib/dnn to the main repository (#7918)
* moved BLAS/LAPACK detection scripts from opencv_contrib/dnn to the main repository.

* trying to fix the bug with undefined symbols sgesdd_ and dgesdd_

* removed extra whitespaces; disabled LAPACK on IOS
2016-12-22 22:57:44 +03:00
Sovrasov a3b4d4608d Static Lapack linkage 2016-08-17 11:33:09 +03:00
Vladislav Sovrasov a113d9bcc1 Add MKL support 2016-08-10 11:20:23 +03:00
Alexander Alekhin ee4f409584 cmake: lapack optimized code requires cblas.h 2016-06-30 20:25:08 +03:00
Vladislav Sovrasov a2d0cc878c Implement internal HAL for GEMM and matrix decompositions 2016-06-03 10:38:30 +03:00
Alexander Alekhin a482dcce46 fix support for pthreads parallel_for 2015-06-11 16:53:07 +03:00
kalistratovag bf5393ae58 parallel for on pthreads initial commit
removing trailing whitespaces

Compilation error on Mac fix & warning on android

Warnings fixed on iOs
2015-06-01 17:48:21 +03:00
Ilya Lavrenov bb72206ec5 ability to enable OpenMP simultaneously with other parallel framework 2015-05-26 18:08:28 +02:00
Alexander Alekhin 1461ab41bc ipp: added support for updated ICV package 2014-04-09 18:20:49 +04:00
Andrey Pavlenko 9ec823d800 Merge pull request #2538 from ElenaGvozdeva:ipp_async_convert 2014-04-08 11:05:30 +04:00
Alexander Alekhin bfc546d23c enable IPP ICV support 2014-04-03 15:05:38 +04:00
Elena Gvozdeva fa2d79a15b Added IPP Async converters, doc and sample 2014-04-01 16:47:29 +04:00
Roman Donchenko 78be4f66f7 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	CMakeLists.txt
	modules/calib3d/src/calibration.cpp
	modules/ocl/src/cl_programcache.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/imgproc.cpp
	samples/ocl/adaptive_bilateral_filter.cpp
	samples/ocl/bgfg_segm.cpp
	samples/ocl/clahe.cpp
	samples/ocl/facedetect.cpp
	samples/ocl/pyrlk_optical_flow.cpp
	samples/ocl/squares.cpp
	samples/ocl/surf_matcher.cpp
	samples/ocl/tvl1_optical_flow.cpp
2013-10-28 13:38:25 +04:00
Roman Donchenko f82eb0f79c Add better OpenMP detection and make an option to enable it.
Bug report and inspiration: http://code.opencv.org/issues/3328
2013-10-22 18:47:37 +04:00
Roman Donchenko 9b92545ce6 War on Whitespace, master edition: trailing spaces. 2013-08-27 13:57:24 +04:00
Andrey Kamaev 67073daf19 Merge branch '2.4' 2013-04-05 21:11:59 +04:00
Andrey Kamaev fa64f28c6b Fix binary directory used in CMake try_compile commands
Old paths can have problems with cross-compilation
2013-04-04 15:43:49 +04:00
Andrey Kamaev 262fc929aa Merge branch '2.4' 2013-02-18 15:35:42 +04:00
Andrey Kamaev c7df17e77b Detect and report parallel framework used 2013-02-13 15:09:30 +04:00
Anatoly Baksheev 275ab53ebc Added default Eigen search path to support Eigen that comes with PCL 2012-10-23 15:12:39 +04:00
Andrey Kamaev 7225f89ea2 Revert opencv_videostab to the state of 2.4.2 2012-10-17 02:09:43 +04:00
Vadim Pisarevsky e625d86485 added C= support; modified threading logic in threshold 2012-10-10 15:36:32 +04:00
Vadim Pisarevsky a63669f819 fixed linking CLP in the case of MinGW (patch #1872) 2012-10-08 22:24:38 +04:00