Commit Graph

306 Commits

Author SHA1 Message Date
Alexander Alekhin
8ee1be7d09 cmake: support MSVS 2019 2019-03-05 13:38:47 +03:00
Maksim Shabunin
73959fed45 Merge pull request #13422 from mshabunin:split-videoio-cmake
* Split videoio dependencies search into pieces, removed obsolete backends
2018-12-26 15:50:20 +03:00
Alexander Alekhin
59fa477edb opencv4: fix abi-checker (to enable API/source checks only) 2018-11-28 18:42:19 +03:00
Alexander Alekhin
22dbcf98c5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-17 14:17:35 +00:00
Alexander Alekhin
8792bddb0a win32: update setupvars.cmd
- drop EnableDelayedExpansion
- pause on failed commands (non-interactive mode)
2018-11-15 23:36:26 +00:00
Alexander Alekhin
e0e828ef5c videoio: remove using of HAVE_CAMV4L 2018-11-12 18:53:19 +00:00
Pavel Rojtberg
0d65397ae7 videoio: remove cap_libv4l in favour of cap_v4l
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
2018-11-12 13:38:59 +03:00
Alexander Alekhin
ebc8015638
Merge pull request #13074 from alalek:cleanup_videoio 2018-11-08 19:09:32 +03:00
Alexander Alekhin
5869415a57 videoio: drop obsolete backends
- VFW
- QuickTime/QtKit
- Unicap - GPL, no active support: https://github.com/unicap/unicap
- DC1394 (1st version) / CMU1394
2018-11-07 19:49:09 +03:00
Alexander Alekhin
b059a361dd highgui: drop obsolete Carbon API
https://en.wikipedia.org/wiki/Carbon_(API)

In 2012, with the release of OS X 10.8 Mountain Lion, most Carbon APIs were considered deprecated.
2018-11-07 19:21:33 +03:00
Alexander Alekhin
2c6f1ab57d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-06 20:04:31 +00:00
Alexander Alekhin
fbe41703e4 cmake: introduce setup_vars scripts
- CMake install COMPONENT: "scripts"
2018-11-01 17:38:40 +03:00
WuZhiwen
6e3ea8b49d 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.
2018-10-29 17:51:26 +03:00
Alexander Alekhin
50bec53afc Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-26 17:56:55 +03:00
Alexander Alekhin
7e2c65ce3c Merge pull request #12925 from alalek:fix_cmake_conditions 2018-10-25 11:52:39 +00:00
Alexander Alekhin
465ae048a0 Merge pull request #12887 from alalek:fix_cmake_conditions 2018-10-24 13:17:54 +00:00
maver1
e397434cb6 Merge pull request #12877 from maver1:3.4
* Updated ICV packages and IPP integration

* core(test): minMaxIdx IPP regression test

* core(ipp): workaround minMaxIdx problem

* core(ipp): workaround meanStdDev() CV_32FC3 buffer overrun

* Returned semicolon after CV_INSTRUMENT_REGION_IPP()
2018-10-24 15:02:53 +03:00
Alexander Alekhin
d6a8e08acc cmake: fix variable expand in CMake conditions 2018-10-21 15:02:40 +00:00
Alexander Alekhin
1ed9ff17e1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-12 10:05:55 +00:00
Alexander Alekhin
be76b451cb Merge pull request #12791 from alalek:win32_dllmain_detect_termination 2018-10-11 19:28:29 +00:00
Alexander Nesterov
53ec8f286b Added QR code decoding. 2018-10-10 15:27:00 +00:00
Alexander Alekhin
70f2ee917e cmake: add DllMain() into each OpenCV DLL
to detect process termination after ExitProcess() call
2018-10-10 11:00:59 +00:00
Alexander Alekhin
d74b98c3d9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-04 18:39:03 +00:00
Jakub Golinowski
9f1218b00b Merge pull request #11897 from Jakub-Golinowski:hpx_backend
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)

* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.

* Add coditional iclusion of hpx_main.hpp to cpp cpu modules

* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Alexander Alekhin
e86287d8ae cleanup: IPP Async (IPP_A)
except header file with conversion routines (will be removed in OpenCV 4.0)
2018-08-30 18:53:07 +03:00
Alexander Alekhin
4eb2966559 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-07 20:12:10 +03:00
luz.paz
2003eb1b9b Misc. typos
Found via `codespell -q 3 -I ../opencv-whitelist.txt --skip="./3rdparty"`
2018-07-31 18:44:23 +03:00
Pavel Rojtberg
936d2963a2 videoio: add rudimentary librealsense 1.x support
it is reusing CAP_INTELPERC* enums as Intel PerC is deprecated and
librealsense replaces it.
2018-05-17 11:56:52 +02:00
Alexander Alekhin
4d7d630e92 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-04-23 18:45:02 +03:00
Maksim Shabunin
abce51fb7b cmake config: adding fallback to VS 2015 if distribution does not have VS 2017 binaries 2018-04-23 09:33:27 +03:00
Alexander Alekhin
4b2d1aaeea Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-04-16 12:41:47 +03:00
Tomoaki Teshima
a40354d16f use correct name for NVIDIA
* remove NVidia and Nvidia
  * replace Cuda with CUDA
  * keep the letters for API
