|
|
|
#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
|
|
|
|
|
|
|
|
/* 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
|
|
|
|
|
Merge pull request #12703 from wzw-intel:vkcom
* dnn: Add a Vulkan based backend
This commit adds a new backend "DNN_BACKEND_VKCOM" and a
new target "DNN_TARGET_VULKAN". VKCOM means vulkan based
computation library.
This backend uses Vulkan API and SPIR-V shaders to do
the inference computation for layers. The layer types
that implemented in DNN_BACKEND_VKCOM include:
Conv, Concat, ReLU, LRN, PriorBox, Softmax, MaxPooling,
AvePooling, Permute
This is just a beginning work for Vulkan in OpenCV DNN,
more layer types will be supported and performance
tuning is on the way.
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
* dnn/vulkan: Add FindVulkan.cmake to detect Vulkan SDK
In order to build dnn with Vulkan support, need installing
Vulkan SDK and setting environment variable "VULKAN_SDK" and
add "-DWITH_VULKAN=ON" to cmake command.
You can download Vulkan SDK from:
https://vulkan.lunarg.com/sdk/home#linux
For how to install, see
https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html
https://vulkan.lunarg.com/doc/sdk/latest/windows/getting_started.html
https://vulkan.lunarg.com/doc/sdk/latest/mac/getting_started.html
respectively for linux, windows and mac.
To run the vulkan backend, also need installing mesa driver.
On Ubuntu, use this command 'sudo apt-get install mesa-vulkan-drivers'
To test, use command '$BUILD_DIR/bin/opencv_test_dnn --gtest_filter=*VkCom*'
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
* dnn/Vulkan: dynamically load Vulkan runtime
No compile-time dependency on Vulkan library.
If Vulkan runtime is unavailable, fallback to CPU path.
Use environment "OPENCL_VULKAN_RUNTIME" to specify path to your
own vulkan runtime library.
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
* dnn/Vulkan: Add a python script to compile GLSL shaders to SPIR-V shaders
The SPIR-V shaders are in format of text-based 32-bit hexadecimal
numbers, and inserted into .cpp files as unsigned int32 array.
* dnn/Vulkan: Put Vulkan headers into 3rdparty directory and some other fixes
Vulkan header files are copied from
https://github.com/KhronosGroup/Vulkan-Docs/tree/master/include/vulkan
to 3rdparty/include
Fix the Copyright declaration issue.
Refine OpenCVDetectVulkan.cmake
* dnn/Vulkan: Add vulkan backend tests into existing ones.
Also fixed some test failures.
- Don't use bool variable as uniform for shader
- Fix dispathed group number beyond max issue
- Bypass "group > 1" convolution. This should be support in future.
* dnn/Vulkan: Fix multiple initialization in one thread.
6 years ago
|
|
|
/* 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
|