[meta-freescale] [meta-fsl-arm][PATCH 10/11] opencv: Add i.MX OpenCV support including patch of i.MX 6SoloX

Lauren Post lauren.post at freescale.com
Thu Apr 2 13:38:38 PDT 2015


Signed-off-by: Lauren Post <lauren.post at freescale.com>
---
 ...c-Opencv-app-can-t-run-on-imx6sx-with-cam.patch |   44 ++++++++++++++++++++
 recipes-graphics/opencv/opencv_%.bbappend          |   22 ++++++++++
 2 files changed, 66 insertions(+)
 create mode 100644 recipes-graphics/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch
 create mode 100644 recipes-graphics/opencv/opencv_%.bbappend

diff --git a/recipes-graphics/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch b/recipes-graphics/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch
new file mode 100644
index 0000000..2c70b9b
--- /dev/null
+++ b/recipes-graphics/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch
@@ -0,0 +1,44 @@
+From 90f869763026e8ff18aeecde217d778f00e4f294 Mon Sep 17 00:00:00 2001
+From: Shawn Xiao <b49994 at freescale.com>
+Date: Tue, 10 Feb 2015 16:11:59 +0800
+Subject: [PATCH] MGS-515 [#ccc] Opencv app can't run on imx6sx with cam
+
+This issue is caused by the no support of VIDIOC_QUERYCTRL ioctl
+item in latest cam driver.
+
+Modified the errno in check logic to compatible with new driver.
+
+Feb 10, 2015
+
+Signed-off-by: Shawn Xiao <b49994 at freescale.com>
+---
+ modules/highgui/src/cap_v4l.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/modules/highgui/src/cap_v4l.cpp b/modules/highgui/src/cap_v4l.cpp
+index c9fca05..8c46b6c 100644
+--- a/modules/highgui/src/cap_v4l.cpp
++++ b/modules/highgui/src/cap_v4l.cpp
+@@ -707,7 +707,8 @@ static void v4l2_scan_controls(CvCaptureCAM_V4L* capture)
+ 
+     } else {
+ 
+-      if (errno == EINVAL)
++      if (errno == ENOTTY ||
++          errno == EINVAL)
+         continue;
+ 
+       perror ("VIDIOC_QUERYCTRL");
+@@ -774,7 +775,8 @@ static void v4l2_scan_controls(CvCaptureCAM_V4L* capture)
+ 
+     } else {
+ 
+-      if (errno == EINVAL)
++      if (errno == ENOTTY ||
++          errno == EINVAL)
+         break;
+ 
+       perror ("VIDIOC_QUERYCTRL");
+-- 
+2.3.0
+
diff --git a/recipes-graphics/opencv/opencv_%.bbappend b/recipes-graphics/opencv/opencv_%.bbappend
new file mode 100644
index 0000000..686f7c4
--- /dev/null
+++ b/recipes-graphics/opencv/opencv_%.bbappend
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mx6 = " file://0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch"
+
+EXTRA_OECMAKE += "-DBUILD_TIFF=ON \
+                  -DBUILD_opencv_ocl=OFF \
+                  -DBUILD_opencv_gpu=OFF \
+                  -DWITH_CUDA=OFF \
+                  -DWITH_GTK=OFF \
+                  -DWITH_LIBV4L=OFF \
+                  -DWITH_OPENCL=OFF \
+                  -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_DIR}/${BUILD_SYS}/${bindir}/qt5 \
+                  -D_qt5gui_OPENGL_INCLUDE_DIR=${STAGING_DIR_HOST} \
+"
+PACKAGECONFIG = "eigen jpeg png tiff v4l qt"
+PACKAGECONFIG[qt] = "-DWITH_QT=ON,-DWITH_QT=OFF,qtbase"
+
+do_install_append() {
+    install -d ${D}/${datadir}/opencv/data
+    cp -r ${S}/data/* ${D}/${datadir}/opencv/data
+}
+FILES_${PN}-apps += "${datadir}/opencv/data"
-- 
1.7.9.5



More information about the meta-freescale mailing list