diff options
author | joerg <joerg> | 2016-03-01 20:14:24 +0000 |
---|---|---|
committer | joerg <joerg> | 2016-03-01 20:14:24 +0000 |
commit | a0d84d2c16287f2901dc2363b1037ea646f5518e (patch) | |
tree | 031e03d1f6bb3ad4f40f6a44320d08ab90f62bec /graphics | |
parent | 5ed0e126908e385e76675dcd0b3c98b7623338cc (diff) | |
download | pkgsrc-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/distinfo | 3 | ||||
-rw-r--r-- | graphics/opencv/patches/patch-modules_videoio_src_cap__v4l.cpp | 74 |
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; + } |