Skip to content

Merge upstream 4.x (OpenCV 4.13.0)#2

Open
Breakthrough wants to merge 44 commits into
4.x-cudafrom
merge-upstream-4.13
Open

Merge upstream 4.x (OpenCV 4.13.0)#2
Breakthrough wants to merge 44 commits into
4.x-cudafrom
merge-upstream-4.13

Conversation

@Breakthrough

Copy link
Copy Markdown
Owner

Merges opencv/opencv-python 4.x at OpenCV 4.13.0 (42 upstream commits) into 4.x-cuda, replacing draft PR #1.

Conflict resolutions

  • setup.py: kept CUDA arch/flags block; adopted upstream's relaxed numpy pin (numpy>=2 for py>=3.9), linux-only OPENCV_FFMPEG_ENABLE_LIBAVDEVICE=OFF, Python 3.14 classifier. Package renamed opencv-python-cuda -> opencv_python_cuda mirroring upstream's PEP 625 underscore rename (wheel filenames already normalized).
  • build_wheels_windows.yml: kept our workflow (manual trigger, windows-2025 matrix runner, CUDA steps, no publish jobs); upstream's action bumps (checkout@v7, upload-artifact@v7, download-artifact@v8) merged in cleanly.
  • LICENSE-3RD-PARTY.txt: kept NVIDIA/CUDA additions, appended upstream's new KAZE + AKAZE blocks.
  • README.md: kept ours (upstream's 3.14 bullet was in a section we removed).
  • Deleted-by-us files stay deleted; also removed upstream's new Linux docker dirs (manylinux_2_28, musllinux_1_2) consistent with the Windows-only fork.
  • Submodules advance to 4.13.0 pins (opencv b4c5ec4, contrib d99ad2a, extra).

Why 4.13

  • Bakes in the CUDA 12.9 + MSVC 17.14+ /Zc:preprocessor fix (opencv#27522) we were exposed to on 4.12.
  • NVCUVID/NVCUVENC CMake detection is unchanged from 4.12, so the Video Codec SDK staging fix (92b5dbe) carries over as-is.
  • Unblocks CUDA 13 builds later (left disabled: CUDA 13 rearranged the Windows DLL layout, affects DLL bundling).

Validation

  • Clean CI build (restore_build_cache=false) green, check_codec_linked.py passes
  • Local: install wheel from neutral CWD, getBuildInformation() shows 4.13.0 + NVCUVID NVCUVENC, tools/probe_nvcodec.py decode/encode OK

🤖 Generated with Claude Code

avdivan and others added 30 commits July 31, 2025 14:25
* New manylinux_2_28 based invironment.

* Fixed typo.
---------
Co-authored-by: Alexander Smorkalov <alexander.smorkalov@opencv.ai>
…_4.13.0

Dependencies update for 4.13.0 release.
Switched MacOS Intel builds to own host
…_headless

Disable libavdevice for headless builds on Linux to get rid of X libs dependency
Updated supported Python versions section to include Python 3.14.
Add support for Python 3.14 in the README.
MDSALMANSHAMS and others added 13 commits June 9, 2026 15:32
The i686 build was the only architecture still pinning the old
ffmpeg 5.1.4 (libavcodec.so.59); every other arch/libc combination
(manylinux_2_28, manylinux2014 x86_64/aarch64, musllinux_1_2) already
builds ffmpeg 8.1.1. This aligns i686 with the rest and pulls in the
security fixes tracked in opencv#1212 and opencv#1228.

Verified: ffmpeg-8.1.1.tar.bz2 is published at the same release URL the
recipe uses, and all ffmpeg configure flags in this recipe
(--enable-openssl/libvpx/shared/pic) remain valid in 8.1.1. The i686
toolchain (NASM 2.15.04, OpenSSL 1.1.1w) matches the x86_64 recipe that
already ships 8.1.1, so build dependencies are unchanged.
Switch to Windows 2022 to use the same Visual Studio.
Fixed project naming to generate proper sdist archive names.
Add Python 3.14 support in README
Bump ffmpeg to 8.1.1 in manylinux2014 i686 build
…te_4.x

Standard github actions stetps update.
…st_4.x

Numpy package update for testing on Linux
@Breakthrough Breakthrough mentioned this pull request Jul 12, 2026
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.

8 participants