summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorjoerg <joerg>2016-03-01 20:14:24 +0000
committerjoerg <joerg>2016-03-01 20:14:24 +0000
commita0d84d2c16287f2901dc2363b1037ea646f5518e (patch)
tree031e03d1f6bb3ad4f40f6a44320d08ab90f62bec /graphics
parent5ed0e126908e385e76675dcd0b3c98b7623338cc (diff)
downloadpkgsrc-a0d84d2c16287f2901dc2363b1037ea646f5518e.tar.gz
NetBSD's v4l2 emulation doesn't currently have focus-related settings,
so conditionalize parts.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/opencv/distinfo3
-rw-r--r--graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp74
2 files changed, 76 insertions, 1 deletions
diff --git a/graphics/opencv/distinfo b/graphics/opencv/distinfo
index 690b5b5ce3f..eed64253291 100644
--- a/graphics/opencv/distinfo
+++ b/graphics/opencv/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.34 2016/02/21 14:10:46 fhajny Exp $
+$NetBSD: distinfo,v 1.35 2016/03/01 20:14:24 joerg Exp $
SHA1 (opencv-3.1.0.zip) = 8c932b68fe2e1575e88dde759ab1ed1d53d6f41b
RMD160 (opencv-3.1.0.zip) = d7a811c67cfb16243470822150760252d5770165
@@ -18,3 +18,4 @@ SHA1 (patch-modules_flann_include_opencv2_flann_defines.h) = ab848e67c4e03219670
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
diff --git a/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp b/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp
new file mode 100644
index 00000000000..65e7dcac3c0
--- /dev/null
+++ b/graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp
@@ -0,0 +1,74 @@
+$NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.1 2016/03/01 20:14:24 joerg Exp $
+
+--- modules/videoio/src/cap_v4l.cpp.orig 2015-12-18 15:02:16.000000000 +0000
++++ modules/videoio/src/cap_v4l.cpp
+@@ -216,6 +216,7 @@ make & enjoy!
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
++#include <inttypes.h>
+ #include <sys/types.h>
+ #include <sys/mman.h>
+
+@@ -462,7 +463,9 @@ 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,
++#endif
+ V4L2_PIX_FMT_RGB24
+ };
+
+@@ -515,9 +518,11 @@ static void v4l2_control_range(CvCapture
+ case V4L2_CID_EXPOSURE:
+ cap->exposure = range;
+ break;
++#ifdef V4L2_CID_FOCUS_ABSOLUTE
+ case V4L2_CID_FOCUS_ABSOLUTE:
+ cap->focus = range;
+ break;
++#endif
+ }
+ }
+
+@@ -539,7 +544,9 @@ static void v4l2_scan_controls(CvCapture
+ break;
+ }
+
++#ifdef V4L2_CID_FOCUS_ABSOLUTE
+ v4l2_control_range(capture, V4L2_CID_FOCUS_ABSOLUTE);
++#endif
+ }
+
+ static int v4l2_set_fps(CvCaptureCAM_V4L* capture) {
+@@ -1523,12 +1530,14 @@ static IplImage* icvRetrieveFrameCAM_V4L
+ (unsigned char*)capture->frame.imageData);
+ break;
+
++#ifdef V4L2_PIX_FMT_SGBRG8
+ case V4L2_PIX_FMT_SGBRG8:
+ sgbrg2rgb24(capture->form.fmt.pix.width,
+ capture->form.fmt.pix.height,
+ (unsigned char*)capture->buffers[(capture->bufferIndex+1) % capture->req.count].start,
+ (unsigned char*)capture->frame.imageData);
+ break;
++#endif
+ 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
+ return V4L2_CID_GAIN;
+ case CV_CAP_PROP_EXPOSURE:
+ return V4L2_CID_EXPOSURE;
++#ifdef V4L2_CID_FOCUS_AUTO
+ case CV_CAP_PROP_AUTOFOCUS:
+ return V4L2_CID_FOCUS_AUTO;
++#endif
++#ifdef V4L2_CID_FOCUS_ABSOLUTE
+ case CV_CAP_PROP_FOCUS:
+ return V4L2_CID_FOCUS_ABSOLUTE;
++#endif
+ default:
+ return -1;
+ }