opencv: Use github repo instead of fork [YOCIMX-8718]

This cherry-pick is modified for version 4.10.0.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
(cherry picked from commit ebf8ab1fe62e30f94cc28fcbff9a647cba263275)
This commit is contained in:
Tom Hochstein 2025-01-23 09:05:10 -06:00
parent d6d67044b9
commit f8cb377523
5 changed files with 145 additions and 9 deletions

View File

@ -0,0 +1,29 @@
From 0a1c77e4c810999632d648f63775b7ea265bc25c Mon Sep 17 00:00:00 2001
From: Eric Guo <eric.guo@nxp.com>
Date: Tue, 9 Nov 2021 14:38:00 +0800
Subject: [PATCH 1/4] MGS-6470 [#ccc] Modify host ptr alignment size in UMAT
change CV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR from 4 to 64
Upstream-Status: Inappropriate [i.MX specific]
Signed-off-by: Eric Guo <eric.guo@nxp.com>
---
modules/core/src/ocl.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/core/src/ocl.cpp b/modules/core/src/ocl.cpp
index 8479667fd7..6eb7b5e425 100644
--- a/modules/core/src/ocl.cpp
+++ b/modules/core/src/ocl.cpp
@@ -245,7 +245,7 @@ static String getBuildExtraOptions()
}
static const bool CV_OPENCL_ENABLE_MEM_USE_HOST_PTR = utils::getConfigurationParameterBool("OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR", true);
-static const size_t CV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR = utils::getConfigurationParameterSizeT("OPENCV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR", 4);
+static const size_t CV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR = utils::getConfigurationParameterSizeT("OPENCV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR", 64);
struct UMat2D
--
2.34.1

View File

