mirror of
https://github.com/opencv/opencv.git
synced 2024-12-12 15:19:11 +08:00
0d65397ae7
cap_libv4l depends on an external library (libv4l) yet is still larger (1966 loc vs 1822 loc). It was initially introduced copy pasting cap_v4l in order to offload various color conversions to libv4l. However nowadays we handle most of the needed color conversions inside OpenCV. Our own implementation is better tested and (probably) also better performing. (as it can optionally leverage IPP/ OpenCL) Currently cap_v4l is better maintained and generally the code is in better shape. There is however an API difference in getting unconverted frames: * on cap_libv4l one need to set `CV_CAP_MODE_GRAY=1` or `CV_CAP_MODE_YUYV=1` * on cap_v4l one needs to set `CV_CAP_PROP_CONVERT_RGB=0` the latter is more flexible though as it also allows accessing undecoded JPEG images. fixes #4563
233 lines
4.8 KiB
C
233 lines
4.8 KiB
C
#ifndef OPENCV_CVCONFIG_H_INCLUDED
|
|
#define OPENCV_CVCONFIG_H_INCLUDED
|
|
|
|
/* OpenCV compiled as static or dynamic libs */
|
|
#cmakedefine BUILD_SHARED_LIBS
|
|
|
|
/* OpenCV intrinsics optimized code */
|
|
#cmakedefine CV_ENABLE_INTRINSICS
|
|
|
|
/* OpenCV additional optimized code */
|
|
#cmakedefine CV_DISABLE_OPTIMIZATION
|
|
|
|
/* Compile for 'real' NVIDIA GPU architectures */
|
|
#define CUDA_ARCH_BIN "${OPENCV_CUDA_ARCH_BIN}"
|
|
|
|
/* Create PTX or BIN for 1.0 compute capability */
|
|
#cmakedefine CUDA_ARCH_BIN_OR_PTX_10
|
|
|
|
/* NVIDIA GPU features are used */
|
|
#define CUDA_ARCH_FEATURES "${OPENCV_CUDA_ARCH_FEATURES}"
|
|
|
|
/* Compile for 'virtual' NVIDIA PTX architectures */
|
|
#define CUDA_ARCH_PTX "${OPENCV_CUDA_ARCH_PTX}"
|
|
|
|
/* AVFoundation video libraries */
|
|
#cmakedefine HAVE_AVFOUNDATION
|
|
|
|
/* V4L capturing support */
|
|
#cmakedefine HAVE_CAMV4L
|
|
|
|
/* V4L2 capturing support */
|
|
#cmakedefine HAVE_CAMV4L2
|
|
|
|
/* AMD's Basic Linear Algebra Subprograms Library*/
|
|
#cmakedefine HAVE_CLAMDBLAS
|
|
|
|
/* AMD's OpenCL Fast Fourier Transform Library*/
|
|
#cmakedefine HAVE_CLAMDFFT
|
|
|
|
/* Clp support */
|
|
#cmakedefine HAVE_CLP
|
|
|
|
/* Cocoa API */
|
|
#cmakedefine HAVE_COCOA
|
|
|
|
/* NVIDIA CUDA Basic Linear Algebra Subprograms (BLAS) API*/
|
|
#cmakedefine HAVE_CUBLAS
|
|
|
|
/* NVIDIA CUDA Runtime API*/
|
|
#cmakedefine HAVE_CUDA
|
|
|
|
/* NVIDIA CUDA Fast Fourier Transform (FFT) API*/
|
|
#cmakedefine HAVE_CUFFT
|
|
|
|
/* IEEE1394 capturing support */
|
|
#cmakedefine HAVE_DC1394
|
|
|
|
/* IEEE1394 capturing support - libdc1394 v2.x */
|
|
#cmakedefine HAVE_DC1394_2
|
|
|
|
/* DirectX */
|
|
#cmakedefine HAVE_DIRECTX
|
|
#cmakedefine HAVE_DIRECTX_NV12
|
|
#cmakedefine HAVE_D3D11
|
|
#cmakedefine HAVE_D3D10
|
|
#cmakedefine HAVE_D3D9
|
|
|
|
/* DirectShow Video Capture library */
|
|
#cmakedefine HAVE_DSHOW
|
|
|
|
/* Eigen Matrix & Linear Algebra Library */
|
|
#cmakedefine HAVE_EIGEN
|
|
|
|
/* FFMpeg video library */
|
|
#cmakedefine HAVE_FFMPEG
|
|
|
|
/* Geospatial Data Abstraction Library */
|
|
#cmakedefine HAVE_GDAL
|
|
|
|
/* GStreamer multimedia framework */
|
|
#cmakedefine HAVE_GSTREAMER
|
|
|
|
/* GTK+ 2.0 Thread support */
|
|
#cmakedefine HAVE_GTHREAD
|
|
|
|
/* GTK+ 2.x toolkit */
|
|
#cmakedefine HAVE_GTK
|
|
|
|
/* Halide support */
|
|
#cmakedefine HAVE_HALIDE
|
|
|
|
/* Vulkan support */
|
|
#cmakedefine HAVE_VULKAN
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#cmakedefine HAVE_INTTYPES_H 1
|
|
|
|
/* Intel Perceptual Computing SDK library */
|
|
#cmakedefine HAVE_INTELPERC
|
|
|
|
/* Intel Integrated Performance Primitives */
|
|
#cmakedefine HAVE_IPP
|
|
#cmakedefine HAVE_IPP_ICV
|
|
#cmakedefine HAVE_IPP_IW
|
|
#cmakedefine HAVE_IPP_IW_LL
|
|
|
|
/* JPEG-2000 codec */
|
|
#cmakedefine HAVE_JASPER
|
|
|
|
/* IJG JPEG codec */
|
|
#cmakedefine HAVE_JPEG
|
|
|
|
/* libpng/png.h needs to be included */
|
|
#cmakedefine HAVE_LIBPNG_PNG_H
|
|
|
|
/* GDCM DICOM codec */
|
|
#cmakedefine HAVE_GDCM
|
|
|
|
/* Microsoft Media Foundation Capture library */
|
|
#cmakedefine HAVE_MSMF
|
|
|
|
/* NVIDIA Video Decoding API*/
|
|
#cmakedefine HAVE_NVCUVID
|
|
|
|
/* NVIDIA Video Encoding API*/
|
|
#cmakedefine HAVE_NVCUVENC
|
|
|
|
/* OpenCL Support */
|
|
#cmakedefine HAVE_OPENCL
|
|
#cmakedefine HAVE_OPENCL_STATIC
|
|
#cmakedefine HAVE_OPENCL_SVM
|
|
|
|
/* OpenEXR codec */
|
|
#cmakedefine HAVE_OPENEXR
|
|
|
|
/* OpenGL support*/
|
|
#cmakedefine HAVE_OPENGL
|
|
|
|
/* OpenNI library */
|
|
#cmakedefine HAVE_OPENNI
|
|
|
|
/* OpenNI library */
|
|
#cmakedefine HAVE_OPENNI2
|
|
|
|
/* librealsense library */
|
|
#cmakedefine HAVE_LIBREALSENSE
|
|
|
|
/* PNG codec */
|
|
#cmakedefine HAVE_PNG
|
|
|
|
/* Posix threads (pthreads) */
|
|
#cmakedefine HAVE_PTHREAD
|
|
|
|
/* parallel_for with pthreads */
|
|
#cmakedefine HAVE_PTHREADS_PF
|
|
|
|
/* Qt support */
|
|
#cmakedefine HAVE_QT
|
|
|
|
/* Qt OpenGL support */
|
|
#cmakedefine HAVE_QT_OPENGL
|
|
|
|
/* Intel Threading Building Blocks */
|
|
#cmakedefine HAVE_TBB
|
|
|
|
/* Ste||ar Group High Performance ParallelX */
|
|
#cmakedefine HAVE_HPX
|
|
|
|
/* TIFF codec */
|
|
#cmakedefine HAVE_TIFF
|
|
|
|
/* V4L2 capturing support in videoio.h */
|
|
#cmakedefine HAVE_VIDEOIO
|
|
|
|
/* Win32 UI */
|
|
#cmakedefine HAVE_WIN32UI
|
|
|
|
/* XIMEA camera support */
|
|
#cmakedefine HAVE_XIMEA
|
|
|
|
/* Xine video library */
|
|
#cmakedefine HAVE_XINE
|
|
|
|
/* Define if your processor stores words with the most significant byte
|
|
first (like Motorola and SPARC, unlike Intel and VAX). */
|
|
#cmakedefine WORDS_BIGENDIAN
|
|
|
|
/* gPhoto2 library */
|
|
#cmakedefine HAVE_GPHOTO2
|
|
|
|
/* VA library (libva) */
|
|
#cmakedefine HAVE_VA
|
|
|
|
/* Intel VA-API/OpenCL */
|
|
#cmakedefine HAVE_VA_INTEL
|
|
|
|
/* Intel Media SDK */
|
|
#cmakedefine HAVE_MFX
|
|
|
|
/* Lapack */
|
|
#cmakedefine HAVE_LAPACK
|
|
|
|
/* Library was compiled with functions instrumentation */
|
|
#cmakedefine ENABLE_INSTRUMENTATION
|
|
|
|
/* OpenVX */
|
|
#cmakedefine HAVE_OPENVX
|
|
|
|
#if defined(HAVE_XINE) || \
|
|
defined(HAVE_GSTREAMER) || \
|
|
defined(HAVE_AVFOUNDATION) || \
|
|
/*defined(HAVE_OPENNI) || too specialized */ \
|
|
defined(HAVE_FFMPEG) || \
|
|
defined(HAVE_MSMF)
|
|
#define HAVE_VIDEO_INPUT
|
|
#endif
|
|
|
|
#if /*defined(HAVE_XINE) || */\
|
|
defined(HAVE_GSTREAMER) || \
|
|
defined(HAVE_AVFOUNDATION) || \
|
|
defined(HAVE_FFMPEG) || \
|
|
defined(HAVE_MSMF)
|
|
#define HAVE_VIDEO_OUTPUT
|
|
#endif
|
|
|
|
/* OpenCV trace utilities */
|
|
#cmakedefine OPENCV_TRACE
|
|
|
|
/* Library QR-code decoding */
|
|
#cmakedefine HAVE_QUIRC
|
|
|
|
#endif // OPENCV_CVCONFIG_H_INCLUDED
|