From d8027b43c4aa53aa67a9eb526c41e29a1cf3b648 Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 5 Jun 2024 21:06:55 +0800 Subject: [PATCH] update opencv 4.10.0 (#121) --- .github/workflows/release.yml | 54 +-- README.md | 90 ++--- ... => opencv-4.10.0-drawing-mono-font.patch} | 30 +- patches/opencv-4.10.0-link-openmp.patch | 65 +++ ...ch => opencv-4.10.0-minimal-install.patch} | 32 +- ...ic.patch => opencv-4.10.0-no-atomic.patch} | 14 +- ...o-gpu.patch => opencv-4.10.0-no-gpu.patch} | 371 +++++++++++------- ...rtti.patch => opencv-4.10.0-no-rtti.patch} | 118 +++--- patches/opencv-4.10.0-no-zlib.patch | 12 + ....patch => opencv-4.10.0-unsafe-xadd.patch} | 8 +- patches/opencv-4.9.0-link-openmp.patch | 65 --- patches/opencv-4.9.0-no-zlib.patch | 12 - 12 files changed, 470 insertions(+), 401 deletions(-) rename patches/{opencv-4.9.0-drawing-mono-font.patch => opencv-4.10.0-drawing-mono-font.patch} (74%) create mode 100644 patches/opencv-4.10.0-link-openmp.patch rename patches/{opencv-4.9.0-minimal-install.patch => opencv-4.10.0-minimal-install.patch} (72%) rename patches/{opencv-4.9.0-no-atomic.patch => opencv-4.10.0-no-atomic.patch} (60%) rename patches/{opencv-4.9.0-no-gpu.patch => opencv-4.10.0-no-gpu.patch} (85%) rename patches/{opencv-4.9.0-no-rtti.patch => opencv-4.10.0-no-rtti.patch} (75%) create mode 100644 patches/opencv-4.10.0-no-zlib.patch rename patches/{opencv-4.9.0-unsafe-xadd.patch => opencv-4.10.0-unsafe-xadd.patch} (81%) delete mode 100644 patches/opencv-4.9.0-link-openmp.patch delete mode 100644 patches/opencv-4.9.0-no-zlib.patch diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8985dfd..be837b5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -153,7 +153,7 @@ jobs: zip -9 -r opencv-mobile-${{ env.opencv-version }}.zip opencv-mobile-${{ env.opencv-version }} - name: opencv4-source env: - opencv-version: 4.9.0 + opencv-version: 4.10.0 run: | wget -q https://github.com/opencv/opencv/archive/${{ env.opencv-version }}.zip -O opencv-${{ env.opencv-version }}.zip unzip -q opencv-${{ env.opencv-version }}.zip @@ -234,15 +234,15 @@ jobs: - name: upload-opencv4-source uses: actions/upload-artifact@v4 with: - name: opencv-mobile-4.9.0-source - path: opencv-mobile-4.9.0.zip + name: opencv-mobile-4.10.0-source + path: opencv-mobile-4.10.0.zip android: needs: [setup] runs-on: ubuntu-latest strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake \ @@ -342,7 +342,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -414,7 +414,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -496,7 +496,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" \ @@ -556,7 +556,7 @@ jobs: if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20' run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV - name: set-opencv-dir - if: matrix.opencv-version == '4.9.0' + if: matrix.opencv-version == '4.10.0' run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV - name: test-arm-linux-gnueabi run: | @@ -590,7 +590,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -676,7 +676,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -758,7 +758,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -840,7 +840,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -922,7 +922,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -1004,7 +1004,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -1086,7 +1086,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -1158,7 +1158,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \ @@ -1239,7 +1239,7 @@ jobs: needs: [setup] strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] os-compiler: - { msvc-version: vs2015, windows-version: 2019, toolset-version: v140 } - { msvc-version: vs2017, windows-version: 2019, toolset-version: v141 } @@ -1303,7 +1303,7 @@ jobs: needs: [setup] strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] os-ubuntu: - { ubuntu-id: 2004, ubuntu-version: 20.04 } - { ubuntu-id: 2204, ubuntu-version: 22.04 } @@ -1338,7 +1338,7 @@ jobs: if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20' run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV - name: set-opencv-dir - if: matrix.opencv-version == '4.9.0' + if: matrix.opencv-version == '4.10.0' run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV - name: test run: | @@ -1357,7 +1357,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] env: COMMON_CMAKE_OPTIONS: | -DCMAKE_TOOLCHAIN_FILE=../emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \ @@ -1443,7 +1443,7 @@ jobs: if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20' run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV - name: set-opencv-dir - if: matrix.opencv-version == '4.9.0' + if: matrix.opencv-version == '4.10.0' run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV - name: test run: | @@ -1492,7 +1492,7 @@ jobs: runs-on: macos-13 strategy: matrix: - opencv-version: [2.4.13.7, 3.4.20, 4.9.0] + opencv-version: [2.4.13.7, 3.4.20, 4.10.0] steps: - run: sudo xcode-select --switch /Applications/Xcode_15.2.app - uses: actions/checkout@v4 @@ -1691,12 +1691,12 @@ jobs: - uses: actions/checkout@v4 - uses: actions/download-artifact@v4 with: - name: opencv-mobile-4.9.0-source + name: opencv-mobile-4.10.0-source - name: setup-opencv-source run: | - unzip -q opencv-mobile-4.9.0.zip - echo "SOURCE_DIR=opencv-mobile-4.9.0" >> $GITHUB_ENV - echo "PACKAGE_NAME=opencv-mobile-4.9.0-${{ matrix.name }}" >> $GITHUB_ENV + unzip -q opencv-mobile-4.10.0.zip + echo "SOURCE_DIR=opencv-mobile-4.10.0" >> $GITHUB_ENV + echo "PACKAGE_NAME=opencv-mobile-4.10.0-${{ matrix.name }}" >> $GITHUB_ENV - name: setup-toolchain run: ${{ matrix.setup-toolchain-cmd }} @@ -1704,7 +1704,7 @@ jobs: if: ${{ matrix.single-core }} run: | cd ${{ env.SOURCE_DIR }} - patch -p1 -i ../patches/opencv-4.9.0-no-atomic.patch + patch -p1 -i ../patches/opencv-4.10.0-no-atomic.patch mkdir build && cd build ${{ matrix.setup-env-cmd }} cmake ${{ env.COMMON_CMAKE_OPTIONS }} ${{ matrix.cmake-options }} \ diff --git a/README.md b/README.md index 68deb32..779b170 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,13 @@ :heavy_check_mark: Packages for **Windows**, **Linux**, **MacOS** and **WebAssembly** are available now. -:heavy_check_mark: We provide prebuild binary packages for opencv **2.4.13.7**, **3.4.20** and **4.9.0**. +:heavy_check_mark: We provide prebuild binary packages for opencv **2.4.13.7**, **3.4.20** and **4.10.0**. :heavy_check_mark: We also provide prebuild package for **Mac-Catalyst**, **watchOS**, **tvOS**, **visionOS** and **Apple xcframework**. :heavy_check_mark: All the binaries are compiled from source on github action, **no virus**, **no backdoor**, **no secret code**. -|opencv 4.9.0 package size|The official opencv|opencv-mobile| +|opencv 4.10.0 package size|The official opencv|opencv-mobile| |:-:|:-:|:-:| |source zip|93.0 MB|8.34 MB| |android|242 MB|17.3 MB| @@ -43,7 +43,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0.zip) @@ -57,7 +57,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-android.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-android.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-android.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-android.zip) @@ -71,7 +71,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ios.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ios.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-ios.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-ios.zip) @@ -81,7 +81,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ios-simulator.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ios-simulator.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-ios-simulator.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-ios-simulator.zip) @@ -95,7 +95,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-macos.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-macos.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-macos.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-macos.zip) @@ -105,7 +105,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-mac-catalyst.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-mac-catalyst.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-mac-catalyst.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-mac-catalyst.zip) @@ -115,7 +115,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-watchos.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-watchos.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-watchos.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-watchos.zip) @@ -125,7 +125,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-watchos-simulator.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-watchos-simulator.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-watchos-simulator.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-watchos-simulator.zip) @@ -135,7 +135,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-tvos.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-tvos.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-tvos.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-tvos.zip) @@ -145,7 +145,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-tvos-simulator.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-tvos-simulator.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-tvos-simulator.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-tvos-simulator.zip) @@ -155,7 +155,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-visionos.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-visionos.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-visionos.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-visionos.zip) @@ -165,7 +165,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-visionos-simulator.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-visionos-simulator.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-visionos-simulator.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-visionos-simulator.zip) @@ -175,7 +175,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-apple.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-apple.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-apple.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-apple.zip) @@ -189,7 +189,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ubuntu-2004.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ubuntu-2004.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-ubuntu-2004.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-ubuntu-2004.zip) @@ -199,7 +199,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ubuntu-2204.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ubuntu-2204.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-ubuntu-2204.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-ubuntu-2204.zip) @@ -213,7 +213,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2015.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2015.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-windows-vs2015.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-windows-vs2015.zip) @@ -223,7 +223,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2017.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2017.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-windows-vs2017.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-windows-vs2017.zip) @@ -233,7 +233,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2019.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2019.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-windows-vs2019.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-windows-vs2019.zip) @@ -243,7 +243,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2022.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2022.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-windows-vs2022.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-windows-vs2022.zip) @@ -257,7 +257,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-webassembly.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-webassembly.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-webassembly.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-webassembly.zip) @@ -271,7 +271,7 @@ https://github.com/nihui/opencv-mobile/releases/latest [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-armlinux.zip) [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-armlinux.zip) - [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0-armlinux.zip) + [](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-armlinux.zip) @@ -294,8 +294,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
riscv64-linux-musl
✅ HW JPG decoder
✅ MIPI CSI camera
- - opencv4-milkv-duo + + opencv4-milkv-duo @@ -306,8 +306,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
riscv64-linux-musl
✅ HW JPG decoder
✅ MIPI CSI camera
- - opencv4-licheerv-nano + + opencv4-licheerv-nano @@ -318,8 +318,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
arm-linux-uclibcgnueabihf
✅ HW JPG encoder
✅ MIPI CSI camera
- - opencv4-luckfox-pico + + opencv4-luckfox-pico @@ -330,8 +330,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
yuzuki-lizard
arm-linux-uclibcgnueabihf
- - opencv4-yuzuki-lizard + + opencv4-yuzuki-lizard @@ -343,8 +343,8 @@ https://github.com/nihui/opencv-mobile/releases/latest ✅ HW JPG decoder
✅ HW JPG encoder
✅ MIPI CSI camera
- - opencv4-tinyvision + + opencv4-tinyvision @@ -355,8 +355,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
arm-openwrt-linux-gnueabi
✅ HW JPG decoder
✅ HW JPG encoder
- - opencv4-yuzuki-chameleon + + opencv4-yuzuki-chameleon @@ -367,8 +367,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
purple-pi
arm-linux-uclibcgnueabihf
- - opencv4-purple-pi + + opencv4-purple-pi @@ -379,8 +379,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
arm-linux-gnueabi
✅ HW JPG decoder
✅ HW JPG encoder
- - opencv4-myir-t113i + + opencv4-myir-t113i @@ -395,7 +395,7 @@ https://github.com/nihui/opencv-mobile/releases/latest 2. Modify ```/app/src/main/jni/CMakeListst.txt``` to find and link opencv ```cmake -set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.9.0-android/sdk/native/jni) +set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.10.0-android/sdk/native/jni) find_package(OpenCV REQUIRED) target_link_libraries(your_jni_target ${OpenCV_LIBS}) @@ -412,7 +412,7 @@ target_link_libraries(your_jni_target ${OpenCV_LIBS}) 3. Pass ```-DOpenCV_STATIC=ON``` to cmake option for windows build ```cmake -set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.9.0-armlinux/arm-linux-gnueabihf/lib/cmake/opencv4) +set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.10.0-armlinux/arm-linux-gnueabihf/lib/cmake/opencv4) find_package(OpenCV REQUIRED) target_link_libraries(your_target ${OpenCV_LIBS}) @@ -431,9 +431,9 @@ The opencv-mobile source code package is the result of steps 1 and 2. Based on i **step 1. download opencv-mobile source** ```shell -wget -q https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.9.0.zip -unzip -q opencv-mobile-4.9.0.zip -cd opencv-mobile-4.9.0 +wget -q https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0.zip +unzip -q opencv-mobile-4.10.0.zip +cd opencv-mobile-4.10.0 ``` **step 2. apply your opencv option changes to options.txt** @@ -455,7 +455,7 @@ make install **step 4. make a package** ```shell -zip -r -9 opencv-mobile-4.9.0-mypackage.zip install +zip -r -9 opencv-mobile-4.10.0-mypackage.zip install ``` # Some notes diff --git a/patches/opencv-4.9.0-drawing-mono-font.patch b/patches/opencv-4.10.0-drawing-mono-font.patch similarity index 74% rename from patches/opencv-4.9.0-drawing-mono-font.patch rename to patches/opencv-4.10.0-drawing-mono-font.patch index c0ea4a5..1177975 100644 --- a/patches/opencv-4.9.0-drawing-mono-font.patch +++ b/patches/opencv-4.10.0-drawing-mono-font.patch @@ -1,16 +1,16 @@ -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modules/imgproc/src/drawing.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/imgproc/src/drawing.cpp 2024-01-17 19:33:56.027209779 +0800 -@@ -40,6 +40,8 @@ - //M*/ +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/drawing.cpp opencv-4.10.0/modules/imgproc/src/drawing.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/drawing.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/imgproc/src/drawing.cpp 2024-06-04 21:05:11.279908634 +0800 +@@ -41,6 +41,8 @@ #include "precomp.hpp" + using namespace cv; +#include "draw_text.h" + namespace cv { -@@ -2075,6 +2077,7 @@ void polylines( InputOutputArray _img, c +@@ -2076,6 +2078,7 @@ void polylines( InputOutputArray _img, c } @@ -18,7 +18,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul enum { FONT_SIZE_SHIFT=8, FONT_ITALIC_ALPHA=(1 << 8), FONT_ITALIC_DIGIT=(2 << 8), FONT_ITALIC_PUNCT=(4 << 8), FONT_ITALIC_BRACES=(8 << 8), FONT_HAVE_GREEK=(16 << 8), -@@ -2289,6 +2292,7 @@ inline void readCheck(int &c, int &i, co +@@ -2290,6 +2293,7 @@ inline void readCheck(int &c, int &i, co } extern const char* g_HersheyGlyphs[]; @@ -26,7 +26,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul void putText( InputOutputArray _img, const String& text, Point org, int fontFace, double fontScale, Scalar color, -@@ -2302,6 +2306,35 @@ void putText( InputOutputArray _img, con +@@ -2303,6 +2307,35 @@ void putText( InputOutputArray _img, con return; } Mat img = _img.getMat(); @@ -62,7 +62,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul const int* ascii = getFontData(fontFace); double buf[4]; -@@ -2356,10 +2389,21 @@ void putText( InputOutputArray _img, con +@@ -2357,10 +2390,21 @@ void putText( InputOutputArray _img, con } view_x += dx; } @@ -84,7 +84,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul Size size; double view_x = 0; const char **faces = cv::g_HersheyGlyphs; -@@ -2386,10 +2430,13 @@ Size getTextSize( const String& text, in +@@ -2387,10 +2431,13 @@ Size getTextSize( const String& text, in if( _base_line ) *_base_line = cvRound(base_line*fontScale + thickness*0.5); return size; @@ -98,7 +98,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul // By https://stackoverflow.com/a/27898487/1531708 const int* ascii = getFontData(fontFace); -@@ -2397,6 +2444,7 @@ double getFontScaleFromHeight(const int +@@ -2398,6 +2445,7 @@ double getFontScaleFromHeight(const int int cap_line = (ascii[0] >> 4) & 15; return static_cast(pixelHeight - static_cast((thickness + 1)) / 2.0) / static_cast(cap_line + base_line); @@ -106,7 +106,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul } } -@@ -2895,7 +2943,7 @@ cvInitFont( CvFont *font, int font_face, +@@ -2883,7 +2931,7 @@ cvInitFont( CvFont *font, int font_face, { CV_Assert( font != 0 && hscale > 0 && vscale > 0 && thickness >= 0 ); @@ -115,9 +115,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/drawing.cpp opencv-4.9.0/modul font->font_face = font_face; font->hscale = (float)hscale; font->vscale = (float)vscale; -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/hershey_fonts.cpp opencv-4.9.0/modules/imgproc/src/hershey_fonts.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/hershey_fonts.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/imgproc/src/hershey_fonts.cpp 2024-01-17 19:33:56.027209779 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/hershey_fonts.cpp opencv-4.10.0/modules/imgproc/src/hershey_fonts.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/hershey_fonts.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/imgproc/src/hershey_fonts.cpp 2024-06-04 21:05:11.280908629 +0800 @@ -51,6 +51,7 @@ namespace cv { diff --git a/patches/opencv-4.10.0-link-openmp.patch b/patches/opencv-4.10.0-link-openmp.patch new file mode 100644 index 0000000..0c96465 --- /dev/null +++ b/patches/opencv-4.10.0-link-openmp.patch @@ -0,0 +1,65 @@ +diff -Nuarp opencv-4.10.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.10.0/cmake/OpenCVGenConfig.cmake +--- opencv-4.10.0.orig/cmake/OpenCVGenConfig.cmake 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/cmake/OpenCVGenConfig.cmake 2024-06-04 21:00:46.778862221 +0800 +@@ -19,6 +19,10 @@ if(HAVE_CUDA) + endif() + endif() + ++if(HAVE_OPENMP) ++ ocv_cmake_configure("${CMAKE_CURRENT_LIST_DIR}/templates/OpenCVConfig-OPENMP.cmake.in" OPENMP_CONFIGCMAKE @ONLY) ++endif() ++ + if(ANDROID) + if(NOT ANDROID_NATIVE_API_LEVEL) + set(OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE 0) +diff -Nuarp opencv-4.10.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.10.0/cmake/templates/OpenCVConfig.cmake.in +--- opencv-4.10.0.orig/cmake/templates/OpenCVConfig.cmake.in 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/cmake/templates/OpenCVConfig.cmake.in 2024-06-04 21:01:05.274804136 +0800 +@@ -94,6 +94,7 @@ endif() + + + @CUDA_CONFIGCMAKE@ ++@OPENMP_CONFIGCMAKE@ + @ANDROID_CONFIGCMAKE@ + + @IPPICV_CONFIGCMAKE@ +diff -Nuarp opencv-4.10.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in opencv-4.10.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in +--- opencv-4.10.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in 1970-01-01 08:00:00.000000000 +0800 ++++ opencv-4.10.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in 2024-06-04 21:01:34.441712541 +0800 +@@ -0,0 +1,5 @@ ++set(OpenCV_USE_OPENMP "@HAVE_OPENMP@") ++ ++if(OpenCV_USE_OPENMP) ++ find_package(OpenMP) ++endif() +diff -Nuarp opencv-4.10.0.orig/modules/core/CMakeLists.txt opencv-4.10.0/modules/core/CMakeLists.txt +--- opencv-4.10.0.orig/modules/core/CMakeLists.txt 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/CMakeLists.txt 2024-06-04 20:59:13.030307438 +0800 +@@ -190,8 +190,14 @@ if(HAVE_HPX) + ocv_target_link_libraries(${the_module} LINK_PRIVATE "${HPX_LIBRARIES}") + endif() + +-if(HAVE_OPENMP AND DEFINED OpenMP_CXX_LIBRARIES AND OpenMP_CXX_LIBRARIES) +- ocv_target_link_libraries(${the_module} LINK_PRIVATE "${OpenMP_CXX_LIBRARIES}") ++if(HAVE_OPENMP) ++ if(ANDROID_NDK_MAJOR AND (ANDROID_NDK_MAJOR GREATER 20)) ++ ocv_target_link_libraries(${the_module} PUBLIC "-fopenmp" "-static-openmp") ++ elseif(OpenMP_CXX_FOUND) ++ ocv_target_link_libraries(${the_module} PUBLIC OpenMP::OpenMP_CXX) ++ else() ++ ocv_target_link_libraries(${the_module} PUBLIC "${OpenMP_CXX_FLAGS}") ++ endif() + endif() + + ocv_add_accuracy_tests() +diff -Nuarp opencv-4.10.0.orig/modules/video/CMakeLists.txt opencv-4.10.0/modules/video/CMakeLists.txt +--- opencv-4.10.0.orig/modules/video/CMakeLists.txt 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/video/CMakeLists.txt 2024-06-04 20:59:36.412174358 +0800 +@@ -10,7 +10,3 @@ ocv_define_module(video + python + js + ) +- +-if(HAVE_OPENMP AND DEFINED OpenMP_CXX_LIBRARIES AND OpenMP_CXX_LIBRARIES) +- ocv_target_link_libraries(${the_module} LINK_PRIVATE "${OpenMP_CXX_LIBRARIES}") +-endif() diff --git a/patches/opencv-4.9.0-minimal-install.patch b/patches/opencv-4.10.0-minimal-install.patch similarity index 72% rename from patches/opencv-4.9.0-minimal-install.patch rename to patches/opencv-4.10.0-minimal-install.patch index 886bd36..06562cb 100644 --- a/patches/opencv-4.9.0-minimal-install.patch +++ b/patches/opencv-4.10.0-minimal-install.patch @@ -1,6 +1,6 @@ -diff -Nuarp opencv-4.9.0.orig/cmake/OpenCVGenAndroidMK.cmake opencv-4.9.0/cmake/OpenCVGenAndroidMK.cmake ---- opencv-4.9.0.orig/cmake/OpenCVGenAndroidMK.cmake 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/cmake/OpenCVGenAndroidMK.cmake 2024-01-17 19:28:42.838214638 +0800 +diff -Nuarp opencv-4.10.0.orig/cmake/OpenCVGenAndroidMK.cmake opencv-4.10.0/cmake/OpenCVGenAndroidMK.cmake +--- opencv-4.10.0.orig/cmake/OpenCVGenAndroidMK.cmake 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/cmake/OpenCVGenAndroidMK.cmake 2024-06-04 21:02:30.323531599 +0800 @@ -76,6 +76,4 @@ if(ANDROID) configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCV.mk.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk" @ONLY) @@ -8,9 +8,9 @@ diff -Nuarp opencv-4.9.0.orig/cmake/OpenCVGenAndroidMK.cmake opencv-4.9.0/cmake/ - install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk DESTINATION ${OPENCV_CONFIG_INSTALL_PATH} COMPONENT dev) - install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCV-${ANDROID_NDK_ABI_NAME}.mk DESTINATION ${OPENCV_CONFIG_INSTALL_PATH} COMPONENT dev) endif(ANDROID) -diff -Nuarp opencv-4.9.0.orig/cmake/OpenCVUtils.cmake opencv-4.9.0/cmake/OpenCVUtils.cmake ---- opencv-4.9.0.orig/cmake/OpenCVUtils.cmake 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/cmake/OpenCVUtils.cmake 2024-01-17 19:30:17.643213167 +0800 +diff -Nuarp opencv-4.10.0.orig/cmake/OpenCVUtils.cmake opencv-4.10.0/cmake/OpenCVUtils.cmake +--- opencv-4.10.0.orig/cmake/OpenCVUtils.cmake 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/cmake/OpenCVUtils.cmake 2024-06-04 21:02:50.020458607 +0800 @@ -976,11 +976,6 @@ macro(ocv_finalize_status) endif() endif() @@ -23,10 +23,10 @@ diff -Nuarp opencv-4.9.0.orig/cmake/OpenCVUtils.cmake opencv-4.9.0/cmake/OpenCVU endmacro() -diff -Nuarp opencv-4.9.0.orig/CMakeLists.txt opencv-4.9.0/CMakeLists.txt ---- opencv-4.9.0.orig/CMakeLists.txt 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/CMakeLists.txt 2024-01-17 19:31:26.401212100 +0800 -@@ -1032,20 +1032,12 @@ ocv_add_modules_compiler_options() +diff -Nuarp opencv-4.10.0.orig/CMakeLists.txt opencv-4.10.0/CMakeLists.txt +--- opencv-4.10.0.orig/CMakeLists.txt 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/CMakeLists.txt 2024-06-04 21:03:59.252202053 +0800 +@@ -1076,20 +1076,12 @@ ocv_add_modules_compiler_options() ocv_register_modules() # Generate targets for documentation @@ -47,7 +47,7 @@ diff -Nuarp opencv-4.9.0.orig/CMakeLists.txt opencv-4.9.0/CMakeLists.txt # ---------------------------------------------------------------------------- # Finalization: generate configuration-based files -@@ -1057,20 +1049,13 @@ ocv_cmake_hook(PRE_FINALIZE) +@@ -1101,20 +1093,13 @@ ocv_cmake_hook(PRE_FINALIZE) include(cmake/OpenCVGenHeaders.cmake) # Generate opencv.pc for pkg-config command @@ -68,7 +68,7 @@ diff -Nuarp opencv-4.9.0.orig/CMakeLists.txt opencv-4.9.0/CMakeLists.txt # Generate ABI descriptor include(cmake/OpenCVGenABI.cmake) -@@ -1096,12 +1081,6 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PA +@@ -1140,12 +1125,6 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PA endif() endif() @@ -81,7 +81,7 @@ diff -Nuarp opencv-4.9.0.orig/CMakeLists.txt opencv-4.9.0/CMakeLists.txt if(NOT OPENCV_LICENSE_FILE) set(OPENCV_LICENSE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE) endif() -@@ -1111,11 +1090,6 @@ if(ANDROID OR NOT UNIX) +@@ -1155,11 +1134,6 @@ if(ANDROID OR NOT UNIX) install(FILES ${OPENCV_LICENSE_FILE} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ DESTINATION ./ COMPONENT libs) @@ -93,9 +93,9 @@ diff -Nuarp opencv-4.9.0.orig/CMakeLists.txt opencv-4.9.0/CMakeLists.txt endif() if(COMMAND ocv_pylint_finalize) -diff -Nuarp opencv-4.9.0.orig/data/CMakeLists.txt opencv-4.9.0/data/CMakeLists.txt ---- opencv-4.9.0.orig/data/CMakeLists.txt 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/data/CMakeLists.txt 2024-01-17 19:31:38.313211916 +0800 +diff -Nuarp opencv-4.10.0.orig/data/CMakeLists.txt opencv-4.10.0/data/CMakeLists.txt +--- opencv-4.10.0.orig/data/CMakeLists.txt 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/data/CMakeLists.txt 2024-06-04 21:04:10.806159236 +0800 @@ -1,9 +1,6 @@ file(GLOB HAAR_CASCADES haarcascades/*.xml) file(GLOB LBP_CASCADES lbpcascades/*.xml) diff --git a/patches/opencv-4.9.0-no-atomic.patch b/patches/opencv-4.10.0-no-atomic.patch similarity index 60% rename from patches/opencv-4.9.0-no-atomic.patch rename to patches/opencv-4.10.0-no-atomic.patch index 5f46cfd..9f7ac41 100644 --- a/patches/opencv-4.9.0-no-atomic.patch +++ b/patches/opencv-4.10.0-no-atomic.patch @@ -1,7 +1,7 @@ -diff -Nuarp opencv-4.9.0.orig/modules/core/src/mathfuncs.cpp opencv-4.9.0/modules/core/src/mathfuncs.cpp ---- opencv-4.9.0.orig/modules/core/src/mathfuncs.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/mathfuncs.cpp 2024-01-17 19:27:17.197215967 +0800 -@@ -2140,8 +2140,13 @@ const double* getExpTab64f() +diff -Nuarp opencv-4.10.0.orig/modules/core/src/mathfuncs.cpp opencv-4.10.0/modules/core/src/mathfuncs.cpp +--- opencv-4.10.0.orig/modules/core/src/mathfuncs.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/mathfuncs.cpp 2024-06-04 20:57:06.217205470 +0800 +@@ -2187,8 +2187,13 @@ const double* getExpTab64f() const float* getExpTab32f() { static float CV_DECL_ALIGNED(64) expTab_f[EXPTAB_MASK+1]; @@ -15,9 +15,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/mathfuncs.cpp opencv-4.9.0/module { for( int j = 0; j <= EXPTAB_MASK; j++ ) expTab_f[j] = (float)expTab[j]; -diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel.cpp opencv-4.9.0/modules/core/src/parallel.cpp ---- opencv-4.9.0.orig/modules/core/src/parallel.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/parallel.cpp 2024-01-17 19:27:17.197215967 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/parallel.cpp opencv-4.10.0/modules/core/src/parallel.cpp +--- opencv-4.10.0.orig/modules/core/src/parallel.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/parallel.cpp 2024-06-04 20:57:58.179745974 +0800 @@ -513,6 +513,7 @@ void parallel_for_(const cv::Range& rang if (range.empty()) return; diff --git a/patches/opencv-4.9.0-no-gpu.patch b/patches/opencv-4.10.0-no-gpu.patch similarity index 85% rename from patches/opencv-4.9.0-no-gpu.patch rename to patches/opencv-4.10.0-no-gpu.patch index 4d14bc3..2c69193 100644 --- a/patches/opencv-4.9.0-no-gpu.patch +++ b/patches/opencv-4.10.0-no-gpu.patch @@ -1,6 +1,6 @@ -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/base.hpp opencv-4.9.0/modules/core/include/opencv2/core/base.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/base.hpp 2024-02-07 14:07:17.015693213 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/base.hpp 2024-02-07 14:30:23.155584098 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/base.hpp opencv-4.10.0/modules/core/include/opencv2/core/base.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/base.hpp 2024-06-04 21:20:08.187199029 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/base.hpp 2024-06-04 21:25:27.153977700 +0800 @@ -590,8 +590,6 @@ class CV_EXPORTS RNG; class CV_EXPORTS Mat; class CV_EXPORTS MatExpr; @@ -37,10 +37,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/base.hpp opencv- namespace ipp { CV_EXPORTS unsigned long long getIppFeatures(); -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4.9.0/modules/core/include/opencv2/core/cvdef.h ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/cvdef.h 2024-02-07 14:07:17.002693214 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/cvdef.h 2024-02-07 14:07:45.750690951 +0800 -@@ -977,4 +977,9 @@ protected: +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4.10.0/modules/core/include/opencv2/core/cvdef.h +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/cvdef.h 2024-06-04 21:20:08.253198792 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/cvdef.h 2024-06-04 21:25:27.153977700 +0800 +@@ -929,4 +929,9 @@ typedef hfloat float16_t; #include "opencv2/core/fast_math.hpp" // define cvRound(double) #endif @@ -50,9 +50,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4 +#define CV_OVX_RUN(condition, func, ...) + #endif // OPENCV_CORE_CVDEF_H -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/cvstd.inl.hpp opencv-4.9.0/modules/core/include/opencv2/core/cvstd.inl.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/cvstd.inl.hpp 2024-02-07 14:07:16.933693219 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/cvstd.inl.hpp 2024-02-07 14:30:40.652582720 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/cvstd.inl.hpp opencv-4.10.0/modules/core/include/opencv2/core/cvstd.inl.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/cvstd.inl.hpp 2024-06-04 21:20:08.167199101 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/cvstd.inl.hpp 2024-06-04 21:25:27.153977700 +0800 @@ -89,12 +89,6 @@ std::ostream& operator << (std::ostream& return out << Formatter::get()->format(mtx); } @@ -66,10 +66,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/cvstd.inl.hpp op template static inline std::ostream& operator << (std::ostream& out, const Complex<_Tp>& c) { -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4.9.0/modules/core/include/opencv2/core/mat.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp 2024-02-07 14:07:16.937693219 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/mat.hpp 2024-02-07 14:32:37.824573497 +0800 -@@ -173,13 +173,7 @@ public: +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4.10.0/modules/core/include/opencv2/core/mat.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/mat.hpp 2024-06-04 21:20:08.228198882 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/mat.hpp 2024-06-04 21:25:27.154977696 +0800 +@@ -174,13 +174,7 @@ public: #if OPENCV_ABI_COMPATIBILITY < 500 EXPR = 6 << KIND_SHIFT, //!< removed: https://github.com/opencv/opencv/pull/17046 #endif @@ -83,7 +83,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 #if OPENCV_ABI_COMPATIBILITY < 500 STD_ARRAY =14 << KIND_SHIFT, //!< removed: https://github.com/opencv/opencv/issues/18897 #endif -@@ -200,13 +194,6 @@ public: +@@ -201,13 +195,6 @@ public: template _InputArray(const _Tp* vec, int n); template _InputArray(const Matx<_Tp, m, n>& matx); _InputArray(const double& val); @@ -97,7 +97,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 template _InputArray(const std::array<_Tp, _Nm>& arr); template _InputArray(const std::array& arr); -@@ -216,12 +203,7 @@ public: +@@ -217,12 +204,7 @@ public: Mat getMat(int idx=-1) const; Mat getMat_(int idx=-1) const; @@ -110,7 +110,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 int getFlags() const; void* getObj() const; -@@ -246,13 +228,9 @@ public: +@@ -247,13 +229,9 @@ public: size_t offset(int i=-1) const; size_t step(int i=-1) const; bool isMat() const; @@ -124,7 +124,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 ~_InputArray(); protected: -@@ -314,11 +292,6 @@ public: +@@ -315,11 +293,6 @@ public: _OutputArray(int _flags, void* _obj); _OutputArray(Mat& m); _OutputArray(std::vector& vec); @@ -136,7 +136,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 template _OutputArray(std::vector<_Tp>& vec); _OutputArray(std::vector& vec) = delete; // not supported template _OutputArray(std::vector >& vec); -@@ -327,24 +300,15 @@ public: +@@ -328,24 +301,15 @@ public: template _OutputArray(Mat_<_Tp>& m); template _OutputArray(_Tp* vec, int n); template _OutputArray(Matx<_Tp, m, n>& matx); @@ -161,7 +161,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 template _OutputArray(std::array<_Tp, _Nm>& arr); template _OutputArray(const std::array<_Tp, _Nm>& arr); -@@ -358,11 +322,6 @@ public: +@@ -359,11 +323,6 @@ public: bool fixedType() const; bool needed() const; Mat& getMatRef(int i=-1) const; @@ -173,7 +173,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 void create(Size sz, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast<_OutputArray::DepthMask>(0)) const; void create(int rows, int cols, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast<_OutputArray::DepthMask>(0)) const; void create(int dims, const int* size, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast<_OutputArray::DepthMask>(0)) const; -@@ -371,13 +330,10 @@ public: +@@ -372,13 +331,10 @@ public: void clear() const; void setTo(const _InputArray& value, const _InputArray & mask = _InputArray()) const; @@ -187,7 +187,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 void move(Mat& m) const; }; -@@ -389,10 +345,6 @@ public: +@@ -390,10 +346,6 @@ public: _InputOutputArray(int _flags, void* _obj); _InputOutputArray(Mat& m); _InputOutputArray(std::vector& vec); @@ -198,7 +198,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 template _InputOutputArray(std::vector<_Tp>& vec); _InputOutputArray(std::vector& vec) = delete; // not supported template _InputOutputArray(std::vector >& vec); -@@ -400,24 +352,15 @@ public: +@@ -401,24 +353,15 @@ public: template _InputOutputArray(Mat_<_Tp>& m); template _InputOutputArray(_Tp* vec, int n); template _InputOutputArray(Matx<_Tp, m, n>& matx); @@ -223,7 +223,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 template _InputOutputArray(std::array<_Tp, _Nm>& arr); template _InputOutputArray(const std::array<_Tp, _Nm>& arr); -@@ -1056,9 +999,6 @@ public: +@@ -1057,9 +1000,6 @@ public: */ template explicit Mat(const MatCommaInitializer_<_Tp>& commaInitializer); @@ -233,7 +233,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 //! destructor - calls release() ~Mat(); -@@ -1081,9 +1021,6 @@ public: +@@ -1082,9 +1022,6 @@ public: */ Mat& operator = (const MatExpr& expr); @@ -243,7 +243,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 /** @brief Creates a matrix header for the specified matrix row. The method makes a new header for the specified matrix row and returns it. This is an O(1) -@@ -2427,227 +2364,6 @@ typedef Mat_ Mat2d; +@@ -2428,227 +2365,6 @@ typedef Mat_ Mat2d; typedef Mat_ Mat3d; typedef Mat_ Mat4d; @@ -471,9 +471,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.hpp opencv-4 /////////////////////////// multi-dimensional sparse matrix ////////////////////////// -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.inl.hpp opencv-4.9.0/modules/core/include/opencv2/core/mat.inl.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.inl.hpp 2024-02-07 14:07:17.010693213 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/mat.inl.hpp 2024-02-07 14:31:17.891579789 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/mat.inl.hpp opencv-4.10.0/modules/core/include/opencv2/core/mat.inl.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/mat.inl.hpp 2024-06-04 21:20:08.165199108 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/mat.inl.hpp 2024-06-04 21:25:27.155977692 +0800 @@ -102,8 +102,6 @@ inline _InputArray::_InputArray() { init inline _InputArray::_InputArray(int _flags, void* _obj) { init(_flags, _obj); } inline _InputArray::_InputArray(const Mat& m) { init(MAT+ACCESS_READ, &m); } @@ -753,9 +753,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/mat.inl.hpp open inline bool UMatData::hostCopyObsolete() const { return (flags & HOST_COPY_OBSOLETE) != 0; } inline bool UMatData::deviceCopyObsolete() const { return (flags & DEVICE_COPY_OBSOLETE) != 0; } -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/operations.hpp opencv-4.9.0/modules/core/include/opencv2/core/operations.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/operations.hpp 2024-02-07 14:07:16.949693218 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/operations.hpp 2024-02-07 14:30:34.802583181 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/operations.hpp opencv-4.10.0/modules/core/include/opencv2/core/operations.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/operations.hpp 2024-06-04 21:20:08.177199065 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/operations.hpp 2024-06-04 21:25:27.155977692 +0800 @@ -450,12 +450,6 @@ int print(const Mat& mtx, FILE* stream = return print(Formatter::get()->format(mtx), stream); } @@ -769,10 +769,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/operations.hpp o template static inline int print(const std::vector >& vec, FILE* stream = stdout) { -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core.hpp opencv-4.9.0/modules/core/include/opencv2/core.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core.hpp 2024-02-07 14:07:17.016693213 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core.hpp 2024-02-07 14:31:37.166578271 +0800 -@@ -239,8 +239,6 @@ enum ReduceTypes { REDUCE_SUM = 0, //!< +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core.hpp opencv-4.10.0/modules/core/include/opencv2/core.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core.hpp 2024-06-04 21:20:08.261198764 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core.hpp 2024-06-04 21:25:27.155977692 +0800 +@@ -235,8 +235,6 @@ enum ReduceTypes { REDUCE_SUM = 0, //!< /** @brief Swaps two matrices */ CV_EXPORTS void swap(Mat& a, Mat& b); @@ -781,7 +781,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core.hpp opencv-4.9.0 //! @} core -@@ -1511,10 +1509,6 @@ CV_EXPORTS_W void min(InputArray src1, I +@@ -1536,10 +1534,6 @@ CV_EXPORTS_W void min(InputArray src1, I needed to avoid conflicts with const _Tp& std::min(const _Tp&, const _Tp&, _Compare) */ CV_EXPORTS void min(const Mat& src1, const Mat& src2, Mat& dst); @@ -792,7 +792,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core.hpp opencv-4.9.0 /** @brief Calculates per-element maximum of two arrays or an array and a scalar. -@@ -1532,10 +1526,6 @@ CV_EXPORTS_W void max(InputArray src1, I +@@ -1557,10 +1551,6 @@ CV_EXPORTS_W void max(InputArray src1, I needed to avoid conflicts with const _Tp& std::min(const _Tp&, const _Tp&, _Compare) */ CV_EXPORTS void max(const Mat& src1, const Mat& src2, Mat& dst); @@ -803,9 +803,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core.hpp opencv-4.9.0 /** @brief Calculates a square root of array elements. -diff -Nuarp opencv-4.9.0.orig/modules/core/src/arithm.cpp opencv-4.9.0/modules/core/src/arithm.cpp ---- opencv-4.9.0.orig/modules/core/src/arithm.cpp 2024-02-07 14:07:16.859693225 +0800 -+++ opencv-4.9.0/modules/core/src/arithm.cpp 2024-02-07 14:39:04.615543049 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/arithm.cpp opencv-4.10.0/modules/core/src/arithm.cpp +--- opencv-4.10.0.orig/modules/core/src/arithm.cpp 2024-06-04 21:20:08.536197778 +0800 ++++ opencv-4.10.0/modules/core/src/arithm.cpp 2024-06-04 21:25:27.155977692 +0800 @@ -418,22 +418,6 @@ void cv::min(const Mat& src1, const Mat& binary_op(src1, src2, _dst, noArray(), getMinTab(), false, OCL_OP_MIN ); } @@ -829,7 +829,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/arithm.cpp opencv-4.9.0/modules/c /****************************************************************************************\ * add/subtract * -@@ -1007,13 +991,6 @@ void divide(double scale, InputArray src +@@ -1141,13 +1125,6 @@ void divide(double scale, InputArray src arithm_op(src2, src2, dst, noArray(), dtype, getRecipTab(), true, &scale, OCL_OP_RECIP_SCALE); } @@ -843,10 +843,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/arithm.cpp opencv-4.9.0/modules/c /****************************************************************************************\ * addWeighted * \****************************************************************************************/ -diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/core/src/async.cpp ---- opencv-4.9.0.orig/modules/core/src/async.cpp 2024-02-07 14:07:16.875693224 +0800 -+++ opencv-4.9.0/modules/core/src/async.cpp 2024-02-07 14:38:51.053544116 +0800 -@@ -47,7 +47,6 @@ struct AsyncArray::Impl +diff -Nuarp opencv-4.10.0.orig/modules/core/src/async.cpp opencv-4.10.0/modules/core/src/async.cpp +--- opencv-4.10.0.orig/modules/core/src/async.cpp 2024-06-04 21:20:08.467198025 +0800 ++++ opencv-4.10.0/modules/core/src/async.cpp 2024-06-04 21:25:27.156977688 +0800 +@@ -40,7 +40,6 @@ struct AsyncArray::Impl mutable bool has_result; // Mat, UMat or exception mutable cv::Ptr result_mat; @@ -854,7 +854,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co bool has_exception; -@@ -102,13 +101,6 @@ struct AsyncArray::Impl +@@ -91,13 +90,6 @@ struct AsyncArray::Impl result_is_fetched = true; return true; } @@ -868,9 +868,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co #if CV__EXCEPTION_PTR if (has_exception && exception) { -@@ -181,13 +173,6 @@ struct AsyncArray::Impl - cv::AutoLock lock(mtx); - #endif +@@ -162,13 +154,6 @@ struct AsyncArray::Impl + CV_Error(Error::StsError, "Associated AsyncArray has been destroyed"); + std::unique_lock lock(mtx); CV_Assert(!has_result); - int k = value.kind(); - if (k == _InputArray::UMAT) @@ -882,7 +882,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co { result_mat = makePtr(); value.copyTo(*result_mat.get()); -@@ -257,7 +242,6 @@ struct AsyncArray::Impl +@@ -224,7 +209,6 @@ struct AsyncArray::Impl mutable bool has_result; // Mat, UMat or exception mutable cv::Ptr result_mat; @@ -890,7 +890,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co bool has_exception; -@@ -303,13 +287,6 @@ struct AsyncArray::Impl +@@ -270,13 +254,6 @@ struct AsyncArray::Impl result_is_fetched = true; return true; } @@ -904,7 +904,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co #if CV__EXCEPTION_PTR if (has_exception && exception) { -@@ -360,13 +337,6 @@ struct AsyncArray::Impl +@@ -327,13 +304,6 @@ struct AsyncArray::Impl if (future_is_returned && refcount_future == 0) CV_Error(Error::StsError, "Associated AsyncArray has been destroyed"); CV_Assert(!has_result); @@ -918,10 +918,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co { result_mat = makePtr(); value.copyTo(*result_mat.get()); -diff -Nuarp opencv-4.9.0.orig/modules/core/src/channels.cpp opencv-4.9.0/modules/core/src/channels.cpp ---- opencv-4.9.0.orig/modules/core/src/channels.cpp 2024-02-07 14:07:16.905693221 +0800 -+++ opencv-4.9.0/modules/core/src/channels.cpp 2024-02-07 14:34:12.787566021 +0800 -@@ -281,12 +281,10 @@ void cv::mixChannels(InputArrayOfArrays +diff -Nuarp opencv-4.10.0.orig/modules/core/src/channels.cpp opencv-4.10.0/modules/core/src/channels.cpp +--- opencv-4.10.0.orig/modules/core/src/channels.cpp 2024-06-04 21:20:08.564197677 +0800 ++++ opencv-4.10.0/modules/core/src/channels.cpp 2024-06-04 21:25:27.156977688 +0800 +@@ -282,12 +282,10 @@ void cv::mixChannels(InputArrayOfArrays bool src_is_mat = src.kind() != _InputArray::STD_VECTOR_MAT && src.kind() != _InputArray::STD_ARRAY_MAT && @@ -936,7 +936,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/channels.cpp opencv-4.9.0/modules int i; int nsrc = src_is_mat ? 1 : (int)src.total(); int ndst = dst_is_mat ? 1 : (int)dst.total(); -@@ -314,12 +312,10 @@ void cv::mixChannels(InputArrayOfArrays +@@ -315,12 +313,10 @@ void cv::mixChannels(InputArrayOfArrays bool src_is_mat = src.kind() != _InputArray::STD_VECTOR_MAT && src.kind() != _InputArray::STD_ARRAY_MAT && @@ -951,9 +951,57 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/channels.cpp opencv-4.9.0/modules int i; int nsrc = src_is_mat ? 1 : (int)src.total(); int ndst = dst_is_mat ? 1 : (int)dst.total(); -diff -Nuarp opencv-4.9.0.orig/modules/core/src/copy.cpp opencv-4.9.0/modules/core/src/copy.cpp ---- opencv-4.9.0.orig/modules/core/src/copy.cpp 2024-02-07 14:07:16.898693222 +0800 -+++ opencv-4.9.0/modules/core/src/copy.cpp 2024-02-07 14:33:48.119567963 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/convert.dispatch.cpp opencv-4.10.0/modules/core/src/convert.dispatch.cpp +--- opencv-4.10.0.orig/modules/core/src/convert.dispatch.cpp 2024-06-04 21:20:08.526197814 +0800 ++++ opencv-4.10.0/modules/core/src/convert.dispatch.cpp 2024-06-04 21:28:07.524362704 +0800 +@@ -301,44 +301,6 @@ void Mat::convertTo(OutputArray dst, int + } + } + +-void UMat::convertTo(OutputArray dst, int type_, double alpha, double beta) const +-{ +- CV_INSTRUMENT_REGION(); +- +- if (empty()) +- { +- dst.release(); +- return; +- } +- +-#ifdef HAVE_OPENCL +- int stype = type(); +- int sdepth = CV_MAT_DEPTH(stype); +- +- int ddepth = sdepth; +- if (type_ >= 0) +- ddepth = CV_MAT_DEPTH(type_); +- else +- ddepth = dst.fixedType() ? dst.depth() : sdepth; +- +- bool noScale = std::fabs(alpha - 1) < DBL_EPSILON && std::fabs(beta) < DBL_EPSILON; +- if (sdepth == ddepth && noScale) +- { +- copyTo(dst); +- return; +- } +- +- CV_OCL_RUN(dims <= 2, +- ocl_convertTo(*this, dst, ddepth, noScale, alpha, beta)) +-#endif // HAVE_OPENCL +- +- UMat src = *this; // Fake reference to itself. +- // Resolves issue 8693 in case of src == dst. +- Mat m = getMat(ACCESS_READ); +- m.convertTo(dst, type_, alpha, beta); +- (void)src; +-} +- + //================================================================================================== + + void convertFp16(InputArray _src, OutputArray _dst) +diff -Nuarp opencv-4.10.0.orig/modules/core/src/copy.cpp opencv-4.10.0/modules/core/src/copy.cpp +--- opencv-4.10.0.orig/modules/core/src/copy.cpp 2024-06-04 21:20:08.560197692 +0800 ++++ opencv-4.10.0/modules/core/src/copy.cpp 2024-06-04 21:25:27.156977688 +0800 @@ -327,22 +327,6 @@ void Mat::copyTo( OutputArray _dst ) con return; } @@ -977,9 +1025,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/copy.cpp opencv-4.9.0/modules/cor if( dims <= 2 ) { _dst.create( rows, cols, type() ); -diff -Nuarp opencv-4.9.0.orig/modules/core/src/dxt.cpp opencv-4.9.0/modules/core/src/dxt.cpp ---- opencv-4.9.0.orig/modules/core/src/dxt.cpp 2024-02-07 14:07:16.912693221 +0800 -+++ opencv-4.9.0/modules/core/src/dxt.cpp 2024-02-07 14:07:45.658690958 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/dxt.cpp opencv-4.10.0/modules/core/src/dxt.cpp +--- opencv-4.10.0.orig/modules/core/src/dxt.cpp 2024-06-04 21:20:08.567197667 +0800 ++++ opencv-4.10.0/modules/core/src/dxt.cpp 2024-06-04 21:25:27.156977688 +0800 @@ -40,8 +40,6 @@ //M*/ @@ -989,9 +1037,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/dxt.cpp opencv-4.9.0/modules/core #include namespace cv -diff -Nuarp opencv-4.9.0.orig/modules/core/src/lapack.cpp opencv-4.9.0/modules/core/src/lapack.cpp ---- opencv-4.9.0.orig/modules/core/src/lapack.cpp 2024-02-07 14:07:16.884693223 +0800 -+++ opencv-4.9.0/modules/core/src/lapack.cpp 2024-02-07 14:38:01.969547980 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/lapack.cpp opencv-4.10.0/modules/core/src/lapack.cpp +--- opencv-4.10.0.orig/modules/core/src/lapack.cpp 2024-06-04 21:20:08.529197803 +0800 ++++ opencv-4.10.0/modules/core/src/lapack.cpp 2024-06-04 21:25:27.156977688 +0800 @@ -1017,13 +1017,6 @@ double invert( InputArray _src, OutputAr return result; } @@ -1006,9 +1054,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/lapack.cpp opencv-4.9.0/modules/c /****************************************************************************************\ * Solving a linear system * -diff -Nuarp opencv-4.9.0.orig/modules/core/src/matmul.dispatch.cpp opencv-4.9.0/modules/core/src/matmul.dispatch.cpp ---- opencv-4.9.0.orig/modules/core/src/matmul.dispatch.cpp 2024-02-07 14:07:16.887693223 +0800 -+++ opencv-4.9.0/modules/core/src/matmul.dispatch.cpp 2024-02-07 14:39:40.435540229 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/matmul.dispatch.cpp opencv-4.10.0/modules/core/src/matmul.dispatch.cpp +--- opencv-4.10.0.orig/modules/core/src/matmul.dispatch.cpp 2024-06-04 21:20:08.495197925 +0800 ++++ opencv-4.10.0/modules/core/src/matmul.dispatch.cpp 2024-06-04 21:25:27.157977684 +0800 @@ -44,10 +44,6 @@ #include "precomp.hpp" #include @@ -1041,9 +1089,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matmul.dispatch.cpp opencv-4.9.0/ } // namespace cv:: -diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_operations.cpp opencv-4.9.0/modules/core/src/matrix_operations.cpp ---- opencv-4.9.0.orig/modules/core/src/matrix_operations.cpp 2024-02-07 14:07:16.856693225 +0800 -+++ opencv-4.9.0/modules/core/src/matrix_operations.cpp 2024-02-07 14:38:12.138547180 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/matrix_operations.cpp opencv-4.10.0/modules/core/src/matrix_operations.cpp +--- opencv-4.10.0.orig/modules/core/src/matrix_operations.cpp 2024-06-04 21:20:08.547197738 +0800 ++++ opencv-4.10.0/modules/core/src/matrix_operations.cpp 2024-06-04 21:25:27.157977684 +0800 @@ -226,22 +226,6 @@ void cv::setIdentity( InputOutputArray _ } @@ -1079,10 +1127,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_operations.cpp opencv-4.9. Mat src = _src.getMat(); _dst.create(dim == 0 ? 1 : src.rows, dim == 0 ? src.cols : 1, dtype); Mat dst = _dst.getMat(), temp = dst; -diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_transform.cpp opencv-4.9.0/modules/core/src/matrix_transform.cpp ---- opencv-4.9.0.orig/modules/core/src/matrix_transform.cpp 2024-02-07 14:07:16.924693220 +0800 -+++ opencv-4.9.0/modules/core/src/matrix_transform.cpp 2024-02-07 14:39:25.764541384 +0800 -@@ -1103,12 +1103,6 @@ void rotate(InputArray _src, OutputArray +diff -Nuarp opencv-4.10.0.orig/modules/core/src/matrix_transform.cpp opencv-4.10.0/modules/core/src/matrix_transform.cpp +--- opencv-4.10.0.orig/modules/core/src/matrix_transform.cpp 2024-06-04 21:20:08.546197742 +0800 ++++ opencv-4.10.0/modules/core/src/matrix_transform.cpp 2024-06-04 21:25:27.157977684 +0800 +@@ -1105,12 +1105,6 @@ void rotate(InputArray _src, OutputArray CV_Assert(_src.dims() <= 2); int angle; @@ -1095,9 +1143,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_transform.cpp opencv-4.9.0 Mat src = _src.getMat(); int type = src.type(); if( src.empty() ) -diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modules/core/src/matrix_wrap.cpp ---- opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp 2024-02-07 14:07:16.861693225 +0800 -+++ opencv-4.9.0/modules/core/src/matrix_wrap.cpp 2024-02-07 14:37:23.612551000 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.10.0/modules/core/src/matrix_wrap.cpp +--- opencv-4.10.0.orig/modules/core/src/matrix_wrap.cpp 2024-06-04 21:20:08.457198061 +0800 ++++ opencv-4.10.0/modules/core/src/matrix_wrap.cpp 2024-06-04 21:25:27.157977684 +0800 @@ -24,14 +24,6 @@ Mat _InputArray::getMat_(int i) const return m->row(i); } @@ -1199,9 +1247,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu - return; - } - -- CV_Error(Error::StsNotImplemented, "Unknown/unsupported array type"); --} -- + CV_Error(Error::StsNotImplemented, "Unknown/unsupported array type"); + } + -void _InputArray::getUMatVector(std::vector& umv) const -{ - _InputArray::KindFlag k = kind(); @@ -1261,9 +1309,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu - return; - } - - CV_Error(Error::StsNotImplemented, "Unknown/unsupported array type"); - } - +- CV_Error(Error::StsNotImplemented, "Unknown/unsupported array type"); +-} +- -cuda::GpuMat _InputArray::getGpuMat() const -{ -#ifdef HAVE_CUDA @@ -1637,7 +1685,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu - if( k == CUDA_GPU_MAT ) - return i < 0 ? ((const cuda::GpuMat*)obj)->isContinuous() : true; - - CV_Error(CV_StsNotImplemented, "Unknown/unsupported array type"); + CV_Error(cv::Error::StsNotImplemented, "Unknown/unsupported array type"); } @@ -958,9 +554,6 @@ bool _InputArray::isSubmatrix(int i) con @@ -1661,7 +1709,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu - return vv[i].isSubmatrix(); - } - - CV_Error(CV_StsNotImplemented, ""); + CV_Error(cv::Error::StsNotImplemented, ""); } @@ -1000,12 +586,6 @@ size_t _InputArray::offset(int i) const @@ -2137,7 +2185,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu { *(Mat*)obj = m; } -@@ -1908,41 +1129,6 @@ void _OutputArray::assign(const Mat& m) +@@ -1908,36 +1129,6 @@ void _OutputArray::assign(const Mat& m) } @@ -2152,12 +2200,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu - int k = kind(); - if (k == UMAT) - { --#ifdef CV_CXX11 - *(UMat*)obj = std::move(u); --#else -- *(UMat*)obj = u; -- u.release(); --#endif - } - else if (k == MAT) - { @@ -2179,7 +2222,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu void _OutputArray::move(Mat& m) const { if (fixedSize()) -@@ -1952,12 +1138,7 @@ void _OutputArray::move(Mat& m) const +@@ -1947,12 +1138,7 @@ void _OutputArray::move(Mat& m) const return; } int k = kind(); @@ -2191,9 +2234,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu - else if (k == MAT) + if (k == MAT) { - #ifdef CV_CXX11 *(Mat*)obj = std::move(m); -@@ -1978,62 +1159,10 @@ void _OutputArray::move(Mat& m) const + } +@@ -1968,62 +1154,10 @@ void _OutputArray::move(Mat& m) const } @@ -2257,9 +2300,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix_wrap.cpp opencv-4.9.0/modu { std::vector& this_v = *(std::vector*)obj; CV_Assert(this_v.size() == v.size()); -diff -Nuarp opencv-4.9.0.orig/modules/core/src/precomp.hpp opencv-4.9.0/modules/core/src/precomp.hpp ---- opencv-4.9.0.orig/modules/core/src/precomp.hpp 2024-02-07 14:07:16.903693221 +0800 -+++ opencv-4.9.0/modules/core/src/precomp.hpp 2024-02-07 14:07:45.649690959 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/precomp.hpp opencv-4.10.0/modules/core/src/precomp.hpp +--- opencv-4.10.0.orig/modules/core/src/precomp.hpp 2024-06-04 21:20:08.561197688 +0800 ++++ opencv-4.10.0/modules/core/src/precomp.hpp 2024-06-04 21:25:27.158977680 +0800 @@ -343,9 +343,6 @@ struct ImplCollector struct CoreTLSData { @@ -2282,9 +2325,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/precomp.hpp opencv-4.9.0/modules/ int useIPP; // 1 - use, 0 - do not use, -1 - auto/not initialized int useIPP_NE; // 1 - use, 0 - do not use, -1 - auto/not initialized #ifdef HAVE_OPENVX -diff -Nuarp opencv-4.9.0.orig/modules/core/src/umatrix.cpp opencv-4.9.0/modules/core/src/umatrix.cpp ---- opencv-4.9.0.orig/modules/core/src/umatrix.cpp 2024-02-07 14:55:35.428465053 +0800 -+++ opencv-4.9.0/modules/core/src/umatrix.cpp 2024-02-07 15:10:18.018395577 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/umatrix.cpp opencv-4.10.0/modules/core/src/umatrix.cpp +--- opencv-4.10.0.orig/modules/core/src/umatrix.cpp 2024-06-04 21:20:08.525197817 +0800 ++++ opencv-4.10.0/modules/core/src/umatrix.cpp 2024-06-04 21:25:27.158977680 +0800 @@ -40,7 +40,6 @@ //M*/ @@ -2315,7 +2358,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/umatrix.cpp opencv-4.9.0/modules/ #ifndef OPENCV_DISABLE_THREAD_SUPPORT // it should be a prime number for the best hash function -@@ -1398,6 +1391,7 @@ UMat UMat::ones(int ndims, const int* sz +@@ -1338,6 +1331,7 @@ UMat UMat::ones(int ndims, const int* sz { return UMat(ndims, sz, type, Scalar(1), usageFlags); } @@ -2323,10 +2366,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/umatrix.cpp opencv-4.9.0/modules/ } -diff -Nuarp opencv-4.9.0.orig/modules/features2d/include/opencv2/features2d.hpp opencv-4.9.0/modules/features2d/include/opencv2/features2d.hpp ---- opencv-4.9.0.orig/modules/features2d/include/opencv2/features2d.hpp 2024-02-07 14:07:14.997693371 +0800 -+++ opencv-4.9.0/modules/features2d/include/opencv2/features2d.hpp 2024-02-07 14:43:09.494523772 +0800 -@@ -1245,7 +1245,6 @@ protected: +diff -Nuarp opencv-4.10.0.orig/modules/features2d/include/opencv2/features2d.hpp opencv-4.10.0/modules/features2d/include/opencv2/features2d.hpp +--- opencv-4.10.0.orig/modules/features2d/include/opencv2/features2d.hpp 2024-06-04 21:20:08.686197240 +0800 ++++ opencv-4.10.0/modules/features2d/include/opencv2/features2d.hpp 2024-06-04 21:25:27.158977680 +0800 +@@ -1234,7 +1234,6 @@ protected: //! Collection of descriptors from train images. std::vector trainDescCollection; @@ -2334,9 +2377,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/features2d/include/opencv2/features2d.hpp }; /** @brief Brute-force descriptor matcher. -diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/agast.cpp opencv-4.9.0/modules/features2d/src/agast.cpp ---- opencv-4.9.0.orig/modules/features2d/src/agast.cpp 2024-02-07 14:07:14.983693373 +0800 -+++ opencv-4.9.0/modules/features2d/src/agast.cpp 2024-02-07 14:50:36.324488598 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/features2d/src/agast.cpp opencv-4.10.0/modules/features2d/src/agast.cpp +--- opencv-4.10.0.orig/modules/features2d/src/agast.cpp 2024-06-04 21:20:08.734197068 +0800 ++++ opencv-4.10.0/modules/features2d/src/agast.cpp 2024-06-04 21:25:27.159977676 +0800 @@ -7980,11 +7980,10 @@ public: } @@ -2350,9 +2393,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/agast.cpp opencv-4.9.0/modu cvtColor( _image, ogray, COLOR_BGR2GRAY ); gray = ogray; } -diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/fast.cpp opencv-4.9.0/modules/features2d/src/fast.cpp ---- opencv-4.9.0.orig/modules/features2d/src/fast.cpp 2024-02-07 14:07:14.981693373 +0800 -+++ opencv-4.9.0/modules/features2d/src/fast.cpp 2024-02-07 14:51:13.202485696 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/features2d/src/fast.cpp opencv-4.10.0/modules/features2d/src/fast.cpp +--- opencv-4.10.0.orig/modules/features2d/src/fast.cpp 2024-06-04 21:20:08.730197083 +0800 ++++ opencv-4.10.0/modules/features2d/src/fast.cpp 2024-06-04 21:25:27.159977676 +0800 @@ -569,11 +569,10 @@ public: } @@ -2366,9 +2409,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/fast.cpp opencv-4.9.0/modul cvtColor( _image, ogray, COLOR_BGR2GRAY ); gray = ogray; } -diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/feature2d.cpp opencv-4.9.0/modules/features2d/src/feature2d.cpp ---- opencv-4.9.0.orig/modules/features2d/src/feature2d.cpp 2024-02-07 14:07:14.984693373 +0800 -+++ opencv-4.9.0/modules/features2d/src/feature2d.cpp 2024-02-07 14:49:08.381495521 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/features2d/src/feature2d.cpp opencv-4.10.0/modules/features2d/src/feature2d.cpp +--- opencv-4.10.0.orig/modules/features2d/src/feature2d.cpp 2024-06-04 21:20:08.750197011 +0800 ++++ opencv-4.10.0/modules/features2d/src/feature2d.cpp 2024-06-04 21:25:27.159977676 +0800 @@ -93,16 +93,6 @@ void Feature2D::detect( InputArrayOfArra detect(images.getMat(i), keypoints[i], masks.empty() ? noArray() : masks.getMat(i)); } @@ -2402,9 +2445,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/feature2d.cpp opencv-4.9.0/ else { CV_Error(Error::StsBadArg, "descriptors must be vector or vector"); -diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/gftt.cpp opencv-4.9.0/modules/features2d/src/gftt.cpp ---- opencv-4.9.0.orig/modules/features2d/src/gftt.cpp 2024-02-07 14:07:14.954693375 +0800 -+++ opencv-4.9.0/modules/features2d/src/gftt.cpp 2024-02-07 14:49:46.727492503 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/features2d/src/gftt.cpp opencv-4.10.0/modules/features2d/src/gftt.cpp +--- opencv-4.10.0.orig/modules/features2d/src/gftt.cpp 2024-06-04 21:20:08.762196967 +0800 ++++ opencv-4.10.0/modules/features2d/src/gftt.cpp 2024-06-04 21:25:27.159977676 +0800 @@ -122,18 +122,6 @@ public: std::vector corners; std::vector cornersQuality; @@ -2424,9 +2467,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/gftt.cpp opencv-4.9.0/modul { Mat image = _image.getMat(), grayImage = image; if( image.type() != CV_8U ) -diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/kaze/AKAZEFeatures.cpp opencv-4.9.0/modules/features2d/src/kaze/AKAZEFeatures.cpp ---- opencv-4.9.0.orig/modules/features2d/src/kaze/AKAZEFeatures.cpp 2024-02-07 14:07:14.968693374 +0800 -+++ opencv-4.9.0/modules/features2d/src/kaze/AKAZEFeatures.cpp 2024-02-07 14:52:48.414478201 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/features2d/src/kaze/AKAZEFeatures.cpp opencv-4.10.0/modules/features2d/src/kaze/AKAZEFeatures.cpp +--- opencv-4.10.0.orig/modules/features2d/src/kaze/AKAZEFeatures.cpp 2024-06-04 21:20:08.738197054 +0800 ++++ opencv-4.10.0/modules/features2d/src/kaze/AKAZEFeatures.cpp 2024-06-04 21:25:27.160977672 +0800 @@ -519,15 +519,7 @@ convertScalePyramid(const std::vector( mergedDescriptors.getDescriptors(), *indexParams ); } -diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/orb.cpp opencv-4.9.0/modules/features2d/src/orb.cpp ---- opencv-4.9.0.orig/modules/features2d/src/orb.cpp 2024-02-07 14:07:14.976693373 +0800 -+++ opencv-4.9.0/modules/features2d/src/orb.cpp 2024-02-07 14:52:25.936479970 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/features2d/src/orb.cpp opencv-4.10.0/modules/features2d/src/orb.cpp +--- opencv-4.10.0.orig/modules/features2d/src/orb.cpp 2024-06-04 21:20:08.728197090 +0800 ++++ opencv-4.10.0/modules/features2d/src/orb.cpp 2024-06-04 21:25:27.160977672 +0800 @@ -823,10 +823,8 @@ static void uploadORBKeypoints(const std * @param keypoints the resulting keypoints, clustered per level */ @@ -2717,10 +2760,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/features2d/src/orb.cpp opencv-4.9.0/module nfeatures, scaleFactor, edgeThreshold, patchSize, scoreType, useOCL, fastThreshold); } else -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/contours.cpp opencv-4.9.0/modules/imgproc/src/contours.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/contours.cpp 2024-02-07 14:07:15.138693360 +0800 -+++ opencv-4.9.0/modules/imgproc/src/contours.cpp 2024-02-07 14:40:21.656536984 +0800 -@@ -1819,8 +1819,7 @@ void cv::findContours( InputArray _image +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/contours.cpp opencv-4.10.0/modules/imgproc/src/contours.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/contours.cpp 2024-06-04 21:20:09.409194648 +0800 ++++ opencv-4.10.0/modules/imgproc/src/contours.cpp 2024-06-04 21:25:27.160977672 +0800 +@@ -1820,8 +1820,7 @@ void cv::findContours_legacy( InputArray CV_INSTRUMENT_REGION(); // Sanity check: output must be of type vector> @@ -2730,9 +2773,35 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/contours.cpp opencv-4.9.0/modu CV_Assert(_contours.empty() || (_contours.channels() == 2 && _contours.depth() == CV_32S)); -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/hough.cpp opencv-4.9.0/modules/imgproc/src/hough.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/hough.cpp 2024-02-07 14:07:15.158693359 +0800 -+++ opencv-4.9.0/modules/imgproc/src/hough.cpp 2024-02-07 14:40:41.613535413 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/contours_link.cpp opencv-4.10.0/modules/imgproc/src/contours_link.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/contours_link.cpp 2024-06-04 21:20:09.455194484 +0800 ++++ opencv-4.10.0/modules/imgproc/src/contours_link.cpp 2024-06-04 21:30:21.196853922 +0800 +@@ -390,8 +390,7 @@ void cv::findContoursLinkRuns(InputArray + + // Sanity check: output must be of type vector> + CV_Assert(_contours.kind() == _InputArray::STD_VECTOR_VECTOR || +- _contours.kind() == _InputArray::STD_VECTOR_MAT || +- _contours.kind() == _InputArray::STD_VECTOR_UMAT); ++ _contours.kind() == _InputArray::STD_VECTOR_MAT); + + if (!_contours.empty()) + CV_CheckTypeEQ(_contours.type(), CV_32SC2, "Contours must have type CV_32SC2"); +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/contours_new.cpp opencv-4.10.0/modules/imgproc/src/contours_new.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/contours_new.cpp 2024-06-04 21:20:09.424194595 +0800 ++++ opencv-4.10.0/modules/imgproc/src/contours_new.cpp 2024-06-04 21:30:35.837798196 +0800 +@@ -657,8 +657,7 @@ void cv::findContours(InputArray _image, + + // Sanity check: output must be of type vector> + CV_Assert((_contours.kind() == _InputArray::STD_VECTOR_VECTOR) || +- (_contours.kind() == _InputArray::STD_VECTOR_MAT) || +- (_contours.kind() == _InputArray::STD_VECTOR_UMAT)); ++ (_contours.kind() == _InputArray::STD_VECTOR_MAT)); + + const int res_type = (method == 0 /*CV_CHAIN_CODE*/) ? CV_8SC1 : CV_32SC2; + if (!_contours.empty()) +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/hough.cpp opencv-4.10.0/modules/imgproc/src/hough.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/hough.cpp 2024-06-04 21:20:09.440194537 +0800 ++++ opencv-4.10.0/modules/imgproc/src/hough.cpp 2024-06-04 21:25:27.161977669 +0800 @@ -2265,7 +2265,7 @@ static void HoughCircles( InputArray _im CV_CheckType(type, type == CV_32FC3 || type == CV_32FC4, "Wrong type of output circles"); } @@ -2742,9 +2811,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/hough.cpp opencv-4.9.0/modules if( dp <= 0 || minDist <= 0 || param1 <= 0) CV_Error( Error::StsOutOfRange, "dp, min_dist and canny_threshold must be all positive numbers" ); -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/pyramids.cpp opencv-4.9.0/modules/imgproc/src/pyramids.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/pyramids.cpp 2024-02-07 14:07:15.134693361 +0800 -+++ opencv-4.9.0/modules/imgproc/src/pyramids.cpp 2024-02-07 14:41:05.964533496 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/pyramids.cpp opencv-4.10.0/modules/imgproc/src/pyramids.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/pyramids.cpp 2024-06-04 21:20:09.452194494 +0800 ++++ opencv-4.10.0/modules/imgproc/src/pyramids.cpp 2024-06-04 21:25:27.161977669 +0800 @@ -1676,16 +1676,6 @@ void cv::buildPyramid( InputArray _src, CV_Assert(borderType != BORDER_CONSTANT); @@ -2762,9 +2831,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/pyramids.cpp opencv-4.9.0/modu Mat src = _src.getMat(); _dst.create( maxlevel + 1, 1, 0 ); _dst.getMatRef(0) = src; -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/resize.cpp opencv-4.9.0/modules/imgproc/src/resize.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/resize.cpp 2024-02-07 14:07:15.086693364 +0800 -+++ opencv-4.9.0/modules/imgproc/src/resize.cpp 2024-02-07 14:41:24.278532055 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/resize.cpp opencv-4.10.0/modules/imgproc/src/resize.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/resize.cpp 2024-06-04 21:20:09.486194372 +0800 ++++ opencv-4.10.0/modules/imgproc/src/resize.cpp 2024-06-04 21:25:27.161977669 +0800 @@ -4168,11 +4168,6 @@ void cv::resize( InputArray _src, Output CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat() && _src.cols() > 10 && _src.rows() > 10, ocl_resize(_src, _dst, dsize, inv_scale_x, inv_scale_y, interpolation)) @@ -2777,9 +2846,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/resize.cpp opencv-4.9.0/module Mat src = _src.getMat(); _dst.create(dsize, src.type()); Mat dst = _dst.getMat(); -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/smooth.dispatch.cpp opencv-4.9.0/modules/imgproc/src/smooth.dispatch.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/smooth.dispatch.cpp 2024-02-07 14:07:15.137693360 +0800 -+++ opencv-4.9.0/modules/imgproc/src/smooth.dispatch.cpp 2024-02-07 14:07:43.885691097 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/smooth.dispatch.cpp opencv-4.10.0/modules/imgproc/src/smooth.dispatch.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/smooth.dispatch.cpp 2024-06-04 21:20:09.483194383 +0800 ++++ opencv-4.10.0/modules/imgproc/src/smooth.dispatch.cpp 2024-06-04 21:25:27.161977669 +0800 @@ -636,9 +636,7 @@ void GaussianBlur(InputArray _src, Outpu if (sigma2 <= 0) sigma2 = sigma1; @@ -2791,9 +2860,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/smooth.dispatch.cpp opencv-4.9 CV_UNUSED(useOpenCL); int sdepth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type); -diff -Nuarp opencv-4.9.0.orig/modules/video/src/camshift.cpp opencv-4.9.0/modules/video/src/camshift.cpp ---- opencv-4.9.0.orig/modules/video/src/camshift.cpp 2024-02-07 14:07:17.074693208 +0800 -+++ opencv-4.9.0/modules/video/src/camshift.cpp 2024-02-07 14:47:20.010504052 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/video/src/camshift.cpp opencv-4.10.0/modules/video/src/camshift.cpp +--- opencv-4.10.0.orig/modules/video/src/camshift.cpp 2024-06-04 21:20:10.243191659 +0800 ++++ opencv-4.10.0/modules/video/src/camshift.cpp 2024-06-04 21:25:27.162977665 +0800 @@ -48,13 +48,8 @@ int cv::meanShift( InputArray _probImage Size size; int cn; diff --git a/patches/opencv-4.9.0-no-rtti.patch b/patches/opencv-4.10.0-no-rtti.patch similarity index 75% rename from patches/opencv-4.9.0-no-rtti.patch rename to patches/opencv-4.10.0-no-rtti.patch index d7763ae..b80bb02 100644 --- a/patches/opencv-4.9.0-no-rtti.patch +++ b/patches/opencv-4.10.0-no-rtti.patch @@ -1,6 +1,6 @@ -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp opencv-4.9.0/modules/core/include/opencv2/core/bindings_utils.hpp ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/bindings_utils.hpp 2024-01-17 19:24:44.466218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp opencv-4.10.0/modules/core/include/opencv2/core/bindings_utils.hpp +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/bindings_utils.hpp 2024-06-04 21:07:18.095333593 +0800 @@ -202,12 +202,6 @@ void generateVectorOfMat(size_t len, int } @@ -29,10 +29,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/bindings_utils.h return p.getArrayResult(); } -diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/core/src/async.cpp ---- opencv-4.9.0.orig/modules/core/src/async.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/async.cpp 2024-01-17 19:24:44.467218337 +0800 -@@ -119,7 +119,6 @@ struct AsyncArray::Impl +diff -Nuarp opencv-4.10.0.orig/modules/core/src/async.cpp opencv-4.10.0/modules/core/src/async.cpp +--- opencv-4.10.0.orig/modules/core/src/async.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/async.cpp 2024-06-04 21:07:18.096333587 +0800 +@@ -108,7 +108,6 @@ struct AsyncArray::Impl if (has_exception) { result_is_fetched = true; @@ -40,9 +40,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/async.cpp opencv-4.9.0/modules/co } CV_Error(Error::StsInternal, "AsyncArray: invalid state of 'has_result = true'"); } -diff -Nuarp opencv-4.9.0.orig/modules/core/src/bindings_utils.cpp opencv-4.9.0/modules/core/src/bindings_utils.cpp ---- opencv-4.9.0.orig/modules/core/src/bindings_utils.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/bindings_utils.cpp 2024-01-17 19:24:44.467218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/bindings_utils.cpp opencv-4.10.0/modules/core/src/bindings_utils.cpp +--- opencv-4.10.0.orig/modules/core/src/bindings_utils.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/bindings_utils.cpp 2024-06-04 21:07:18.096333587 +0800 @@ -17,7 +17,7 @@ String dumpInputArray(InputArray argumen return "InputArray: noArray()"; std::ostringstream ss; @@ -123,9 +123,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/bindings_utils.cpp opencv-4.9.0/m return ss.str(); } -diff -Nuarp opencv-4.9.0.orig/modules/core/src/command_line_parser.cpp opencv-4.9.0/modules/core/src/command_line_parser.cpp ---- opencv-4.9.0.orig/modules/core/src/command_line_parser.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/command_line_parser.cpp 2024-01-17 19:24:44.467218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/command_line_parser.cpp opencv-4.10.0/modules/core/src/command_line_parser.cpp +--- opencv-4.10.0.orig/modules/core/src/command_line_parser.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/command_line_parser.cpp 2024-06-04 21:08:17.261040642 +0800 @@ -119,7 +119,6 @@ static void from_str(const String& str, void CommandLineParser::getByName(const String& name, bool space_delete, Param type, void* dst) const @@ -172,7 +172,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/command_line_parser.cpp opencv-4. { if (begin == true) { -- throw cv::Exception(CV_StsParseError, +- throw cv::Exception(cv::Error::StsParseError, - String("error in split_range_string(") - + str - + String(", ") @@ -190,7 +190,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/command_line_parser.cpp opencv-4. { if (begin == false) { -- throw cv::Exception(CV_StsParseError, +- throw cv::Exception(cv::Error::StsParseError, - String("error in split_range_string(") - + str - + String(", ") @@ -208,7 +208,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/command_line_parser.cpp opencv-4. if (begin == true) { -- throw cv::Exception(CV_StsParseError, +- throw cv::Exception(cv::Error::StsParseError, - String("error in split_range_string(") - + str - + String(", ") @@ -222,9 +222,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/command_line_parser.cpp opencv-4. } return vec; -diff -Nuarp opencv-4.9.0.orig/modules/core/src/glob.cpp opencv-4.9.0/modules/core/src/glob.cpp ---- opencv-4.9.0.orig/modules/core/src/glob.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/glob.cpp 2024-01-17 19:24:44.467218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/glob.cpp opencv-4.10.0/modules/core/src/glob.cpp +--- opencv-4.10.0.orig/modules/core/src/glob.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/glob.cpp 2024-06-04 21:07:18.096333587 +0800 @@ -243,7 +243,6 @@ static void glob_rec(const cv::String& d if ((dir = opendir (directory.c_str())) != 0) { @@ -245,9 +245,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/glob.cpp opencv-4.9.0/modules/cor closedir(dir); } else -diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix.cpp opencv-4.9.0/modules/core/src/matrix.cpp ---- opencv-4.9.0.orig/modules/core/src/matrix.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/matrix.cpp 2024-01-17 19:24:44.467218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/matrix.cpp opencv-4.10.0/modules/core/src/matrix.cpp +--- opencv-4.10.0.orig/modules/core/src/matrix.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/matrix.cpp 2024-06-04 21:07:18.096333587 +0800 @@ -698,18 +698,10 @@ void Mat::create(int d, const int* _size #endif if(!a) @@ -287,9 +287,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/matrix.cpp opencv-4.9.0/modules/c updateContinuityFlag(); -diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel/parallel.cpp opencv-4.9.0/modules/core/src/parallel/parallel.cpp ---- opencv-4.9.0.orig/modules/core/src/parallel/parallel.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/parallel/parallel.cpp 2024-01-17 19:24:44.468218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/parallel/parallel.cpp opencv-4.10.0/modules/core/src/parallel/parallel.cpp +--- opencv-4.10.0.orig/modules/core/src/parallel/parallel.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/parallel/parallel.cpp 2024-06-04 21:07:18.097333583 +0800 @@ -60,7 +60,6 @@ std::shared_ptr createPa } isKnown = true; @@ -313,9 +313,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel/parallel.cpp opencv-4.9. } if (name.empty()) { -diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp opencv-4.9.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp ---- opencv-4.9.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2024-01-17 19:24:44.468218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp opencv-4.10.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp +--- opencv-4.10.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2024-06-04 21:07:18.097333583 +0800 @@ -155,15 +155,10 @@ protected: void initBackend() { @@ -351,9 +351,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel/plugin_parallel_wrapper. } } -diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel.cpp opencv-4.9.0/modules/core/src/parallel.cpp ---- opencv-4.9.0.orig/modules/core/src/parallel.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/parallel.cpp 2024-01-17 19:24:44.468218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/parallel.cpp opencv-4.10.0/modules/core/src/parallel.cpp +--- opencv-4.10.0.orig/modules/core/src/parallel.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/parallel.cpp 2024-06-04 21:07:18.097333583 +0800 @@ -351,29 +351,9 @@ namespace { CV_TRACE_ARG_VALUE(range_end, "range.end", (int64)r.end); #endif @@ -401,10 +401,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/parallel.cpp opencv-4.9.0/modules } else // nested parallel_for_() calls are not parallelized { -diff -Nuarp opencv-4.9.0.orig/modules/core/src/persistence.cpp opencv-4.9.0/modules/core/src/persistence.cpp ---- opencv-4.9.0.orig/modules/core/src/persistence.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/persistence.cpp 2024-01-17 19:24:44.469218337 +0800 -@@ -711,7 +711,7 @@ bool FileStorage::Impl::open(const char +diff -Nuarp opencv-4.10.0.orig/modules/core/src/persistence.cpp opencv-4.10.0/modules/core/src/persistence.cpp +--- opencv-4.10.0.orig/modules/core/src/persistence.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/persistence.cpp 2024-06-04 21:07:18.097333583 +0800 +@@ -723,7 +723,7 @@ bool FileStorage::Impl::open(const char strbufpos = bufOffset; bufofs = 0; @@ -413,7 +413,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/persistence.cpp opencv-4.9.0/modu char *ptr = bufferStart(); ptr[0] = ptr[1] = ptr[2] = '\0'; FileNode root_nodes(fs_ext, 0, 0); -@@ -752,13 +752,6 @@ bool FileStorage::Impl::open(const char +@@ -764,13 +764,6 @@ bool FileStorage::Impl::open(const char } } } @@ -427,7 +427,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/persistence.cpp opencv-4.9.0/modu // release resources that we do not need anymore closeFile(); -@@ -1891,18 +1884,12 @@ FileStorage::~FileStorage() +@@ -1903,18 +1896,12 @@ FileStorage::~FileStorage() bool FileStorage::open(const String& filename, int flags, const String& encoding) { @@ -446,10 +446,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/persistence.cpp opencv-4.9.0/modu } bool FileStorage::isOpened() const { return p->is_opened; } -diff -Nuarp opencv-4.9.0.orig/modules/core/src/system.cpp opencv-4.9.0/modules/core/src/system.cpp ---- opencv-4.9.0.orig/modules/core/src/system.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/system.cpp 2024-01-17 19:24:44.469218337 +0800 -@@ -1304,7 +1304,6 @@ void error( const Exception& exc ) +diff -Nuarp opencv-4.10.0.orig/modules/core/src/system.cpp opencv-4.10.0/modules/core/src/system.cpp +--- opencv-4.10.0.orig/modules/core/src/system.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/system.cpp 2024-06-04 21:07:18.098333578 +0800 +@@ -1273,7 +1273,6 @@ void error( const Exception& exc ) *p = 0; } @@ -457,7 +457,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/system.cpp opencv-4.9.0/modules/c #ifdef __GNUC__ # if !defined __clang__ && !defined __APPLE__ // this suppresses this warning: "noreturn" function does return [enabled by default] -@@ -2106,15 +2105,9 @@ void* TLSDataContainer::getData() const +@@ -2075,15 +2074,9 @@ void* TLSDataContainer::getData() const { // Create new data instance and save it to TLS storage pData = createDataInstance(); @@ -473,7 +473,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/system.cpp opencv-4.9.0/modules/c } return pData; } -@@ -2218,7 +2211,7 @@ inline bool parseOption(const std::strin +@@ -2187,7 +2180,7 @@ inline bool parseOption(const std::strin { return false; } @@ -482,7 +482,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/system.cpp opencv-4.9.0/modules/c } template<> -@@ -2239,7 +2232,7 @@ inline size_t parseOption(const std::str +@@ -2208,7 +2201,7 @@ inline size_t parseOption(const std::str return v * 1024 * 1024; else if (suffixStr == "KB" || suffixStr == "Kb" || suffixStr == "kb") return v * 1024; @@ -491,7 +491,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/system.cpp opencv-4.9.0/modules/c } template<> -@@ -2282,16 +2275,11 @@ static inline const char * envRead(const +@@ -2251,16 +2244,11 @@ static inline const char * envRead(const template inline T read(const std::string & k, const T & defaultValue) { @@ -508,9 +508,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/system.cpp opencv-4.9.0/modules/c return defaultValue; } -diff -Nuarp opencv-4.9.0.orig/modules/core/src/umatrix.cpp opencv-4.9.0/modules/core/src/umatrix.cpp ---- opencv-4.9.0.orig/modules/core/src/umatrix.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/umatrix.cpp 2024-01-17 19:24:44.469218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/umatrix.cpp opencv-4.10.0/modules/core/src/umatrix.cpp +--- opencv-4.10.0.orig/modules/core/src/umatrix.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/umatrix.cpp 2024-06-04 21:07:18.098333578 +0800 @@ -602,14 +602,9 @@ UMat Mat::getUMat(AccessFlag accessFlags new_u->originalUMatData = u; } @@ -589,9 +589,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/umatrix.cpp opencv-4.9.0/modules/ CV_XADD(&u->refcount, -1); CV_Assert(u->data != 0 && "Error mapping of UMat to host memory."); return Mat(); -diff -Nuarp opencv-4.9.0.orig/modules/core/src/utils/filesystem.cpp opencv-4.9.0/modules/core/src/utils/filesystem.cpp ---- opencv-4.9.0.orig/modules/core/src/utils/filesystem.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/utils/filesystem.cpp 2024-01-17 19:24:44.469218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/core/src/utils/filesystem.cpp opencv-4.10.0/modules/core/src/utils/filesystem.cpp +--- opencv-4.10.0.orig/modules/core/src/utils/filesystem.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/utils/filesystem.cpp 2024-06-04 21:07:18.098333578 +0800 @@ -508,14 +508,9 @@ cv::String getCacheDirectory(const char* && !utils::fs::isDirectory(default_cache_path)) { @@ -607,10 +607,10 @@ diff -Nuarp opencv-4.9.0.orig/modules/core/src/utils/filesystem.cpp opencv-4.9.0 if (!existedCacheDirs.empty()) { CV_LOG_WARNING(NULL, "Creating new OpenCV cache directory: " << default_cache_path); -diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/contours.cpp opencv-4.9.0/modules/imgproc/src/contours.cpp ---- opencv-4.9.0.orig/modules/imgproc/src/contours.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/imgproc/src/contours.cpp 2024-01-17 19:24:44.470218337 +0800 -@@ -1759,7 +1759,6 @@ cvFindContours_Impl( void* img, CvMemS +diff -Nuarp opencv-4.10.0.orig/modules/imgproc/src/contours.cpp opencv-4.10.0/modules/imgproc/src/contours.cpp +--- opencv-4.10.0.orig/modules/imgproc/src/contours.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/imgproc/src/contours.cpp 2024-06-04 21:07:18.098333578 +0800 +@@ -1760,7 +1760,6 @@ cvFindContours_Impl( void* img, CvMemS } else { @@ -618,7 +618,7 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/contours.cpp opencv-4.9.0/modu { scanner = cvStartFindContours_Impl( img, storage, cntHeaderSize, mode, method, offset, needFillBorder); -@@ -1771,12 +1770,6 @@ cvFindContours_Impl( void* img, CvMemS +@@ -1772,12 +1771,6 @@ cvFindContours_Impl( void* img, CvMemS } while( contour != 0 ); } @@ -631,9 +631,9 @@ diff -Nuarp opencv-4.9.0.orig/modules/imgproc/src/contours.cpp opencv-4.9.0/modu *firstContour = cvEndFindContours( &scanner ); } -diff -Nuarp opencv-4.9.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp opencv-4.9.0/modules/video/src/tracking/detail/tracking_feature.cpp ---- opencv-4.9.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/video/src/tracking/detail/tracking_feature.cpp 2024-01-17 19:24:44.470218337 +0800 +diff -Nuarp opencv-4.10.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp opencv-4.10.0/modules/video/src/tracking/detail/tracking_feature.cpp +--- opencv-4.10.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/video/src/tracking/detail/tracking_feature.cpp 2024-06-04 21:07:18.099333573 +0800 @@ -107,15 +107,9 @@ void CvHaarEvaluator::generateFeatures(i CvHaarEvaluator::FeatureHaar::FeatureHaar(Size patchSize) diff --git a/patches/opencv-4.10.0-no-zlib.patch b/patches/opencv-4.10.0-no-zlib.patch new file mode 100644 index 0000000..4105b80 --- /dev/null +++ b/patches/opencv-4.10.0-no-zlib.patch @@ -0,0 +1,12 @@ +diff -Nuarp opencv-4.10.0.orig/modules/core/src/persistence.hpp opencv-4.10.0/modules/core/src/persistence.hpp +--- opencv-4.10.0.orig/modules/core/src/persistence.hpp 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/src/persistence.hpp 2024-06-04 20:54:02.933180491 +0800 +@@ -12,7 +12,7 @@ + #include + #include + +-#define USE_ZLIB 1 ++#define USE_ZLIB 0 + #if USE_ZLIB + # ifndef _LFS64_LARGEFILE + # define _LFS64_LARGEFILE 0 diff --git a/patches/opencv-4.9.0-unsafe-xadd.patch b/patches/opencv-4.10.0-unsafe-xadd.patch similarity index 81% rename from patches/opencv-4.9.0-unsafe-xadd.patch rename to patches/opencv-4.10.0-unsafe-xadd.patch index 8019fe5..c99a84c 100644 --- a/patches/opencv-4.9.0-unsafe-xadd.patch +++ b/patches/opencv-4.10.0-unsafe-xadd.patch @@ -1,7 +1,7 @@ -diff -Nuarp opencv-4.9.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4.9.0/modules/core/include/opencv2/core/cvdef.h ---- opencv-4.9.0.orig/modules/core/include/opencv2/core/cvdef.h 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/include/opencv2/core/cvdef.h 2024-01-17 19:32:30.629211104 +0800 -@@ -675,33 +675,7 @@ __CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumTy +diff -Nuarp opencv-4.10.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4.10.0/modules/core/include/opencv2/core/cvdef.h +--- opencv-4.10.0.orig/modules/core/include/opencv2/core/cvdef.h 2024-06-02 04:41:06.000000000 +0800 ++++ opencv-4.10.0/modules/core/include/opencv2/core/cvdef.h 2024-06-04 20:55:30.670342400 +0800 +@@ -693,33 +693,7 @@ __CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumTy * exchange-add operation for atomic operations on reference counters * \****************************************************************************************/ diff --git a/patches/opencv-4.9.0-link-openmp.patch b/patches/opencv-4.9.0-link-openmp.patch deleted file mode 100644 index ef06375..0000000 --- a/patches/opencv-4.9.0-link-openmp.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -Nuarp opencv-4.9.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.9.0/cmake/OpenCVGenConfig.cmake ---- opencv-4.9.0.orig/cmake/OpenCVGenConfig.cmake 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/cmake/OpenCVGenConfig.cmake 2024-01-17 19:27:59.377215313 +0800 -@@ -19,6 +19,10 @@ if(HAVE_CUDA) - endif() - endif() - -+if(HAVE_OPENMP) -+ ocv_cmake_configure("${CMAKE_CURRENT_LIST_DIR}/templates/OpenCVConfig-OPENMP.cmake.in" OPENMP_CONFIGCMAKE @ONLY) -+endif() -+ - if(ANDROID) - if(NOT ANDROID_NATIVE_API_LEVEL) - set(OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE 0) -diff -Nuarp opencv-4.9.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.9.0/cmake/templates/OpenCVConfig.cmake.in ---- opencv-4.9.0.orig/cmake/templates/OpenCVConfig.cmake.in 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/cmake/templates/OpenCVConfig.cmake.in 2024-01-17 19:27:59.377215313 +0800 -@@ -94,6 +94,7 @@ endif() - - - @CUDA_CONFIGCMAKE@ -+@OPENMP_CONFIGCMAKE@ - @ANDROID_CONFIGCMAKE@ - - @IPPICV_CONFIGCMAKE@ -diff -Nuarp opencv-4.9.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in opencv-4.9.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in ---- opencv-4.9.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in 1970-01-01 08:00:00.000000000 +0800 -+++ opencv-4.9.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in 2024-01-17 19:27:59.377215313 +0800 -@@ -0,0 +1,5 @@ -+set(OpenCV_USE_OPENMP "@HAVE_OPENMP@") -+ -+if(OpenCV_USE_OPENMP) -+ find_package(OpenMP) -+endif() -diff -Nuarp opencv-4.9.0.orig/modules/core/CMakeLists.txt opencv-4.9.0/modules/core/CMakeLists.txt ---- opencv-4.9.0.orig/modules/core/CMakeLists.txt 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/CMakeLists.txt 2024-01-17 19:27:59.377215313 +0800 -@@ -190,8 +190,14 @@ if(HAVE_HPX) - ocv_target_link_libraries(${the_module} LINK_PRIVATE "${HPX_LIBRARIES}") - endif() - --if(HAVE_OPENMP AND DEFINED OpenMP_CXX_LIBRARIES AND OpenMP_CXX_LIBRARIES) -- ocv_target_link_libraries(${the_module} LINK_PRIVATE "${OpenMP_CXX_LIBRARIES}") -+if(HAVE_OPENMP) -+ if(ANDROID_NDK_MAJOR AND (ANDROID_NDK_MAJOR GREATER 20)) -+ ocv_target_link_libraries(${the_module} PUBLIC "-fopenmp" "-static-openmp") -+ elseif(OpenMP_CXX_FOUND) -+ ocv_target_link_libraries(${the_module} PUBLIC OpenMP::OpenMP_CXX) -+ else() -+ ocv_target_link_libraries(${the_module} PUBLIC "${OpenMP_CXX_FLAGS}") -+ endif() - endif() - - ocv_add_accuracy_tests() -diff -Nuarp opencv-4.9.0.orig/modules/video/CMakeLists.txt opencv-4.9.0/modules/video/CMakeLists.txt ---- opencv-4.9.0.orig/modules/video/CMakeLists.txt 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/video/CMakeLists.txt 2024-01-17 19:27:59.377215313 +0800 -@@ -10,7 +10,3 @@ ocv_define_module(video - python - js - ) -- --if(HAVE_OPENMP AND DEFINED OpenMP_CXX_LIBRARIES AND OpenMP_CXX_LIBRARIES) -- ocv_target_link_libraries(${the_module} LINK_PRIVATE "${OpenMP_CXX_LIBRARIES}") --endif() diff --git a/patches/opencv-4.9.0-no-zlib.patch b/patches/opencv-4.9.0-no-zlib.patch deleted file mode 100644 index 5149adc..0000000 --- a/patches/opencv-4.9.0-no-zlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nuarp opencv-4.9.0.orig/modules/core/src/persistence.hpp opencv-4.9.0/modules/core/src/persistence.hpp ---- opencv-4.9.0.orig/modules/core/src/persistence.hpp 2023-12-28 00:46:55.000000000 +0800 -+++ opencv-4.9.0/modules/core/src/persistence.hpp 2024-01-17 19:26:39.076216559 +0800 -@@ -12,7 +12,7 @@ - #include - #include - --#define USE_ZLIB 1 -+#define USE_ZLIB 0 - #if USE_ZLIB - # ifndef _LFS64_LARGEFILE - # define _LFS64_LARGEFILE 0