diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile index 7a286cbf9ec8..fad3664816f9 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 7738c103024d..c7f9caf2dfe2 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 54c369ca4018..8ee3a1398de2 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 31e3b1a6a2b7..000000000000 --- 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 3851d263a18a..000000000000 --- 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 fb23b3a081d7..000000000000 --- 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 bc0a9c262f15..000000000000 --- 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 7f5f23eaf0dd..000000000000 --- 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 3ed5bbb3089b..000000000000 --- 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 f4b5eeac253a..000000000000 --- 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 - 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 65e7dcac3c03..384bb4e8eec7 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 @@ -10,20 +12,31 @@ $NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg #include #include -@@ -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;