2018-04-13 20:33:19 +09:00
Alexander Alekhin
250941bd47 next: drop WITH_CSTRIPES 2018-04-10 18:09:54 +03:00
Alexander Alekhin
ddb482b14a android: move .a files into 'staticlibs' directory
to reduce overhead of gradle builds
2018-02-15 16:31:49 +03:00
luz.paz
413fba14ab Some mist. typo fixes
Found via `codespell -i 3 -w --skip="./3rdparty" -I ../opencv-whitelist.txt`
2018-02-07 06:59:15 -05:00
Maksim Shabunin
7eb37bd1dd Fixed components INTERFACE_INCLUDE_DIRECTORY property in "world" builds 2018-02-02 18:14:25 +03:00
Alexander Alekhin
01f4a173ab opencv_version: dump OpenCL information via opencv_version
fix missing "opencv2/core/opencl" headers from core module (updated install list)
2018-01-27 17:08:28 +00:00
Alexander Alekhin
5f9bb6249e android: IPPICV static libraries workarounds for NDK 16 2018-01-05 04:52:17 +00:00
Alexander Alekhin
f39ee9c6a1 cmake: rework MAP_IMPORTED_CONFIG to prevent unintended build failures
Introduce CMake variable OPENCV_MAP_IMPORTED_CONFIG which controls this behaviour
Added defaults for MSVS targets
2017-12-13 14:30:27 +03:00
Alexander Alekhin
8e21f808be cmake: allow custom OpenCV_ARCH / OpenCV_RUNTIME values 2017-11-07 13:55:13 +03:00
Alexander Alekhin
ac22d3c817 cmake: MSVC_VERSION use pattern matching 2017-11-07 13:52:06 +03:00
Mikhail Paulyshka
62737c777c cmake: add support for MSVS 2017 update 5 2017-11-04 23:52:37 +03:00
Benoit Blanchon
2d0611bc01 cmake: map RelWithDebInfo and MinSizeRel configuration to Release 2017-09-18 17:47:49 +02:00
Alexander Alekhin
d195f2775a cmake: change Pylint integration 2017-08-24 14:59:33 +03:00
Alexander Alekhin
9c14a2f0aa Merge pull request #9395 from lupustr3:pvlasov/icv2017u3_update 2017-08-24 11:48:53 +00:00
Pavel Vlasov
a57718e1ac ICV2017u3 package update;
- Optimizations set change. Now IPP integrations will provide code for SSE42, AVX2 and AVX512 (SKX) CPUs only. For HW below SSE42 IPP code is disabled.
- Performance regressions fixes for IPP code paths;
- cv::boxFilter integration improvement;
- cv::filter2D integration improvement;
2017-08-23 14:24:43 +03:00
Alexander Alekhin
87a98e4562 cmake: CMP0026 NEW 2017-08-19 15:15:05 +00:00
Alexander Alekhin
6ff9fc67bb build: HAVE_LIBPTHREAD, HAVE_PTHREAD(S) => HAVE_PTHREAD 2017-08-14 10:59:38 +03:00
Patrik Huber
600b7a30e6 Added detection of MSVC1911
This is VS2017 Preview. It makes sure the version is detected properly and the INSTALL target then correctly installs to x64/vc15 (the same as MSVC1910).
2017-07-06 19:02:19 +01:00
Alexander Alekhin
006966e629 trace: initial support for code trace 2017-06-26 17:07:13 +03:00
Maksim Shabunin
d27009c775 Merge pull request #8856 from mshabunin:media-tests-upgrade 2017-06-22 11:45:52 +00:00
Dmitry Kurtaev
16368a275b cmake: add Halide support (#8794) 2017-06-21 14:33:47 +03:00
Vadim Pisarevsky
2c30f358dc Merge pull request #8947 from alalek:vs_version 2017-06-21 09:33:52 +00:00
Maksim Shabunin
87b569d812 Rewritten some tests in videoio and imgcodecs modules
general:
- all iterative tests have been replaced with parameterized tests
- old-style try..catch tests have been modified to use EXPECT_/ASSERT_ gtest macros
- added temporary files cleanup
- modified MatComparator error message formatting

imgcodecs:
- test_grfmt.cpp split to test_jpg.cpp, test_png.cpp, test_tiff.cpp, etc.

videoio:
- added public HAVE_VIDEO_INPUT, HAVE_VIDEO_OUTPUT definitions to cvconfig.h
- built-in MotionJPEG codec could not be tested on some platforms (read_write test was disabled if ffmpeg is off, encoding/decoding was handled by ffmpeg otherwise).
- image-related tests moved to imgcodecs (Videoio_Image)
- several property get/set tests have been combined into one
- added MotionJPEG test video to opencv_extra
2017-06-20 18:20:41 +03:00
Alexander Alekhin
db35e13b46 build: added VERSIONINFO resource 2017-06-20 15:45:21 +03:00
Maksim Shabunin
c06f3d63e8 Initial version of MediaSDK integration:
- cmake dependencies search (WITH_MFX option)
- raw H264, H265, MPEG2 encoding and decoding
- tests for supported formats
2017-06-20 12:15:10 +03:00
Alexander Alekhin
133b91a026 android: build fixes
- eliminate CMake 3.5+ warnings
- removed usage of dropped "OPENCV_CAMERA_MODULES" variable
- partial support for Android NDK 11+
2017-04-26 14:24:51 +03:00
Alexander Alekhin
f3eff00bf7 cmake: update handling of IPPICV/IPPIW 2017-04-26 00:15:54 +03:00
Pavel Vlasov
35c7216846 IPP for OpenCV 2017u2 initial enabling patch; 2017-04-20 20:26:30 +03:00
Alexander Alekhin
e5d9b608c4 cmake: fix fp16 support 2017-04-04 20:34:58 +03:00
Alexander Alekhin
e16227b53c cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
Vadim Pisarevsky
ad74fdd7cc moved BLAS/LAPACK detection scripts from opencv_contrib/dnn to the main repository (#7918)
* moved BLAS/LAPACK detection scripts from opencv_contrib/dnn to the main repository.

* trying to fix the bug with undefined symbols sgesdd_ and dgesdd_

* removed extra whitespaces; disabled LAPACK on IOS
2016-12-22 22:57:44 +03:00
Sergiu Deitsch
d71ec0cd1d cmake: support OPTIONAL_COMPONENTS in OpenCVConfig.cmake
find_package allows to specify optional components. This way, the
command will not fail if any of the components marked as optional was
not found. This is useful in cases where components such as xfeatures2d,
viz etc. are not available either because they were not compiled by the
user or package maintainers decided to not provide the packages at all.

The user can check the availability of the optional component using the
OpenCV_<component>_FOUND variable.
2016-12-19 00:15:51 +03:00
Patrik Huber
bd0a8c7e3f Added VS2017 support (MSVC 1910) 2016-12-06 00:04:24 +00:00
Alexander Alekhin
39ff8a0d26 cmake: cleanup ffmpeg detection 2016-12-01 19:33:27 +03:00
mshabunin
81938af5d0 Added support for OpenVX 1.0, updated cmake part, minor fixes 2016-10-04 15:31:54 +03:00
Pavel Vlasov
a462d76a95 Implementations instrumentation framework for OpenCV performance system; 2016-08-17 16:26:03 +03:00
Vladislav Sovrasov
a113d9bcc1 Add MKL support 2016-08-10 11:20:23 +03:00
Alexander Alekhin
18e7afdfd9 cmake: add OPENCV_ENABLE_NONFREE option and macro 2016-08-04 19:23:49 +03:00
Alexander Alekhin
2ec63e4dd1 fix android pack build 2016-07-20 16:49:57 +03:00
look4pritam
6f22f49c02 Grassroots DiCoM i.e. GDCM based DICOM image reader is added. 2016-07-08 16:08:55 +03:00
Alexander Alekhin
c6c651212c cmake: refactoring of OpenCVConfig
- removed OpenCV_LIB_DIR* vars (they are broken and not required anymore)
- OpenCVConfig.cmake doesn't contain ANDROID/CUDA code if there is no such support
- removed OpenCV2_INCLUDE_DIRS_CONFIGCMAKE, merged into OpenCV_INCLUDE_DIRS_CONFIGCMAKE
- fix hard-coded relative paths for OpenCV_INSTALL_PATH
- removed OpenCV_TBB_ARCH
- switch OpenCVConfig.cmake into 2-level mode for Android SDK
2016-06-20 15:15:21 +03:00
Vadim Pisarevsky
547a2d29c3 Merge pull request #6535 from sovrasov:lapack-hal 2016-06-16 20:09:47 +00:00
Alexander Alekhin
f4ebc504d1 cmake: refactor HAL attaching process 2016-06-15 17:34:30 +03:00
Vladislav Sovrasov
a2d0cc878c Implement internal HAL for GEMM and matrix decompositions 2016-06-03 10:38:30 +03:00
qiao
a7fe73f284 fix OpenCV_CONFIG_PATH get null value after CMake 2.8.11
syntax of cmake "get_filename_component" changed after version 2.8.11

for cmake version < 2.8.11
  get_filename_component(<VAR> <FileName> PATH [CACHE])

for cmake version >= 2.8.11
  get_filename_component(<VAR> <FileName> DIRECTORY [CACHE])

Update OpenCVConfig.cmake

Update OpenCVConfig.cmake.in
2016-04-06 11:33:53 +08:00
atinfinity
db6e095fcc added cmakedefine to cmake/templates/cvconfig.h.in 2016-02-01 20:59:11 +09:00
Alexander Alekhin
d34297b516 fix include path for windows package 2015-12-18 13:50:35 +03:00
Vadim Pisarevsky
9aeb8c8d5a Merge pull request #5810 from mshabunin:hal_interface 2015-12-17 16:48:02 +00:00
Vincent Rabaud
932043fdc2 Properly check for version in find_package
If I ask for version 2, the current trunk version (version 3), will say it is compatible, which is erroneous.

Do not consider different major versions compatible in cmake config file
2015-12-17 17:00:30 +03:00
Maksim Shabunin
84f37d352f HAL moved back to core 2015-12-17 12:33:23 +03:00
Alexander Alekhin
8f732f2cfe fix samples deps
some tutorials depends on contrib modules
2015-12-12 15:23:31 +03:00
Maksim Shabunin
b4bcdd10a1 HAL: improvements
- added new functions from core module: split, merge, add, sub, mul, div, ...
- added function replacement mechanism
- added example of HAL replacement library
2015-12-03 14:43:37 +03:00
Vladislav Vinogradov
6282ff0887 exclude dates from report names 2015-09-21 13:44:34 +02:00
Vladislav Vinogradov
ea35fee5b8 save tests console output to separate log files 2015-09-21 13:44:33 +02:00
Vladislav Vinogradov
0e5fec288c check that current directory has write access 2015-09-21 13:44:32 +02:00
Alexey Ershov
68a0347ff9 fallback path & sample timing implemented
fixed trailing whitespaces
renamed files *vaapi* to *va_intel*
changed names vaapi* to va_intel*
2015-09-04 02:42:49 +03:00
Alexey Ershov
a8656ea20f implemented core support & sample
fixed whitespaces
fixed issues
fixed issue
fixed module statement issues
fixed access mode
added initialization check
fixed warning
2015-08-21 02:44:03 +03:00
Alexander Alekhin
fe0a17e78f fix build with Win7 SDK 2015-07-30 23:23:01 +03:00
Alexander Alekhin
6ab9df5208 Merge pull request #4132 from mshabunin:fix-java-package 2015-06-18 16:13:23 +00:00
Maksim Shabunin
f63dde2f43 Separate OpenCV.mk files for different ABIs 2015-06-17 18:10:28 +03:00
Ruslan Baratov
f30bf39bd4 Add OpenCV_INCLUDE_DIRS to INTERFACE_INCLUDE_DIRECTORIES target property
With this fix there is no need to add includes by using
`include_directories(${OpenCV_INCLUDE_DIRS})`. Directory will be added by
command `target_link_libraries(... ${OpenCV_LIBS})` automatically.
2015-06-17 16:03:21 +02:00
Alexander Alekhin
a482dcce46 fix support for pthreads parallel_for 2015-06-11 16:53:07 +03:00
Maksim Shabunin
caffbaafbe Updated Manager for Android 2015-06-02 17:33:04 +03:00
Maksim Shabunin
3863dc5b2b Updated pkg-config generation, added sample makefile 2015-05-22 16:09:07 +03:00
Piotr Dobrowolski
6d0407b65e VideoCapture with digital camera and gPhoto2 library 2015-05-21 00:41:39 +02:00
Alexander Nitsch
d6c95621e8 Implement CMAKE_CURRENT_LIST_DIR for older CMake
The use of built-in CMAKE_CURRENT_LIST_DIR requires at least
CMake 2.8.3. This fix properly defines the variable to allow its
use in versions < 2.8.3 as well.

Fixes issue #4205.

Exclude >= 2.8.3 from reimplementation of CMAKE_CURRENT_LIST_DIR

This avoids violation of possible future CMake policy checks
regarding reserved/read-only variables.
2015-04-24 23:10:50 +02:00
Vadim Pisarevsky
063e4004ba Merge pull request #3935 from vpisarev:extending_hal_part1 2015-04-21 14:02:02 +00:00
Vadim Pisarevsky
926754a66e another attempt to resolve ABI checker complains 2015-04-21 12:42:46 +03:00
Vadim Pisarevsky
fa41653420 trying to avoid ABI checker failures 2015-04-21 11:30:41 +03:00