Import of pkgsrc-2016Q3

This commit is contained in:
2016-11-18 22:39:22 +01:00
committed by sambuc
parent 9d819b6d54
commit 1242aa1e36
35952 changed files with 949747 additions and 377081 deletions
@@ -0,0 +1,12 @@
$NetBSD: patch-3rdparty_ippicv_downloader.cmake,v 1.2 2016/02/21 14:10:46 fhajny Exp $
--- 3rdparty/ippicv/downloader.cmake.orig 2015-12-18 15:02:16.000000000 +0000
+++ 3rdparty/ippicv/downloader.cmake
@@ -6,6 +6,7 @@
#
function(_icv_downloader)
+ return()
# Commit SHA in the opencv_3rdparty repo
set(IPPICV_BINARIES_COMMIT "81a676001ca8075ada498583e4166079e5744668")
# Define actual ICV versions
@@ -0,0 +1,15 @@
$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)
@@ -0,0 +1,15 @@
$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)
@@ -0,0 +1,15 @@
$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)
@@ -0,0 +1,17 @@
$NetBSD: patch-cmake_OpenCVDetectCXXCompiler.cmake,v 1.1 2015/10/08 17:45:59 fhajny Exp $
Rely on pkgsrc to set architeture, see CONFIGURE_ENV.
--- cmake/OpenCVDetectCXXCompiler.cmake.orig 2015-06-03 17:21:34.000000000 +0000
+++ cmake/OpenCVDetectCXXCompiler.cmake
@@ -103,6 +103,10 @@ if(MSVC64 OR MINGW64)
set(X86_64 1)
elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING))
set(X86 1)
+elseif("$ENV{MACHINE_ARCH}" MATCHES "x86_64")
+ set(X86_64 1)
+elseif("$ENV{MACHINE_ARCH}" MATCHES "i386")
+ set(X86 1)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
set(X86_64 1)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
@@ -1,75 +0,0 @@
$NetBSD: patch-cmake_OpenCVFindLibsVideo.cmake,v 1.1 2015/02/26 17:52:12 tnn Exp $
OSX ffmpeg option build fixes from upstream 2.4 branch.
--- cmake/OpenCVFindLibsVideo.cmake.orig 2014-04-11 10:15:26.000000000 +0000
+++ cmake/OpenCVFindLibsVideo.cmake
@@ -177,42 +177,35 @@ if(WITH_FFMPEG)
# Do an other trial
FIND_FILE(BZIP2_LIBRARIES NAMES libbz2.so.1 PATHS /lib)
endif()
- endif(HAVE_FFMPEG)
- endif()
-
- if(APPLE)
- find_path(FFMPEG_INCLUDE_DIR "libavformat/avformat.h"
- PATHS /usr/local /usr /opt
- PATH_SUFFIXES include
- DOC "The path to FFMPEG headers")
- if(FFMPEG_INCLUDE_DIR)
- set(HAVE_GENTOO_FFMPEG TRUE)
- set(FFMPEG_LIB_DIR "${FFMPEG_INCLUDE_DIR}/../lib" CACHE PATH "Full path of FFMPEG library directory")
- if(EXISTS "${FFMPEG_LIB_DIR}/libavcodec.a")
- set(HAVE_FFMPEG_CODEC 1)
- set(ALIASOF_libavcodec_VERSION "Unknown")
- if(EXISTS "${FFMPEG_LIB_DIR}/libavformat.a")
- set(HAVE_FFMPEG_FORMAT 1)
+ else()
+ find_path(FFMPEG_INCLUDE_DIR "libavformat/avformat.h"
+ PATHS /usr/local /usr /opt
+ PATH_SUFFIXES include
+ DOC "The path to FFMPEG headers")
+ if(FFMPEG_INCLUDE_DIR)
+ set(HAVE_GENTOO_FFMPEG TRUE)
+ set(FFMPEG_LIB_DIR "${FFMPEG_INCLUDE_DIR}/../lib" CACHE PATH "Full path of FFMPEG library directory")
+ find_library(FFMPEG_CODEC_LIB "avcodec" HINTS "${FFMPEG_LIB_DIR}")
+ find_library(FFMPEG_FORMAT_LIB "avformat" HINTS "${FFMPEG_LIB_DIR}")
+ find_library(FFMPEG_UTIL_LIB "avutil" HINTS "${FFMPEG_LIB_DIR}")
+ find_library(FFMPEG_SWSCALE_LIB "swscale" HINTS "${FFMPEG_LIB_DIR}")
+ if(FFMPEG_CODEC_LIB AND FFMPEG_FORMAT_LIB AND
+ FFMPEG_UTIL_LIB AND FFMPEG_SWSCALE_LIB)
+ set(ALIASOF_libavcodec_VERSION "Unknown")
set(ALIASOF_libavformat_VERSION "Unknown")
- if(EXISTS "${FFMPEG_LIB_DIR}/libavutil.a")
- set(HAVE_FFMPEG_UTIL 1)
- set(ALIASOF_libavutil_VERSION "Unknown")
- if(EXISTS "${FFMPEG_LIB_DIR}/libswscale.a")
- set(HAVE_FFMPEG_SWSCALE 1)
- set(ALIASOF_libswscale_VERSION "Unknown")
- set(HAVE_FFMPEG 1)
- endif()
- endif()
+ set(ALIASOF_libavutil_VERSION "Unknown")
+ set(ALIASOF_libswscale_VERSION "Unknown")
+ set(HAVE_FFMPEG 1)
endif()
- endif()
- endif(FFMPEG_INCLUDE_DIR)
- if(HAVE_FFMPEG)
- set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} "${FFMPEG_LIB_DIR}/libavcodec.a"
- "${FFMPEG_LIB_DIR}/libavformat.a" "${FFMPEG_LIB_DIR}/libavutil.a"
- "${FFMPEG_LIB_DIR}/libswscale.a")
- ocv_include_directories(${FFMPEG_INCLUDE_DIR})
+ endif(FFMPEG_INCLUDE_DIR)
+ if(HAVE_FFMPEG)
+ set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES}
+ ${FFMPEG_CODEC_LIB} ${FFMPEG_FORMAT_LIB}
+ ${FFMPEG_UTIL_LIB} ${FFMPEG_SWSCALE_LIB})
+ ocv_include_directories(${FFMPEG_INCLUDE_DIR})
+ endif(HAVE_FFMPEG)
endif()
- endif(APPLE)
+ endif()
endif(WITH_FFMPEG)
# --- VideoInput/DirectShow ---
@@ -0,0 +1,15 @@
$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
@@ -0,0 +1,15 @@
$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()
@@ -1,66 +0,0 @@
$NetBSD: patch-modules_contrib_src_inputoutput.cpp,v 1.1 2013/06/12 10:13:58 jperkin Exp $
SunOS does not have dirent d_type.
--- modules/contrib/src/inputoutput.cpp.orig 2012-10-17 22:55:38.000000000 +0000
+++ modules/contrib/src/inputoutput.cpp
@@ -5,6 +5,9 @@
#include <windows.h>
#include <tchar.h>
#else
+#ifdef __sun
+ #include <sys/stat.h>
+#endif
#include <dirent.h>
#endif
@@ -47,6 +50,10 @@ namespace cv
(void)addPath;
DIR *dp;
struct dirent *dirp;
+#ifdef __sun
+ struct stat sb;
+ char buf[PATH_MAX];
+#endif
if((dp = opendir(path.c_str())) == NULL)
{
return list;
@@ -54,7 +61,13 @@ namespace cv
while ((dirp = readdir(dp)) != NULL)
{
+#ifdef __sun
+ snprintf(buf, PATH_MAX, "%s/%s", path.c_str(), dirp->d_name);
+ stat(buf, &sb);
+ if (S_ISREG(sb.st_mode))
+#else
if (dirp->d_type == DT_REG)
+#endif
{
if (exten.compare("*") == 0)
list.push_back(static_cast<std::string>(dirp->d_name));
@@ -105,6 +118,10 @@ namespace cv
(void)addPath;
DIR *dp;
struct dirent *dirp;
+#ifdef __sun
+ struct stat sb;
+ char buf[PATH_MAX];
+#endif
if((dp = opendir(path_f.c_str())) == NULL)
{
return list;
@@ -112,7 +129,13 @@ namespace cv
while ((dirp = readdir(dp)) != NULL)
{
+#ifdef __sun
+ snprintf(buf, PATH_MAX, "%s/%s", path.c_str(), dirp->d_name);
+ stat(buf, &sb);
+ if (S_ISDIR(sb.st_mode) &&
+#else
if (dirp->d_type == DT_DIR &&
+#endif
strcmp(dirp->d_name, ".") != 0 &&
strcmp(dirp->d_name, "..") != 0 )
{
@@ -1,12 +0,0 @@
$NetBSD: patch-modules_contrib_src_spinimages.cpp,v 1.1 2013/05/06 14:48:22 joerg Exp $
--- modules/contrib/src/spinimages.cpp.orig 2013-05-05 18:32:00.000000000 +0000
+++ modules/contrib/src/spinimages.cpp
@@ -46,6 +46,7 @@
#include <functional>
#include <fstream>
#include <limits>
+#include <numeric>
#include <set>
using namespace cv;
@@ -1,15 +1,15 @@
$NetBSD: patch-modules_core_include_opencv2_core_types_c.h,v 1.1 2012/12/07 21:37:10 adam Exp $
$NetBSD: patch-modules_core_include_opencv2_core_types_c.h,v 1.2 2015/10/08 17:45:59 fhajny Exp $
Define 'depth' as unsigned int, or IPL_DEPTH_SIGN=0x8000000 won't fit in int.
--- modules/core/include/opencv2/core/types_c.h.orig 2012-12-07 21:15:58.000000000 +0000
--- modules/core/include/opencv2/core/types_c.h.orig 2015-06-03 17:21:34.000000000 +0000
+++ modules/core/include/opencv2/core/types_c.h
@@ -473,7 +473,7 @@ typedef struct _IplImage
int ID; /* version (=0)*/
int nChannels; /* Most of OpenCV functions support 1,2,3 or 4 channels */
int alphaChannel; /* Ignored by OpenCV */
- int depth; /* Pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S,
+ unsigned int depth; /* Pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S,
@@ -303,7 +303,7 @@ _IplImage
int ID; /**< version (=0)*/
int nChannels; /**< Most of OpenCV functions support 1,2,3 or 4 channels */
int alphaChannel; /**< Ignored by OpenCV */
- int depth; /**< Pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S,
+ unsigned int depth; /**< Pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S,
IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F are supported. */
char colorModel[4]; /* Ignored by OpenCV */
char channelSeq[4]; /* ditto */
char colorModel[4]; /**< Ignored by OpenCV */
char channelSeq[4]; /**< ditto */
@@ -0,0 +1,16 @@
$NetBSD: patch-modules_core_src_downhill__simplex.cpp,v 1.1 2015/10/08 17:45:59 fhajny Exp $
Avoid DS conflict on SunOS.
--- modules/core/src/downhill_simplex.cpp.orig 2015-06-03 17:21:34.000000000 +0000
+++ modules/core/src/downhill_simplex.cpp
@@ -450,6 +450,9 @@ protected:
};
+#if defined(__sun)
+#undef DS
+#endif
// both minRange & minError are specified by termcrit.epsilon;
// In addition, user may specify the number of iterations that the algorithm does.
Ptr<DownhillSolver> DownhillSolver::create( const Ptr<MinProblemSolver::Function>& f,
@@ -0,0 +1,17 @@
$NetBSD: patch-modules_core_src_parallel__pthreads.cpp,v 1.2 2016/02/21 14:10:46 fhajny Exp $
PTHREAD_RECURSIVE_MUTEX_INITIALIZER doesn't exist on SunOS.
--- modules/core/src/parallel_pthreads.cpp.orig 2015-12-18 15:02:16.000000000 +0000
+++ modules/core/src/parallel_pthreads.cpp
@@ -221,6 +221,10 @@ private:
ThreadManagerPoolState m_pool_state;
};
+#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER
+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#endif
+
const char ThreadManager::m_env_name[] = "OPENCV_FOR_THREADS_NUM";
#ifdef ANDROID
@@ -0,0 +1,15 @@
$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 ""
)
@@ -1,28 +0,0 @@
$NetBSD: patch-modules_legacy_src_calibfilter.cpp,v 1.1 2014/05/27 09:57:21 joerg Exp $
--- modules/legacy/src/calibfilter.cpp.orig 2014-05-22 13:56:04.000000000 +0000
+++ modules/legacy/src/calibfilter.cpp
@@ -95,10 +95,12 @@ bool CvCalibFilter::SetEtalon( CvCalibEt
Stop();
- if (latestPoints != NULL)
+ for( i = 0; i < MAX_CAMERAS; i++ )
{
- for( i = 0; i < MAX_CAMERAS; i++ )
+ if (latestPoints[i] != NULL)
+ {
cvFree( latestPoints + i );
+ }
}
if( type == CV_CALIB_ETALON_USER || type != etalonType )
@@ -529,7 +531,7 @@ void CvCalibFilter::DrawPoints( CvMat**
return;
}
- if( latestCounts )
+ if( 1 )
{
for( i = 0; i < cameraCount; i++ )
{
@@ -0,0 +1,13 @@
$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>
@@ -1,16 +0,0 @@
$NetBSD: patch-modules_ocl_src_gftt.cpp,v 1.1 2014/07/24 17:16:02 jperkin Exp $
Avoid GS define from sys/regset.h on SunOS.
--- modules/ocl/src/gftt.cpp.orig 2014-04-11 10:15:26.000000000 +0000
+++ modules/ocl/src/gftt.cpp
@@ -69,6 +69,9 @@ struct DefCornerCompare
}
};
+#if defined(__sun)
+#undef GS
+#endif
// sort corner point using opencl bitonicosrt implementation
static void sortCorners_caller(oclMat& corners, const int count)
{
@@ -1,16 +0,0 @@
$NetBSD: patch-modules_python_src2_cv2.cv.hpp,v 1.1 2015/07/28 16:43:25 rumko Exp $
Fix build under clang.
"error: C-style cast from 'nullprt_t' to 'CvNextEdgeType' is not allowed."
--- modules/python/src2/cv2.cv.hpp.orig 2014-04-11 10:15:26.000000000 +0000
+++ modules/python/src2/cv2.cv.hpp
@@ -2155,7 +2155,7 @@ static int convert_to_CvSubdiv2DPTR(PyOb
static int convert_to_CvNextEdgeType(PyObject *o, CvNextEdgeType *dst, const char *name = "no_name")
{
if (!PyInt_Check(o)) {
- *dst = (CvNextEdgeType)NULL;
+ *dst = (CvNextEdgeType)0;
return failmsg("Expected number for CvNextEdgeType argument '%s'", name);
} else {
*dst = (CvNextEdgeType)PyInt_AsLong(o);
@@ -1,10 +1,19 @@
$NetBSD: patch-modules_ts_src_ts.cpp,v 1.2 2013/06/19 11:54:04 fhajny Exp $
$NetBSD: patch-modules_ts_src_ts.cpp,v 1.3 2015/10/08 17:45:59 fhajny Exp $
Avoid std::foo conflict.
--- modules/ts/src/ts.cpp.orig 2013-04-05 09:00:20.000000000 +0000
--- modules/ts/src/ts.cpp.orig 2015-06-03 17:21:34.000000000 +0000
+++ modules/ts/src/ts.cpp
@@ -562,7 +562,7 @@ void TS::vprintf( int streams, const cha
@@ -235,7 +235,7 @@ void BaseTest::safe_run( int start_from
}
catch (const TS::FailureCode& fc)
{
- std::string errorStr = TS::str_from_code(fc);
+ ::std::string errorStr = TS::str_from_code(fc);
ts->printf(TS::LOG, "General failure:\n\t%s (%d)\n", errorStr.c_str(), fc);
ts->set_failed_test_info( fc );
@@ -558,7 +558,7 @@ void TS::vprintf( int streams, const cha
for( int i = 0; i < MAX_IDX; i++ )
if( (streams & (1 << i)) )
{
@@ -13,7 +22,7 @@ Avoid std::foo conflict.
// in the new GTest-based framework we do not use
// any output files (except for the automatically generated xml report).
// if a test fails, all the buffers are printed, so we do not want to duplicate the information and
@@ -617,7 +617,7 @@ void smoothBorder(Mat& img, const Scalar
@@ -613,7 +613,7 @@ void smoothBorder(Mat& img, const Scalar
Scalar s;
uchar *p = NULL;
int n = 100/delta;
@@ -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;
}