summaryrefslogtreecommitdiff
path: root/graphics/opencv
diff options
context:
space:
mode:
authorprlw1 <prlw1@pkgsrc.org>2017-03-16 21:59:13 +0000
committerprlw1 <prlw1@pkgsrc.org>2017-03-16 21:59:13 +0000
commit015525b547f993699603abc354029f21c3bb0cdd (patch)
treef1973e0f09356606fedc44f4876f86d59d462a5e /graphics/opencv
parentde458ab0bb0397ec137ea8b37a534ddb282f439d (diff)
downloadpkgsrc-015525b547f993699603abc354029f21c3bb0cdd.tar.gz
Update opencv to 3.2
Many Darwin library handling patches removed because of commit 912592de4ce Remove "INSTALL_NAME_DIR lib" target property Full changelog at https://github.com/opencv/opencv/wiki/ChangeLog Highlights: * Results from 11 GSoC 2016 projects have been submitted to the library, 9 of them have been integrated already, 2 still pending (the numbers below are the id's of the Pull Requests in opencv or opencv_contrib repository): + Ambroise Moreau (Delia Passalacqua) - sinusoidal patterns for structured light and phase unwrapping module (711) + Alexander Bokov (Maksim Shabunin) - DIS optical flow (excellent dense optical flow algorithm that is both significantly better and significantly faster than Farneback's algorithm - our baseline), and learning-based color constancy algorithms implementation (689, 708, 722, 736, 745, 747) + Tyan Vladimir (Antonella Cascitelli) - CNN based tracking algorithm (GOTURN) (718, 899) + Vladislav Samsonov (Ethan Rublee) - PCAFlow and Global Patch Collider algorithms implementation (710, 752) + Jo o Cartucho (Vincent Rabaud) - Multi-language OpenCV Tutorials in Python, C++ and Java (7041) + Jiri Horner (Bo Li) - New camera model and parallel processing for stitching pipeline (6933) + Vitaliy Lyudvichenko (Anatoly Baksheev) - Optimizations and improvements of dnn module (707, 750) + Iric Wu (Vadim Pisarevsky) - Base64 and JSON support for file storage (6697, 6949, 7088). Use names like `"myfilestorage.xml?base64"` when writing file storage to store big chunks of numerical data in base64-encoded form. + Edgar Riba (Manuele Tamburrano, Stefano Fabri) - tiny_dnn improvements and integration (720: pending) + Yida Wang (Manuele Tamburrano, Stefano Fabri) - Quantization and semantic saliency detection with tiny_dnn + Anguelos Nicolaou (Lluis Gomez) - Word-spotting CNN based algorithm (761: pending)
Diffstat (limited to 'graphics/opencv')
-rw-r--r--graphics/opencv/Makefile12
-rw-r--r--graphics/opencv/PLIST40
-rw-r--r--graphics/opencv/distinfo19
-rw-r--r--graphics/opencv/patches/patch-apps_annotation_CMakeLists.txt15
-rw-r--r--graphics/opencv/patches/patch-apps_createsamples_CMakeLists.txt15
-rw-r--r--graphics/opencv/patches/patch-apps_traincascade_CMakeLists.txt15
-rw-r--r--graphics/opencv/patches/patch-cmake_OpenCVModule.cmake15
-rw-r--r--graphics/opencv/patches/patch-cmake_OpenCVPCHSupport.cmake15
-rw-r--r--graphics/opencv/patches/patch-modules_java_CMakeLists.txt15
-rw-r--r--graphics/opencv/patches/patch-modules_objdetect_include_opencv_objdetect_detection__based__tracker.hpp13
-rw-r--r--graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp96
11 files changed, 120 insertions, 150 deletions
diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index 7a286cbf9ec..fad3664816f 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -1,13 +1,12 @@
-# $NetBSD: Makefile,v 1.69 2017/02/28 15:20:06 ryoon Exp $
+# $NetBSD: Makefile,v 1.70 2017/03/16 21:59:13 prlw1 Exp $
-DISTNAME= opencv-3.1.0
-PKGREVISION= 6
+DISTNAME= opencv-3.2.0
CATEGORIES= graphics devel
-MASTER_SITES= ${MASTER_SITE_GITHUB:=Itseez/}
+MASTER_SITES= ${MASTER_SITE_GITHUB:=opencv/}
EXTRACT_SUFX= .zip
MAINTAINER= anthony.mallet@laas.fr
-HOMEPAGE= http://code.opencv.org/projects/OpenCV/wiki/WikiStart
+HOMEPAGE= http://opencv.org/
COMMENT= Library for computer vision problems
LICENSE= modified-bsd
@@ -20,7 +19,8 @@ INSTALLATION_DIRS+= share/doc/opencv/papers
INSTALLATION_DIRS+= share/doc/opencv/ref/pics
INSTALLATION_DIRS+= share/OpenCV/haarcascades
-PKGCONFIG_OVERRIDE+= opencv.pc.cmake.in
+PKGCONFIG_OVERRIDE+= unix-install/opencv.pc
+PKGCONFIG_OVERRIDE_STAGE= post-configure
PY_PATCHPLIST= yes
REPLACE_PYTHON+= samples/python/*.py
diff --git a/graphics/opencv/PLIST b/graphics/opencv/PLIST
index 7738c103024..c7f9caf2dfe 100644
--- a/graphics/opencv/PLIST
+++ b/graphics/opencv/PLIST
@@ -1,7 +1,9 @@
-@comment $NetBSD: PLIST,v 1.16 2016/02/21 14:10:46 fhajny Exp $
+@comment $NetBSD: PLIST,v 1.17 2017/03/16 21:59:13 prlw1 Exp $
bin/opencv_annotation
bin/opencv_createsamples
bin/opencv_traincascade
+bin/opencv_version
+bin/opencv_visualisation
include/opencv/cv.h
include/opencv/cv.hpp
include/opencv/cvaux.h
@@ -78,6 +80,7 @@ include/opencv2/core/ocl_genbase.hpp
include/opencv2/core/opengl.hpp
include/opencv2/core/operations.hpp
include/opencv2/core/optim.hpp
+include/opencv2/core/ovx.hpp
include/opencv2/core/persistence.hpp
include/opencv2/core/private.cuda.hpp
include/opencv2/core/private.hpp
@@ -140,6 +143,8 @@ include/opencv2/imgcodecs/imgcodecs_c.h
include/opencv2/imgcodecs/ios.h
include/opencv2/imgproc.hpp
include/opencv2/imgproc/detail/distortion_model.hpp
+include/opencv2/imgproc/hal/hal.hpp
+include/opencv2/imgproc/hal/interface.h
include/opencv2/imgproc/imgproc.hpp
include/opencv2/imgproc/imgproc_c.h
include/opencv2/imgproc/types_c.h
@@ -202,53 +207,52 @@ include/opencv2/videostab/ring_buffer.hpp
include/opencv2/videostab/stabilizer.hpp
include/opencv2/videostab/wobble_suppression.hpp
lib/libopencv_calib3d.so
-lib/libopencv_calib3d.so.3.1
+lib/libopencv_calib3d.so.3.2
lib/libopencv_calib3d.so.${PKGVERSION}
lib/libopencv_core.so
-lib/libopencv_core.so.3.1
+lib/libopencv_core.so.3.2
lib/libopencv_core.so.${PKGVERSION}
lib/libopencv_features2d.so
-lib/libopencv_features2d.so.3.1
+lib/libopencv_features2d.so.3.2
lib/libopencv_features2d.so.${PKGVERSION}
lib/libopencv_flann.so
-lib/libopencv_flann.so.3.1
+lib/libopencv_flann.so.3.2
lib/libopencv_flann.so.${PKGVERSION}
lib/libopencv_highgui.so
-lib/libopencv_highgui.so.3.1
+lib/libopencv_highgui.so.3.2
lib/libopencv_highgui.so.${PKGVERSION}
lib/libopencv_imgcodecs.so
-lib/libopencv_imgcodecs.so.3.1
+lib/libopencv_imgcodecs.so.3.2
lib/libopencv_imgcodecs.so.${PKGVERSION}
lib/libopencv_imgproc.so
-lib/libopencv_imgproc.so.3.1
+lib/libopencv_imgproc.so.3.2
lib/libopencv_imgproc.so.${PKGVERSION}
lib/libopencv_ml.so
-lib/libopencv_ml.so.3.1
+lib/libopencv_ml.so.3.2
lib/libopencv_ml.so.${PKGVERSION}
lib/libopencv_objdetect.so
-lib/libopencv_objdetect.so.3.1
+lib/libopencv_objdetect.so.3.2
lib/libopencv_objdetect.so.${PKGVERSION}
lib/libopencv_photo.so
-lib/libopencv_photo.so.3.1
+lib/libopencv_photo.so.3.2
lib/libopencv_photo.so.${PKGVERSION}
lib/libopencv_shape.so
-lib/libopencv_shape.so.3.1
+lib/libopencv_shape.so.3.2
lib/libopencv_shape.so.${PKGVERSION}
lib/libopencv_stitching.so
-lib/libopencv_stitching.so.3.1
+lib/libopencv_stitching.so.3.2
lib/libopencv_stitching.so.${PKGVERSION}
lib/libopencv_superres.so
-lib/libopencv_superres.so.3.1
+lib/libopencv_superres.so.3.2
lib/libopencv_superres.so.${PKGVERSION}
-lib/libopencv_ts.a
lib/libopencv_video.so
-lib/libopencv_video.so.3.1
+lib/libopencv_video.so.3.2
lib/libopencv_video.so.${PKGVERSION}
lib/libopencv_videoio.so
-lib/libopencv_videoio.so.3.1
+lib/libopencv_videoio.so.3.2
lib/libopencv_videoio.so.${PKGVERSION}
lib/libopencv_videostab.so
-lib/libopencv_videostab.so.3.1
+lib/libopencv_videostab.so.3.2
lib/libopencv_videostab.so.${PKGVERSION}
lib/pkgconfig/opencv.pc
${PYSITELIB}/cv2.so
diff --git a/graphics/opencv/distinfo b/graphics/opencv/distinfo
index 54c369ca401..8ee3a1398de 100644
--- a/graphics/opencv/distinfo
+++ b/graphics/opencv/distinfo
@@ -1,22 +1,15 @@
-$NetBSD: distinfo,v 1.36 2016/07/16 03:49:56 markd Exp $
+$NetBSD: distinfo,v 1.37 2017/03/16 21:59:13 prlw1 Exp $
-SHA1 (opencv-3.1.0.zip) = 8c932b68fe2e1575e88dde759ab1ed1d53d6f41b
-RMD160 (opencv-3.1.0.zip) = d7a811c67cfb16243470822150760252d5770165
-SHA512 (opencv-3.1.0.zip) = b4915e8838fce8ba9e1af8b11e46678624435e9a41592e645413dfdc830993eaa017d337fe4c212a49f096421a6317a1892546087fbc3cfdab554522336c0f1a
-Size (opencv-3.1.0.zip) = 79186131 bytes
+SHA1 (opencv-3.2.0.zip) = 7a7d2eb8cf617f58d610d856e531f3d92b89bc42
+RMD160 (opencv-3.2.0.zip) = 09da1443a5ef3de036b11bf0d1f384da36d459d9
+SHA512 (opencv-3.2.0.zip) = c6418d2a7654fe9d50611e756778df4c6736f2de76b85773efbf490bb475dd95ec1041fe57a87163ce11a7db44430cd378c8416af3319f979ced92532bf5ebb5
+Size (opencv-3.2.0.zip) = 82033498 bytes
SHA1 (patch-3rdparty_ippicv_downloader.cmake) = a0b7c1b52f9ec4f35ff3f846785fbbfec1eeac51
-SHA1 (patch-apps_annotation_CMakeLists.txt) = 4c3a00b0dfef5e978b10ba966f68d050a06208fe
-SHA1 (patch-apps_createsamples_CMakeLists.txt) = 2d60ecc0e1674cde4414e91e837c24fa464d42aa
-SHA1 (patch-apps_traincascade_CMakeLists.txt) = 7114cc4c2057e12dc8e47bc61334cb8e175987eb
SHA1 (patch-cmake_OpenCVDetectCXXCompiler.cmake) = 221b0551d0f29d7e79afe3da8a33b1b3a4f7bf20
-SHA1 (patch-cmake_OpenCVModule.cmake) = 7667f19f3e9c6ff757d92a6a49e7c3430c6c080d
-SHA1 (patch-cmake_OpenCVPCHSupport.cmake) = 237fa2d000c402c55dfdbec3e27c89cffdfde8b1
SHA1 (patch-modules_core_include_opencv2_core_types_c.h) = 75444e65677be99af8167f9060419d7970a7adaa
SHA1 (patch-modules_core_src_downhill__simplex.cpp) = 1ad7c2fa126d15050b87785e8eec20dbe796b471
SHA1 (patch-modules_core_src_parallel__pthreads.cpp) = c64ef8872c120db0ab92582496235858eec9bf92
SHA1 (patch-modules_core_src_system.cpp) = 3b7ac545585a430d28c7077f360357079f127580
SHA1 (patch-modules_flann_include_opencv2_flann_defines.h) = ab848e67c4e03219670598ac2d21071a617a5c33
-SHA1 (patch-modules_java_CMakeLists.txt) = 020a8d2048d927e5d3819867df0d889bb516d8b4
-SHA1 (patch-modules_objdetect_include_opencv_objdetect_detection__based__tracker.hpp) = 83575857156321ae07f3fb03d1b3c61b804b3832
SHA1 (patch-modules_ts_src_ts.cpp) = b9a3992014b02dbd89d46375a2476385e91dc24c
-SHA1 (patch-modules_videoio_src_cap__v4l.cpp) = f8f786f97a9b8c047180b79e399b83f71735f91e
+SHA1 (patch-modules_videoio_src_cap__v4l.cpp) = 96f33b2b209776ff8f38127c611d49413b308123
diff --git a/graphics/opencv/patches/patch-apps_annotation_CMakeLists.txt b/graphics/opencv/patches/patch-apps_annotation_CMakeLists.txt
deleted file mode 100644
index 31e3b1a6a2b..00000000000
--- a/graphics/opencv/patches/patch-apps_annotation_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-apps_annotation_CMakeLists.txt,v 1.1 2016/02/08 02:04:18 dbj Exp $
-
-Fix library id handling on Darwin
-
---- apps/annotation/CMakeLists.txt.orig 2015-06-03 17:21:34.000000000 +0000
-+++ apps/annotation/CMakeLists.txt
-@@ -21,7 +21,7 @@ set_target_properties(${the_target} PROP
- DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
- ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
-- INSTALL_NAME_DIR lib
-+ INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}
- OUTPUT_NAME "opencv_annotation")
-
- if(ENABLE_SOLUTION_FOLDERS)
diff --git a/graphics/opencv/patches/patch-apps_createsamples_CMakeLists.txt b/graphics/opencv/patches/patch-apps_createsamples_CMakeLists.txt
deleted file mode 100644
index 3851d263a18..00000000000
--- a/graphics/opencv/patches/patch-apps_createsamples_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-apps_createsamples_CMakeLists.txt,v 1.1 2016/02/08 02:04:18 dbj Exp $
-
-Fix library id handling on Darwin
-
---- apps/createsamples/CMakeLists.txt.orig 2015-06-03 17:21:34.000000000 +0000
-+++ apps/createsamples/CMakeLists.txt
-@@ -23,7 +23,7 @@ set_target_properties(${the_target} PROP
- DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
- ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
-- INSTALL_NAME_DIR lib
-+ INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}
- OUTPUT_NAME "opencv_createsamples")
-
- if(ENABLE_SOLUTION_FOLDERS)
diff --git a/graphics/opencv/patches/patch-apps_traincascade_CMakeLists.txt b/graphics/opencv/patches/patch-apps_traincascade_CMakeLists.txt
deleted file mode 100644
index fb23b3a081d..00000000000
--- a/graphics/opencv/patches/patch-apps_traincascade_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-apps_traincascade_CMakeLists.txt,v 1.1 2016/02/08 02:04:18 dbj Exp $
-
-Fix library id handling on Darwin
-
---- apps/traincascade/CMakeLists.txt.orig 2015-06-03 17:21:34.000000000 +0000
-+++ apps/traincascade/CMakeLists.txt
-@@ -23,7 +23,7 @@ set_target_properties(${the_target} PROP
- DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
- ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
-- INSTALL_NAME_DIR lib
-+ INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}
- OUTPUT_NAME "opencv_traincascade")
-
- if(ENABLE_SOLUTION_FOLDERS)
diff --git a/graphics/opencv/patches/patch-cmake_OpenCVModule.cmake b/graphics/opencv/patches/patch-cmake_OpenCVModule.cmake
deleted file mode 100644
index bc0a9c262f1..00000000000
--- a/graphics/opencv/patches/patch-cmake_OpenCVModule.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-cmake_OpenCVModule.cmake,v 1.2 2016/02/21 14:10:46 fhajny Exp $
-
-Fix library id handling on Darwin
-
---- cmake/OpenCVModule.cmake.orig 2015-12-18 15:02:16.000000000 +0000
-+++ cmake/OpenCVModule.cmake
-@@ -834,7 +834,7 @@ macro(_ocv_create_module)
- COMPILE_PDB_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
-- INSTALL_NAME_DIR lib
-+ INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}
- )
-
- # For dynamic link numbering convenions
diff --git a/graphics/opencv/patches/patch-cmake_OpenCVPCHSupport.cmake b/graphics/opencv/patches/patch-cmake_OpenCVPCHSupport.cmake
deleted file mode 100644
index 7f5f23eaf0d..00000000000
--- a/graphics/opencv/patches/patch-cmake_OpenCVPCHSupport.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-cmake_OpenCVPCHSupport.cmake,v 1.1 2016/07/16 03:49:57 markd Exp $
-
-gcc6 trips up ".../cstdlib:75:25: fatal error: stdlib.h: No such file or directory" because of -isystem
-
---- cmake/OpenCVPCHSupport.cmake.orig 2015-12-18 15:02:16.000000000 +0000
-+++ cmake/OpenCVPCHSupport.cmake
-@@ -19,7 +19,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
- ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
- OUTPUT_VARIABLE gcc_compiler_version)
- #MESSAGE("GCC Version: ${gcc_compiler_version}")
-- IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
-+ IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0")
- SET(PCHSupport_FOUND TRUE)
- ENDIF()
-
diff --git a/graphics/opencv/patches/patch-modules_java_CMakeLists.txt b/graphics/opencv/patches/patch-modules_java_CMakeLists.txt
deleted file mode 100644
index 3ed5bbb3089..00000000000
--- a/graphics/opencv/patches/patch-modules_java_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-modules_java_CMakeLists.txt,v 1.1 2016/02/08 02:04:18 dbj Exp $
-
-Fix library id handling on Darwin
-
---- modules/java/CMakeLists.txt.orig 2015-06-03 17:21:34.000000000 +0000
-+++ modules/java/CMakeLists.txt
-@@ -363,7 +363,7 @@ set_target_properties(${the_module} PROP
- ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
- RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
-- INSTALL_NAME_DIR ${OPENCV_LIB_INSTALL_PATH}
-+ INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}
- LINK_INTERFACE_LIBRARIES ""
- )
-
diff --git a/graphics/opencv/patches/patch-modules_objdetect_include_opencv_objdetect_detection__based__tracker.hpp b/graphics/opencv/patches/patch-modules_objdetect_include_opencv_objdetect_detection__based__tracker.hpp
deleted file mode 100644
index f4b5eeac253..00000000000
--- a/graphics/opencv/patches/patch-modules_objdetect_include_opencv_objdetect_detection__based__tracker.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-modules_objdetect_include_opencv_objdetect_detection__based__tracker.hpp,v 1.2 2016/02/21 14:10:46 fhajny Exp $
-
---- modules/objdetect/include/opencv2/objdetect/detection_based_tracker.hpp.orig 2015-12-18 15:02:16.000000000 +0000
-+++ modules/objdetect/include/opencv2/objdetect/detection_based_tracker.hpp
-@@ -46,7 +46,7 @@
-
- // After this condition removal update blacklist for bindings: modules/python/common.cmake
- #if defined(__linux__) || defined(LINUX) || defined(__APPLE__) || defined(__ANDROID__) || \
-- (defined(__cplusplus) && __cplusplus > 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1700)
-+ (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1700)
-
- #include <vector>
-
diff --git a/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp b/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp
index 65e7dcac3c0..384bb4e8eec 100644
--- a/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp
+++ b/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp
@@ -1,6 +1,8 @@
-$NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg Exp $
+$NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.2 2017/03/16 21:59:13 prlw1 Exp $
---- modules/videoio/src/cap_v4l.cpp.orig 2015-12-18 15:02:16.000000000 +0000
+Conditionalize settings not available in NetBSD's v4l2 emulation.
+
+--- modules/videoio/src/cap_v4l.cpp.orig 2016-12-23 12:54:44.000000000 +0000
+++ modules/videoio/src/cap_v4l.cpp
@@ -216,6 +216,7 @@ make & enjoy!
#include <fcntl.h>
@@ -10,20 +12,31 @@ $NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg
#include <sys/types.h>
#include <sys/mman.h>
-@@ -462,7 +463,9 @@ static int autosetup_capture_mode_v4l2(C
+@@ -469,9 +470,13 @@ static int autosetup_capture_mode_v4l2(C
V4L2_PIX_FMT_UYVY,
V4L2_PIX_FMT_SN9C10X,
V4L2_PIX_FMT_SBGGR8,
+#ifdef V4L2_PIX_FMT_SGBRG8
V4L2_PIX_FMT_SGBRG8,
+- V4L2_PIX_FMT_RGB24,
+- V4L2_PIX_FMT_Y16
++#endif
++ V4L2_PIX_FMT_RGB24
++#ifdef V4L2_PIX_FMT_Y16
++ ,V4L2_PIX_FMT_Y16
+#endif
- V4L2_PIX_FMT_RGB24
};
-@@ -515,9 +518,11 @@ static void v4l2_control_range(CvCapture
- case V4L2_CID_EXPOSURE:
+ for (size_t i = 0; i < sizeof(try_order) / sizeof(__u32); i++) {
+@@ -520,12 +525,16 @@ static void v4l2_control_range(CvCapture
+ case V4L2_CID_GAIN:
+ cap->gain = range;
+ break;
++#ifdef V4L2_CID_EXPOSURE_ABSOLUTE
+ case V4L2_CID_EXPOSURE_ABSOLUTE:
cap->exposure = range;
break;
++#endif
+#ifdef V4L2_CID_FOCUS_ABSOLUTE
case V4L2_CID_FOCUS_ABSOLUTE:
cap->focus = range;
@@ -32,7 +45,7 @@ $NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg
}
}
-@@ -539,7 +544,9 @@ static void v4l2_scan_controls(CvCapture
+@@ -547,7 +556,9 @@ static void v4l2_scan_controls(CvCapture
break;
}
@@ -42,7 +55,32 @@ $NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg
}
static int v4l2_set_fps(CvCaptureCAM_V4L* capture) {
-@@ -1523,12 +1530,14 @@ static IplImage* icvRetrieveFrameCAM_V4L
+@@ -563,8 +574,10 @@ static int v4l2_num_channels(__u32 palet
+ case V4L2_PIX_FMT_YVU420:
+ case V4L2_PIX_FMT_MJPEG:
+ case V4L2_PIX_FMT_JPEG:
++#ifdef V4L2_PIX_FMT_Y16
+ case V4L2_PIX_FMT_Y16:
+ return 1;
++#endif
+ case V4L2_PIX_FMT_YUYV:
+ case V4L2_PIX_FMT_UYVY:
+ return 2;
+@@ -592,11 +605,13 @@ static void v4l2_create_frame(CvCaptureC
+ case V4L2_PIX_FMT_YVU420:
+ size.height = size.height * 3 / 2; // "1.5" channels
+ break;
++#ifdef V4L2_PIX_FMT_Y16
+ case V4L2_PIX_FMT_Y16:
+ if(!capture->convert_rgb){
+ depth = IPL_DEPTH_16U;
+ }
+ break;
++#endif
+ }
+ }
+
+@@ -1555,18 +1570,21 @@ static IplImage* icvRetrieveFrameCAM_V4L
(unsigned char*)capture->frame.imageData);
break;
@@ -57,10 +95,33 @@ $NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg
case V4L2_PIX_FMT_RGB24:
rgb24_to_rgb24(capture->form.fmt.pix.width,
capture->form.fmt.pix.height,
-@@ -1554,10 +1563,14 @@ static inline __u32 capPropertyToV4L2(in
+ (unsigned char*)capture->buffers[(capture->bufferIndex+1) % capture->req.count].start,
+ (unsigned char*)capture->frame.imageData);
+ break;
++#ifdef V4L2_PIX_FMT_Y16
+ case V4L2_PIX_FMT_Y16:
+ if(capture->convert_rgb){
+ y16_to_rgb24(capture->form.fmt.pix.width,
+@@ -1579,6 +1597,7 @@ static IplImage* icvRetrieveFrameCAM_V4L
+ capture->frame.imageSize);
+ }
+ break;
++#endif
+ }
+
+ return(&capture->frame);
+@@ -1596,14 +1615,22 @@ static inline __u32 capPropertyToV4L2(in
+ return V4L2_CID_HUE;
+ case CV_CAP_PROP_GAIN:
return V4L2_CID_GAIN;
++#ifdef V4L2_CID_EXPOSURE_AUTO
+ case CV_CAP_PROP_AUTO_EXPOSURE:
+ return V4L2_CID_EXPOSURE_AUTO;
++#endif
++#ifdef V4L2_CID_EXPOSURE_ABSOLUTE
case CV_CAP_PROP_EXPOSURE:
- return V4L2_CID_EXPOSURE;
+ return V4L2_CID_EXPOSURE_ABSOLUTE;
++#endif
+#ifdef V4L2_CID_FOCUS_AUTO
case CV_CAP_PROP_AUTOFOCUS:
return V4L2_CID_FOCUS_AUTO;
@@ -72,3 +133,18 @@ $NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg
default:
return -1;
}
+@@ -1749,12 +1776,14 @@ static bool icvSetControl (CvCaptureCAM_
+ return false;
+ }
+
++#if defined(V4L2_CID_EXPOSURE_AUTO) && defined(V4L2_EXPOSURE_MANUAL) && defined(V4L2_CID_EXPOSURE_ABSOLUTE)
+ if(control.id == V4L2_CID_EXPOSURE_AUTO && control.value == V4L2_EXPOSURE_MANUAL) {
+ // update the control range for expose after disabling autoexposure
+ // as it is not read correctly at startup
+ // TODO check this again as it might be fixed with Linux 4.5
+ v4l2_control_range(capture, V4L2_CID_EXPOSURE_ABSOLUTE);
+ }
++#endif
+
+ /* all was OK */
+ return true;