1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 15:23:05 +04:00

1058 Commits

Author SHA1 Message Date
Alexander Smorkalov 4c936e6c18 Merge pull request #29468 from aoguntayo:fix-mlas-s390x-missing-headers
mlas: add missing s390x ZVECTOR kernel headers to fix build
2026-07-14 10:45:51 +03:00
Abhishek Gola 42f41f749a Merge pull request #29516 from abhishek-gola:add_missing_mlas_support
3rdparty(mlas): add missing power (ppc64le) kernel headers #29516

Closes: https://github.com/opencv/opencv/issues/29465

### 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
2026-07-14 10:45:06 +03:00
Alexander Smorkalov abb0115648 Merge branch 4.x 2026-07-09 12:17:24 +03:00
Anu Oguntayo eafce2f0ce mlas: add missing s390x ZVECTOR kernel headers to fix build
The previous commit bdf348c13a introduced
MLAS support including the s390x backend, but accidentally omitted the
required internal header files. This causes a compilation failure on
s390x:

  fatal error: SgemmKernelZVECTOR.h: No such file or directory

This PR restores the build by adding the following missing headers from
upstream (microsoft/onnxruntime):

- FgemmKernelZVECTOR.h
- SgemmKernelZVECTOR.h

This is the same class of bug as #29422 (loongarch64), which was fixed
by PR #29423 for that architecture only.
2026-07-07 14:02:27 +01:00
吴小白 ee9c019556 mlas: add missing LoongArch64 kernel headers to fix build
Signed-off-by: 吴小白 <296015668@qq.com>
2026-07-02 11:50:07 +08:00
Alexander Smorkalov 5049343874 Merge pull request #29362 from varun-jaiswal17:fix/mlas-hgemm-static-link
Define MlasGemmSupported under MLAS_GEMM_ONLY
2026-06-23 09:18:52 +03:00
vrooomy 48a063158a define MlasGemmSupported under MLAS_GEMM_ONLY 2026-06-22 18:35:06 +05:30
ShivaPriyanShanmuga f831c94309 3rdparty(mlas): fix MinGW build of aligned scratch buffer
MlasThreadedBufAlloc() and its ThreadedBufHolder guarded the
_aligned_malloc / _aligned_free path on _MSC_VER. Non-MSVC Windows
toolchains (MinGW, clang) therefore fell through to posix_memalign(),
which the Windows CRT does not provide, so the build failed with
"'posix_memalign' was not declared in this scope".

Guard the aligned-allocation path on _WIN32 instead, in both the holder
declaration (mlasi.h) and definition (platform.cpp) so the unique_ptr
deleter type stays consistent across translation units, and include
<malloc.h> on Windows since MinGW only declares the _aligned_* functions
there. The non-Windows posix_memalign / aligned_alloc fallback is
unchanged.

Fixes #29350
2026-06-21 11:54:38 -04:00
Abhishek Gola bc11496dcb disable mlas assembly on windows 2026-06-19 15:32:54 +05:30
Vadim Pisarevsky a3a4d4adac Merge pull request #29300 from vpisarev:add_harfbuzz
Added harfbuzz; use it instead of STB to render text #29300

Merge with https://github.com/opencv/opencv_extra/pull/1378.

This is the next big step to improve font rendering in OpenCV 5.x. See #18760, #26301. See also OpenCV 5.0 release notes, where it was pointed out that complex scripts are not rendered correctly, and HarfBuzz integration is needed to fix it. So, here it is — HarfBuzz integration:

