summaryrefslogtreecommitdiff
path: root/calib3d-use-OCV_LAPACK_FUNC.patch
diff options
context:
space:
mode:
Diffstat (limited to 'calib3d-use-OCV_LAPACK_FUNC.patch')
-rw-r--r--calib3d-use-OCV_LAPACK_FUNC.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/calib3d-use-OCV_LAPACK_FUNC.patch b/calib3d-use-OCV_LAPACK_FUNC.patch
new file mode 100644
index 0000000..52f6083
--- /dev/null
+++ b/calib3d-use-OCV_LAPACK_FUNC.patch
@@ -0,0 +1,39 @@
+From 70779d4e66946dca4e0da602f10ec37573b9ac88 Mon Sep 17 00:00:00 2001
+From: Pavel Rojtberg <rojtberg@gmail.com>
+Date: Sat, 17 Sep 2022 13:04:42 +0200
+Subject: [PATCH] calib3d: use OCV_LAPACK_FUNC
+
+---
+ modules/calib3d/src/usac/dls_solver.cpp | 2 +-
+ modules/calib3d/src/usac/essential_solver.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules/calib3d/src/usac/dls_solver.cpp b/modules/calib3d/src/usac/dls_solver.cpp
+index 0abb26cecc..8f109d51bf 100644
+--- a/modules/calib3d/src/usac/dls_solver.cpp
++++ b/modules/calib3d/src/usac/dls_solver.cpp
+@@ -160,7 +160,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,
++ OCV_LAPACK_FUNC(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..014cd36f40 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,
++ OCV_LAPACK_FUNC(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
+--
+2.20.1
+