@ -0,0 +1,32 @@
From 965365fff0815b8afc9833102d8e4e6c4ee1dda3 Mon Sep 17 00:00:00 2001
From: Eric Guo <eric.guo@nxp.com>
Date: Wed, 17 Nov 2021 15:04:23 +0800
Subject: [PATCH 2/4] MGS-6470 [#ccc] Add configuration parameter to force
enable hostptr in OpenCL
USAGE: `set OPENCV_OPENCL_ALIGNMENT_MEM_ALLOC_HOST_PTR=true`
Upstream-Status: Inappropriate [i.MX specific]
Signed-off-by: Eric Guo <eric.guo@nxp.com>
---
modules/core/src/ocl.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules/core/src/ocl.cpp b/modules/core/src/ocl.cpp
index 6eb7b5e425..5c50b06865 100644
--- a/modules/core/src/ocl.cpp
+++ b/modules/core/src/ocl.cpp
@@ -5416,7 +5416,9 @@ public:
{
const Device& dev = ctx.device(0);
createFlags = 0;
- if ((usageFlags & USAGE_ALLOCATE_HOST_MEMORY) != 0)
+ bool allocHostPtr = utils::getConfigurationParameterBool("OPENCV_OPENCL_ALIGNMENT_MEM_ALLOC_HOST_PTR", false);
+
+ if ((usageFlags & USAGE_ALLOCATE_HOST_MEMORY) != 0 || allocHostPtr)
createFlags |= CL_MEM_ALLOC_HOST_PTR;
if (!isOpenCLCopyingForced() &&
--
2.34.1

View File

@ -0,0 +1,28 @@
From 352b992c7daeeede261cf52e06b5beac485df897 Mon Sep 17 00:00:00 2001
From: Eric Guo <eric.guo@nxp.com>
Date: Thu, 9 Dec 2021 15:25:42 +0800
Subject: [PATCH 3/4] MGS-6470 [#ccc] Change configuration to enable hostptr in
OpenCL by default.
Upstream-Status: Inappropriate [i.MX specific]
Signed-off-by: Eric Guo <eric.guo@nxp.com>
---
modules/core/src/ocl.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/core/src/ocl.cpp b/modules/core/src/ocl.cpp
index 5c50b06865..db75190f13 100644
--- a/modules/core/src/ocl.cpp
+++ b/modules/core/src/ocl.cpp
@@ -5416,7 +5416,7 @@ public:
{
const Device& dev = ctx.device(0);
createFlags = 0;
- bool allocHostPtr = utils::getConfigurationParameterBool("OPENCV_OPENCL_ALIGNMENT_MEM_ALLOC_HOST_PTR", false);
+ bool allocHostPtr = utils::getConfigurationParameterBool("OPENCV_OPENCL_ALIGNMENT_MEM_ALLOC_HOST_PTR", true);
if ((usageFlags & USAGE_ALLOCATE_HOST_MEMORY) != 0 || allocHostPtr)
createFlags |= CL_MEM_ALLOC_HOST_PTR;
--
2.34.1

View File

@ -0,0 +1,43 @@
From 2766330540d5106e1cc5c44ab14f021e306859cb Mon Sep 17 00:00:00 2001
From: jiajia Qian <jiajia.qian@nxp.com>
Date: Tue, 7 Jan 2025 16:42:34 +0800
Subject: [PATCH 4/4] MGS-8011 [#ccc] Fix the problem of syntax error at
'double4' in opencv_test_imgproc.
Since our driver does not support cl_khr_fp64 format data,
disabled the related ocl function in opencv_test_imgproc to avoid the following error log:
error: syntax error at 'double4'
Upstream-Status: Inappropriate [i.MX specific]
Signed-off-by: jiajia Qian <jiajia.qian@nxp.com>
---
modules/imgproc/src/imgwarp.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules/imgproc/src/imgwarp.cpp b/modules/imgproc/src/imgwarp.cpp
index dfc718bf87..0e8b9ce142 100644
--- a/modules/imgproc/src/imgwarp.cpp
+++ b/modules/imgproc/src/imgwarp.cpp
@@ -1349,6 +1349,7 @@ static bool ocl_remap(InputArray _src, OutputArray _dst, InputArray _map1, Input
interpolation &= ~WARP_RELATIVE_MAP;
const ocl::Device & dev = ocl::Device::getDefault();
+ bool doubleSupport = dev.doubleFPConfig() > 0;
int cn = _src.channels(), type = _src.type(), depth = _src.depth(),
rowsPerWI = dev.isIntel() ? 4 : 1;
@@ -1356,6 +1357,9 @@ static bool ocl_remap(InputArray _src, OutputArray _dst, InputArray _map1, Input
|| _map1.type() == CV_16SC1 || _map2.type() == CV_16SC1)
return false;
+ if (!doubleSupport && depth == CV_64F )
+ return false;
+
UMat src = _src.getUMat(), map1 = _map1.getUMat(), map2 = _map2.getUMat();
if( (map1.type() == CV_16SC2 && (map2.type() == CV_16UC1 || map2.empty())) ||
--
2.34.1

View File

@ -1,6 +1,7 @@
# This recipe is for the i.MX fork of opencv. For ease of
# maintenance, the top section is a verbatim copy of an OE-core
# recipe. The second section customizes the recipe for i.MX.
# This recipe is modified for i.MX.
# For ease of maintenance, the top section is a verbatim copy
# of an OE-core recipe, and the second section customizes the
# recipe for i.MX.
########## meta-openembedded copy ###########
# Upstream hash: f8342855a440fa5c4194fc57285e8db9e034fcaa
@ -224,12 +225,15 @@ SUMMARY = "Opencv : The Open Computer Vision Library, i.MX Fork"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
# Replace the opencv URL with the fork
SRC_URI:remove = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https"
SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH_opencv};name=opencv"
OPENCV_SRC ?= "git://github.com/nxp-imx/opencv-imx.git;protocol=https;branch=master"
SRCBRANCH_opencv = "4.10.0_imx"
SRCREV_opencv = "1ebbfb4aeeb558d03a76f3efa5bd9020f3e4397c"
# i.MX patches
SRC_URI += " \
file://0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch \
file://0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch \
file://0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch \
file://0104-MGS-8011-ccc-Fix-the-problem-of-syntax-error-at-doub.patch \
"
SRCREV_opencv = "71d3237a093b60a27601c20e9ee6c3e52154e8b1"
SRCREV_contrib = "1ed3dd2c53888e3289afdb22ec4e9ebbff3dba87"
# Add opencv_extra