* Removed tweaked STB engine. STB truetype rendering engine was included into OpenCV 5.0-pre/5.0 and it was extended to instantiate and render variable fonts, but the support was incomplete and immature.
* Instead, we now use [HarfBuzz](https://github.com/harfbuzz/harfbuzz) — famous font shaping library and now also font rendering library, used by many big companies and organizations.
* As a result, we now correctly render complex scripts, such as arabic or devanagari, correctly handle font ligatures (ff, fi, ft etc.)

<img width="1300" height="600" alt="text_test" src="https://github.com/user-attachments/assets/a7d2c754-0fcf-40f8-8104-578f3a14850b" />

* Potentially, we could also support color emoji, but that would be a next step.
* As with STB-based engine, glyphs are cached (the same glyph from the same font is not rendered twice), so the performance should be on par with the previous engine.
* When OpenCV is built with `-DWITH_HARFBUZZ=ON`, which is set by default, it tries to detect HarfBuzz in the system and use it. If it's not detected, OpenCV builds our own small subset of HarfBuzz.

The following table compares size of libopencv_imgproc.dylib.5.0.0 (Release mode) in different configurations:

| Configuration                          | libopencv_imgproc (stripped) | delta vs 5.0 |
|----------------------------------------|------------------------------|----------|
| imgproc without text rendering (`-DWITH_HARFBUZZ=OFF`)  | 4.27 MB  |  −2.35 MB |
| imgproc with stb-based engine (5.0)      | 6.62 MB      |  0.0 Mb |
| imgproc with HarfBuzz-based engine (this PR)     | 7.07 MB      |  +0.45 MB |

The biggest source of the size increase when OpenCV is built with text rendering support (STB- or Harfbuzz-based) is that imgproc in this case includes .ttf fonts (Rubik and 'Wen Quan Yi Micro Hei'), which are gzip-compressed, but still have noticeable size, especially 'Wen Quan Yi' (~2Mb). HarfBuzz itself, compared to STB engine, adds just 0.45Mb, or ~7% to imgproc size. On other platforms (Linux x64, Windows), where IPP or other acceleration libraries are linked into libopencv_imgproc, the harfbuzz footprint is even less noticeable.

### 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
2026-06-16 10:05:32 +03:00
omrope79 37c9ab1815 Merge pull request #29226 from omrope79:fix_mlas_x86
Fix MLAS 32-bit x86 build by integrating missing upstream assembly files #29226

### Pull Request Readiness Checklist

This resolves the 32-bit x86 build failure for MLAS. Related to: https://github.com/opencv/opencv/pull/29218

* Added the required `x86` assembly files and headers from upstream.
* Added `__x86_64__` guards around the AMX `syscall` and the FMA3/AVX512F kernel assignments to prevent 32-bit compilation crashes.

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
2026-06-04 23:33:54 +03:00
Alexander Smorkalov a46c6d65d3 FFmpeg update for OpenCV 5.0 release. 2026-06-03 13:09:20 +03:00
Kumataro a99141acd7 build: show libjpeg-turbo version for bundled and system-wide libraries 2026-06-03 08:31:27 +09:00
Andrei Fedorov 483266c645 Merge pull request #29183 from intel-staging:reenable_icv
Reenable ICV and fix #29166 #29183

Fixing https://github.com/opencv/opencv/issues/29166 and return back the 2026.0.0 ICV.
Tests are passed locally on Windows machine. Feel free to check if they are passed in bigger test systems.

### 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
2026-05-30 09:11:59 +03:00
Alexander Smorkalov 3a4dc42478 Try to revert IPP update to fix access violation on Windows x64. 2026-05-28 21:46:49 +03:00
Abhishek Gola bf0cf34963 Merge pull request #29126 from abhishek-gola:flash_attention
Attention graph fusion with MLAS FlashAttention #29126

Performance numbers for Owl-v2 model on intel i9:
```
ORT: Average inference time over 10 runs: 1411.55 ms (min 1399.75, max 1438.89)
NEW: Average inference time over 10 runs: 1078 ms (min 1048.04, max 1110.61)
```
### 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
2026-05-27 09:32:27 +03:00
Alexander Smorkalov f251467b55 Fixed MLAS build with older versions of GCC. 2026-05-26 11:55:37 +03:00
Alexander Smorkalov d8263a9899 Merge branch 4.x 2026-05-25 17:49:25 +03:00
Alexander Smorkalov 8472efd791 Merge pull request #29120 from asmorkalov:as/png_warning_check
Libpng warning fix on Windows #29120

CI warning:
```
  Warning: C:\GHA-OCV-3\_work\opencv\opencv\opencv\3rdparty\libpng\pngread.c(4114,21): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\GHA-OCV-3\_work\opencv\opencv\build\3rdparty\libpng\libpng.vcxproj]
  Warning: C:\GHA-OCV-3\_work\opencv\opencv\opencv\3rdparty\libpng\pngwrite.c(2033,21): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\GHA-OCV-3\_work\opencv\opencv\build\3rdparty\libpng\libpng.vcxproj]
```

### 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
2026-05-25 08:39:58 +03:00
Abhishek Gola bdf348c13a Merge pull request #28934 from abhishek-gola:mlas_gemm
Added MLAS third party module and integrated into GeMM path #28934

### 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
2026-05-22 20:22:15 +03:00
Alexander Smorkalov c9070f9f35 Merge branch 4.x 2026-05-20 17:57:51 +03:00
Michael Klatis cd4d732442 Merge pull request #29051 from klatism:libpng-upgrade-1.6.57
libpng upgrade to 1.6.57 #29051

### 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
2026-05-18 17:14:24 +03:00
ekharkov 5073e1eb3a Updated ICV package to version 2026.0 2026-05-05 03:51:53 -07:00
Alexander Smorkalov d089304bb9 Merge branch 4.x 2026-04-29 16:36:02 +03:00
Michael Klatis 266a2989b2 Merge pull request #28779 from klatism:zlib-upgrade-1.3.2
Zlib upgrade 1.3.2 #28779

### 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
2026-04-28 17:49:35 +03:00
Alexander Smorkalov 1a6f669763 Merge branch 4.x 2026-04-09 18:44:48 +03:00
Alexander Smorkalov 443b748b25 Do not use AVX options on Windows ARM in libwebp. 2026-04-01 08:56:00 +03:00
Alexander Smorkalov 6c995c768f Merge branch 4.x 2026-02-20 22:05:35 +03:00
Alexander Smorkalov 82ff8e45e9 Merge branch 4.x 2026-02-14 15:37:33 +03:00
Alexander Smorkalov 70b42e7134 Merge pull request #28292 from intel-staging:ippicv/master_20250919
Update IPPICV binaries (20250919)
2026-01-21 09:01:19 +03:00
ekharkov a5b283c800 Update IPPICV binaries (20250919) 2026-01-05 23:25:59 +01:00
lebarsfa 207ac36ca2 opencv/3rdparty/libwebp/CMakeLists.txt: "/arch:AVX" should be only for Visual Studio, "-mavx" for MinGW and possibly other compilers 2025-12-28 00:09:17 +01:00
Alexander Smorkalov 497e9037b4 FFmpeg binaries update for Windows. 2025-12-26 10:52:37 +03:00
Alexander Smorkalov 3eb143cc22 Merge pull request #28139 from asmorkalov:as/webp_1.6.0
WebP update to version 1.6.0 #28139

### 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-12-13 12:44:01 +03:00
Alexander Smorkalov 1288aace98 libpng update to version 1.6.53. 2025-12-08 10:34:20 +03:00
Alexander Smorkalov bd54424f03 Merge pull request #28140 from asmorkalov:as/openjpeg_2.5.4
OpenJPEG update to 2.5.4 #28140

### 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-12-08 08:59:51 +03:00
Kumataro 29f44b4530 chore: Synchronize 3rdparty libpng version to 1.6.52 in README/CHANGES 2025-12-06 08:33:27 +09:00
Alexander Smorkalov 324d489e71 Updated libpng to v1.6.52 and added RISC-V optimimizations. (#28111)
* Updated libpng to v1.6.51 and added RISC-V optimimizations.

* Force 3rdparty build for CI test.

* Added RISC-V RVV diagnostics for PNG.

* RISC-V RVV diagnostic fix.

* Disabled incorrect in-place flip HAL on RISC-V RVV.

* Disabled risc-v rvv of  png_read_filter_row_paeth in libpng.

* Set PNG simd configuration defaults accornding to OpenCV settings.

* Update to libpng 1.6.52 with RISC-V RVV fix.

* Build fix for RISC-V RVV.

* Reverted CI changes.
2025-12-05 17:17:22 +03:00
Alexander Smorkalov 98d065370c Build fix for RISC-V RVV. 2025-12-05 08:08:36 +03:00
Alexander Smorkalov d88f080b7e Update to libpng 1.6.52 with RISC-V RVV fix. 2025-12-05 07:52:26 +03:00
Alexander Smorkalov ab23a89975 Set PNG simd configuration defaults accornding to OpenCV settings. 2025-12-04 18:07:21 +03:00
Alexander Smorkalov e669a955c7 Disabled risc-v rvv of png_read_filter_row_paeth in libpng. 2025-12-04 16:35:02 +03:00
Alexander Smorkalov 1d8d76cd50 RISC-V RVV diagnostic fix. 2025-12-04 11:28:32 +03:00
Alexander Smorkalov e3fe5a5681 Merge pull request #28112 from asmorkalov:as/jpeg_turbo_3.1.2
Merge pull request #28112 from asmorkalov:as/jpeg_turbo_3.1.2

### Pull Request Readiness Checklist

Previous update: https://github.com/opencv/opencv/pull/27031

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-12-03 10:26:44 +03:00
Alexander Smorkalov e466110245 Merge branch 4.x 2025-12-02 15:38:19 +03:00
Alexander Smorkalov 2c8cfdebde Added RISC-V RVV diagnostics for PNG. 2025-12-02 10:40:01 +03:00
Alexander Smorkalov e47916120f Updated libpng to v1.6.51 and added RISC-V optimimizations. 2025-12-01 13:47:27 +03:00
Dmitry Kurtaev 895be753ac Update FlatBuffers source code to 25.9.23 2025-11-27 18:31:10 +03:00
Alexander Smorkalov 1b6fb61b89 Merge branch 4.x 2025-11-18 08:51:08 +03:00
Samaresh Kumar Singh 7224bced8b Fix #27961: Support reproducible builds by making host system version optional
Add BUILD_INFO_SKIP_SYSTEM_VERSION option to exclude the host kernel version
from build outputs, enabling reproducible builds across systems with different
kernel versions.

Changes:
- Modified CMakeLists.txt to conditionally include CMAKE_HOST_SYSTEM_VERSION
  in the build platform status based on BUILD_INFO_SKIP_SYSTEM_VERSION flag
- Updated 3rdparty/tbb/CMakeLists.txt to set TBB_HOST_VERSION conditionally
- Modified 3rdparty/tbb/version_string.ver.cmakein to use the new variable

When BUILD_INFO_SKIP_SYSTEM_VERSION=ON is set, the host system version is
excluded from both the CMake status output and the TBB version strings,
producing identical binaries on equivalent build systems regardless of
kernel version differences.

Default behavior is unchanged (version included) for backward compatibility.

Fixes #27961
2025-11-08 09:16:11 -06:00