summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicola Murino2021-11-01 12:32:28 +0100
committerNicola Murino2021-11-01 12:32:28 +0100
commit0b2bc093213691cd7aadf360625cea43ec1312fa (patch)
tree39a62fbc602e99e95c3d828999486e3b1666755c
parent70e5a05a413fe3c1972cb739038b84933ea34149 (diff)
downloadaur-0b2bc093213691cd7aadf360625cea43ec1312fa.tar.gz
update to 4.5.4
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD12
-rw-r--r--opencv-lapack-3.10.patch134
-rw-r--r--opencv-lapack-3.9.1.patch40
4 files changed, 147 insertions, 53 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5a4a5b88b72b..e190694f66a3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mingw-w64-opencv
pkgdesc = Open Source Computer Vision Library (mingw-w64)
- pkgver = 4.5.2
+ pkgver = 4.5.4
pkgrel = 1
url = http://opencv.org/
arch = any
@@ -20,16 +20,16 @@ pkgbase = mingw-w64-opencv
options = !buildflags
options = staticlibs
options = !strip
- source = opencv-4.5.2.tar.gz::https://github.com/opencv/opencv/archive/4.5.2.tar.gz
- source = opencv_contrib-4.5.2.tar.gz::https://github.com/opencv/opencv_contrib/archive/4.5.2.tar.gz
- source = opencv-lapack-3.9.1.patch
+ source = opencv-4.5.4.tar.gz::https://github.com/opencv/opencv/archive/4.5.4.tar.gz
+ source = opencv_contrib-4.5.4.tar.gz::https://github.com/opencv/opencv_contrib/archive/4.5.4.tar.gz
+ source = opencv-lapack-3.10.patch
source = 0105-wechat-iconv-dependency.patch
source = 0012-make-header-usable-with-C-compiler.patch
source = 0008-mingw-w64-cmake-lib-path.patch
source = 0010-find-libpng-header.patch
- sha256sums = ae258ed50aa039279c3d36afdea5c6ecf762515836b27871a8957c610d0424f8
- sha256sums = 9f52fd3114ac464cb4c9a2a6a485c729a223afb57b9c24848484e55cef0b5c2a
- sha256sums = 5233d9b4b8e3f4600e3f4ebef2b0ad5621faf25efbdfee96ee720a83cc81d0cc
+ sha256sums = c20bb83dd790fc69df9f105477e24267706715a9d3c705ca1e7f613c7b3bad3d
+ sha256sums = ad74b440b4539619dc9b587995a16b691246023d45e34097c73e259f72de9f81
+ sha256sums = b952ef047a9c7ca89857dc530c2f68c375639f48be1763d23aa03aa90119fcbe
sha256sums = 3cf6a17b234ddf4f20e042acce329823e970aa06873d63652fa132c46ee56739
sha256sums = 9f918a974e9d5227fce3702b1f38716a7fb79586dda9256b5df44dcc0f858c3b
sha256sums = 7398e66f80be37382bd427b5eb3a1201a23113c14e71435a44df8779ea1b8a34
diff --git a/PKGBUILD b/PKGBUILD
index 0f54735861cc..f8646ac49827 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: drakkan <nicola.murino at gmail dot com>
pkgname=mingw-w64-opencv
-pkgver=4.5.2
+pkgver=4.5.4
pkgrel=1
pkgdesc="Open Source Computer Vision Library (mingw-w64)"
arch=('any')
@@ -11,14 +11,14 @@ depends=('mingw-w64-crt' 'mingw-w64-libpng' 'mingw-w64-libjpeg-turbo' 'mingw-w64
makedepends=('mingw-w64-cmake' 'mingw-w64-eigen' 'mingw-w64-lapacke')
source=("opencv-$pkgver.tar.gz::https://github.com/opencv/opencv/archive/$pkgver.tar.gz"
"opencv_contrib-$pkgver.tar.gz::https://github.com/opencv/opencv_contrib/archive/$pkgver.tar.gz"
- "opencv-lapack-3.9.1.patch"
+ "opencv-lapack-3.10.patch"
"0105-wechat-iconv-dependency.patch"
"0012-make-header-usable-with-C-compiler.patch"
"0008-mingw-w64-cmake-lib-path.patch"
"0010-find-libpng-header.patch")
-sha256sums=('ae258ed50aa039279c3d36afdea5c6ecf762515836b27871a8957c610d0424f8'
- '9f52fd3114ac464cb4c9a2a6a485c729a223afb57b9c24848484e55cef0b5c2a'
- '5233d9b4b8e3f4600e3f4ebef2b0ad5621faf25efbdfee96ee720a83cc81d0cc'
+sha256sums=('c20bb83dd790fc69df9f105477e24267706715a9d3c705ca1e7f613c7b3bad3d'
+ 'ad74b440b4539619dc9b587995a16b691246023d45e34097c73e259f72de9f81'
+ 'b952ef047a9c7ca89857dc530c2f68c375639f48be1763d23aa03aa90119fcbe'
'3cf6a17b234ddf4f20e042acce329823e970aa06873d63652fa132c46ee56739'
'9f918a974e9d5227fce3702b1f38716a7fb79586dda9256b5df44dcc0f858c3b'
'7398e66f80be37382bd427b5eb3a1201a23113c14e71435a44df8779ea1b8a34'
@@ -52,7 +52,7 @@ _cmakeopts=('-DCMAKE_SKIP_RPATH=ON'
'-DOPENCV_GENERATE_SETUPVARS=OFF')
prepare() {
- patch -d $srcdir/opencv-$pkgver -p1 < opencv-lapack-3.9.1.patch
+ patch -d $srcdir/opencv-$pkgver -p1 < opencv-lapack-3.10.patch
patch -d $srcdir/opencv-$pkgver -p1 < 0008-mingw-w64-cmake-lib-path.patch
patch -d $srcdir/opencv-$pkgver -p1 < 0010-find-libpng-header.patch
patch -d $srcdir/opencv-$pkgver -p1 < 0012-make-header-usable-with-C-compiler.patch
diff --git a/opencv-lapack-3.10.patch b/opencv-lapack-3.10.patch
new file mode 100644
index 000000000000..00f2727194f4
--- /dev/null
+++ b/opencv-lapack-3.10.patch
@@ -0,0 +1,134 @@
+diff --git a/modules/calib3d/src/usac/dls_solver.cpp b/modules/calib3d/src/usac/dls_solver.cpp
+index 0898734fb3..17820696a7 100644
+--- a/modules/calib3d/src/usac/dls_solver.cpp
++++ b/modules/calib3d/src/usac/dls_solver.cpp
+@@ -159,7 +159,7 @@ public:
+ double wr[27], wi[27] = {0}; // 27 = mat_order
+ std::vector<double> work(lwork), eig_vecs(729);
+ char jobvl = 'N', jobvr = 'V'; // only left eigen vectors are computed
+- dgeev_(&jobvl, &jobvr, &mat_order, (double*)solution_polynomial.data, &lda, wr, wi, nullptr, &ldvl,
++ LAPACK_dgeev(&jobvl, &jobvr, &mat_order, (double*)solution_polynomial.data, &lda, wr, wi, nullptr, &ldvl,
+ &eig_vecs[0], &ldvr, &work[0], &lwork, &info);
+ if (info != 0) return 0;
+ #endif
+diff --git a/modules/calib3d/src/usac/essential_solver.cpp b/modules/calib3d/src/usac/essential_solver.cpp
+index 0adca0966f..e84b380baa 100644
+--- a/modules/calib3d/src/usac/essential_solver.cpp
++++ b/modules/calib3d/src/usac/essential_solver.cpp
+@@ -161,7 +161,7 @@ public:
+ int mat_order = 10, info, lda = 10, ldvl = 10, ldvr = 1, lwork = 100;
+ double wr[10], wi[10] = {0}, eig_vecs[100], work[100]; // 10 = mat_order, 100 = lwork
+ char jobvl = 'V', jobvr = 'N'; // only left eigen vectors are computed
+- dgeev_(&jobvl, &jobvr, &mat_order, action_mat_data, &lda, wr, wi, eig_vecs, &ldvl,
++ LAPACK_dgeev(&jobvl, &jobvr, &mat_order, action_mat_data, &lda, wr, wi, eig_vecs, &ldvl,
+ nullptr, &ldvr, work, &lwork, &info);
+ if (info != 0) return 0;
+ #endif
+diff --git a/modules/core/src/hal_internal.cpp b/modules/core/src/hal_internal.cpp
+index 483281d1f7..05239e98f4 100644
+--- a/modules/core/src/hal_internal.cpp
++++ b/modules/core/src/hal_internal.cpp
+@@ -163,9 +163,9 @@ lapack_Cholesky(fptype* a, size_t a_step, int m, fptype* b, size_t b_step, int n
+ if(n == 1 && b_step == sizeof(fptype))
+ {
+ if(typeid(fptype) == typeid(float))
+- sposv_(L, &m, &n, (float*)a, &lda, (float*)b, &m, &lapackStatus);
++ LAPACK_sposv(L, &m, &n, (float*)a, &lda, (float*)b, &m, &lapackStatus);
+ else if(typeid(fptype) == typeid(double))
+- dposv_(L, &m, &n, (double*)a, &lda, (double*)b, &m, &lapackStatus);
++ LAPACK_dposv(L, &m, &n, (double*)a, &lda, (double*)b, &m, &lapackStatus);
+ }
+ else
+ {
+@@ -174,9 +174,9 @@ lapack_Cholesky(fptype* a, size_t a_step, int m, fptype* b, size_t b_step, int n
+ transpose(b, ldb, tmpB, m, m, n);
+
+ if(typeid(fptype) == typeid(float))
+- sposv_(L, &m, &n, (float*)a, &lda, (float*)tmpB, &m, &lapackStatus);
++ LAPACK_sposv(L, &m, &n, (float*)a, &lda, (float*)tmpB, &m, &lapackStatus);
+ else if(typeid(fptype) == typeid(double))
+- dposv_(L, &m, &n, (double*)a, &lda, (double*)tmpB, &m, &lapackStatus);
++ LAPACK_dposv(L, &m, &n, (double*)a, &lda, (double*)tmpB, &m, &lapackStatus);
+
+ transpose(tmpB, m, b, ldb, n, m);
+ delete[] tmpB;
+@@ -185,9 +185,9 @@ lapack_Cholesky(fptype* a, size_t a_step, int m, fptype* b, size_t b_step, int n
+ else
+ {
+ if(typeid(fptype) == typeid(float))
+- spotrf_(L, &m, (float*)a, &lda, &lapackStatus);
++ LAPACK_spotrf(L, &m, (float*)a, &lda, &lapackStatus);
+ else if(typeid(fptype) == typeid(double))
+- dpotrf_(L, &m, (double*)a, &lda, &lapackStatus);
++ LAPACK_dpotrf(L, &m, (double*)a, &lda, &lapackStatus);
+ }
+
+ if(lapackStatus == 0) *info = true;
+@@ -227,17 +227,17 @@ lapack_SVD(fptype* a, size_t a_step, fptype *w, fptype* u, size_t u_step, fptype
+ }
+
+ if(typeid(fptype) == typeid(float))
+- sgesdd_(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)&work1, &lwork, iworkBuf, info);
++ LAPACK_sgesdd(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)&work1, &lwork, iworkBuf, info);
+ else if(typeid(fptype) == typeid(double))
+- dgesdd_(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)&work1, &lwork, iworkBuf, info);
++ LAPACK_dgesdd(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)&work1, &lwork, iworkBuf, info);
+
+ lwork = (int)round(work1); //optimal buffer size
+ fptype* buffer = new fptype[lwork + 1];
+
+ if(typeid(fptype) == typeid(float))
+- sgesdd_(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)buffer, &lwork, iworkBuf, info);
++ LAPACK_sgesdd(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)buffer, &lwork, iworkBuf, info);
+ else if(typeid(fptype) == typeid(double))
+- dgesdd_(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)buffer, &lwork, iworkBuf, info);
++ LAPACK_dgesdd(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)buffer, &lwork, iworkBuf, info);
+
+ if(!(flags & CV_HAL_SVD_NO_UV))
+ transpose_square_inplace(vt, ldv, n);
+@@ -288,18 +288,18 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
+ if (k == 1 && b_step == sizeof(fptype))
+ {
+ if (typeid(fptype) == typeid(float))
+- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)&work1, &lwork, info);
++ LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)&work1, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
+
+ lwork = cvRound(work1); //optimal buffer size
+ std::vector<fptype> workBufMemHolder(lwork + 1);
+ fptype* buffer = &workBufMemHolder.front();
+
+ if (typeid(fptype) == typeid(float))
+- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)buffer, &lwork, info);
++ LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)buffer, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
+ }
+ else
+ {
+@@ -309,18 +309,18 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
+ transpose(b, ldb, tmpB, m, m, k);
+
+ if (typeid(fptype) == typeid(float))
+- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)&work1, &lwork, info);
++ LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)&work1, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
+
+ lwork = cvRound(work1); //optimal buffer size
+ std::vector<fptype> workBufMemHolder(lwork + 1);
+ fptype* buffer = &workBufMemHolder.front();
+
+ if (typeid(fptype) == typeid(float))
+- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)buffer, &lwork, info);
++ LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)buffer, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
+
+ transpose(tmpB, m, b, ldb, k, m);
+ }
diff --git a/opencv-lapack-3.9.1.patch b/opencv-lapack-3.9.1.patch
deleted file mode 100644
index 472628d19ec3..000000000000
--- a/opencv-lapack-3.9.1.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/modules/core/src/hal_internal.cpp b/modules/core/src/hal_internal.cpp
-index 483281d1f7..6db47f22d8 100644
---- a/modules/core/src/hal_internal.cpp
-+++ b/modules/core/src/hal_internal.cpp
-@@ -290,7 +290,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
- if (typeid(fptype) == typeid(float))
- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)&work1, &lwork, info);
- else if (typeid(fptype) == typeid(double))
-- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
-+ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
-
- lwork = cvRound(work1); //optimal buffer size
- std::vector<fptype> workBufMemHolder(lwork + 1);
-@@ -299,7 +299,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
- if (typeid(fptype) == typeid(float))
- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)buffer, &lwork, info);
- else if (typeid(fptype) == typeid(double))
-- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
-+ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
- }
- else
- {
-@@ -311,7 +311,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
- if (typeid(fptype) == typeid(float))
- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)&work1, &lwork, info);
- else if (typeid(fptype) == typeid(double))
-- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
-+ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
-
- lwork = cvRound(work1); //optimal buffer size
- std::vector<fptype> workBufMemHolder(lwork + 1);
-@@ -320,7 +320,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
- if (typeid(fptype) == typeid(float))
- sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)buffer, &lwork, info);
- else if (typeid(fptype) == typeid(double))
-- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
-+ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
-
- transpose(tmpB, m, b, ldb, k, m);
- }