Commit Graph

554 Commits

Author SHA1 Message Date
Maksim Shabunin
fb6929ac3d Fixed NEON detection in Carotene build 2018-11-26 11:30:20 +03:00
Alexander Alekhin
bea312bd65
Merge pull request #13183 from tomoaki0705:fixCaroteneColorConvert2Gray 2018-11-16 23:35:51 +03:00
Tomoaki Teshima
3bbc4e44c3 fix test failure of ColorCvtRGB2Gray
- update parameter in carotene
2018-11-16 23:31:01 +09:00
Alexander Alekhin
d4f038dfcc ffmpeg: update 4.1 (OpenCV 4.x branch)
ffmpeg 4.0.2 -> 4.1
2018-11-07 15:15:04 +03:00
Alexander Alekhin
687fa6a8ca Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-02 05:33:35 +00:00
Alexander Alekhin
8cb8ba7caf 3rdparty: update libpng 1.6.35
http://www.libpng.org/pub/png/libpng.html
2018-10-30 19:03:14 +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
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
fd832bb57d core: follow IEEE 754 rules for floating-point division 2018-10-14 10:47:50 +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
2b3c7490d5
Merge pull request #12521 from allnes:detect_qr_code
Objdetect: QRCode detect + decode
2018-10-11 12:42:05 +03:00
Alexander Nesterov
53ec8f286b Added QR code decoding. 2018-10-10 15:27:00 +00:00
Alexander Alekhin
dada5a422d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-09 21:20:15 +00:00
Maksim Shabunin
09ef4c9cff FFmpeg: correct licenses install location 2018-10-05 17:10:42 +03:00
Alexander Alekhin
690fb0544c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-02 14:31:05 +03:00
Loic Devulder
ac9ec55b37 3rdparty/protobuf: fix compilation issue on s390
This commit fixes an issue while trying to compile
on s390x architecture.

This is simply a backport of a fixe already applied
in official protobuf code:
- https://github.com/protocolbuffers/protobuf/pull/3955
2018-09-30 21:33:34 +02:00
Alexander Alekhin
8b661cde15 ffmpeg: update 4.0 (master)
- ffmpeg 4.0.2
- openh264 1.8.0
2018-09-17 21:36:52 +00:00
CJ Smith
da41ac9e60 Merge pull request #12106 from CJSmith-0141:warpPerspective_typofix
* Fixes typo in function name hal::warpPerspective.

* Fixes remaining typos in word Perspective (was Perspectve).
2018-08-01 14:41:20 +03:00
Alexander Alekhin
4560909a5e Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-07-17 19:27:48 +03:00
Alexander Alekhin
d5951bc033 build: eliminate GCC8 warnings 2018-07-16 17:24:12 +03:00
Alexander Alekhin
b39cd06249 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-06-25 22:03:17 +03:00
Alexander Alekhin
8b5e29c234 Merge pull request #11808 from tomoaki0705:caroteneSuppressWarnings 2018-06-23 08:46:29 +00:00
Tomoaki Teshima
e324d2e534 suppress warning on Arm platform 2018-06-22 20:17:22 +09:00
Alexander Alekhin
0d6518aaa0 Merge remote-tracking branch 'upstream/3.4' into merge-3.4
OpenCV FFmpeg wrapper download links are preserved from ffmpeg/master branch
2018-06-13 19:34:44 +03:00
Alexander Alekhin
8221f57c26 Merge pull request #11729 from alalek:ffmpeg_update_3.4 2018-06-09 12:25:23 +00:00
Alexander Alekhin
390f0a5dcd cmake: generate and install ffmpeg-download.ps1
64-bit only
2018-06-09 13:19:48 +03:00
Alexander Alekhin
d3696f3ad2 ffmpeg: update OpenCV FFmpeg wrapper (3.4) 2018-06-08 18:47:00 +03:00
Peter Rekdal Sunde
9492f46d77 3rdparty: update libwebp 0.6.1 => 1.0.0
Commit: 698b8844e3
Tag: https://github.com/webmproject/libwebp/releases/tag/v1.0.0
2018-06-05 13:17:20 +03:00
Pavel Vlasov
eaf70c7bb3 Hotfix packages with several fixes in IW code including:
__STDCALL macro change to support IPP 2018u3+ external packages
    Memory leak fix in Gaussian filter
    Improved checkers for OpenMP supported features
    Improved declarations for atomic operations.

ICV binary and package version are the same.
2018-05-18 12:52:27 +03:00
Alexander Alekhin
f3e166c58b Merge pull request #11528 from tomoaki0705:fixTabSpaceLibTiff 2018-05-16 12:15:39 +00:00
Tomoaki Teshima
85668cf5a4 remove Tab 2018-05-16 18:56:23 +09:00
Alexander Alekhin
f8252702a8 3rdparty: integrate libjpeg-turbo build scripts into OpenCV 2018-05-11 18:29:57 +03:00
Alexander Alekhin
777953923e 3rdparty: added libjpeg-turbo source code (1.5.3)
Repo: https://github.com/libjpeg-turbo/libjpeg-turbo.git
Tag: 1.5.3

excluded libjpeg-turbo files:
- bmp.c
- bmp.h
- cderror.h
- cdjpeg.c
- cdjpeg.h
- cjpeg.c
- djpeg.c
- example.c
- jcstest.c
- jdatadst-tj.c
- jdatasrc-tj.c
- jpegtran.c
- rdbmp.c
- rdcolmap.c
- rdgif.c
- rdjpgcom.c
- rdppm.c
- rdrle.c
- rdswitch.c
- rdtarga.c
- tjbench.c
- tjunittest.c
- tjutil.c
- tjutil.h
- transupp.c
- transupp.h
- turbojpeg-jni.c
- turbojpeg.c
- turbojpeg.h
- wrbmp.c
- wrgif.c
- wrjpgcom.c
- wrppm.c
- wrrle.c
- wrtarga.c
2018-05-11 17:43:50 +03:00
Dmitry Kurtaev
4ec456f0a0 Custom layers for deep learning networks (#11129)
* Custom deep learning layers support

* Stack custom deep learning layers
2018-04-24 14:59:59 +03:00
Alexander Alekhin
c8b515ea69 Merge pull request #11315 from tomoaki0705:featureComparePixelCount 2018-04-20 14:50:40 +00:00
Alexander Alekhin
12e8e33144 build: enable -Wimplicit-fallthrough warning for OpenCV modules 2018-04-19 19:54:03 +03:00
Tomoaki Teshima
98d9369a38 add new comparison to tolerate with rounding error
* restore resize of carotene
  * clean up the source code
  * remove unused member function (Near)
  * add strict test on the border
2018-04-19 17:31:42 +09:00
Alexander Alekhin
784c8436fd cmake: update PDB installation 2018-04-09 18:50:58 +03:00
Alexander Alekhin
87498bc6d4 cmake: workaround CPATH ipp_iw issue
CPATH entries are processed before any -isystem:
https://gcc.gnu.org/onlinedocs/cpp/Environment-Variables.html
2018-03-28 18:43:28 +03:00
Alexander Alekhin
0587f92d96 cmake: disable override warnings in 3rdparty code and viz 2018-03-28 17:57:59 +03:00
Alexander Alekhin
6bd80ba71b cmake: use SYSTEM include directories 2018-03-28 17:57:58 +03:00
Alexander Alekhin
08941b7890 cmake: avoid amending of CMAKE_COMPILER_IS_[GNUCXX|CLANGCXX|CCACHE] vars
- Recommended compiler checks:
  - GCC: CV_GCC
  - Clang: CV_CLANG
- fixed problem with CMAKE_CXX_COMPILER_ID=Clang/AppleClang mess on MacOSX
  Details: cmake --help-policy CMP0025
- do not declare Clang as GCC compiler
2018-03-27 16:16:59 +03:00
Tomoaki Teshima
06babf90a5 let the test OCL_ImgprocWarp/Resize.Mat pass on ARM/Aarch64
* disable carotenete when calling resize on ARM/Aarch64
  * loosen eps on Aarch64
2018-03-22 21:35:34 +09:00
Maksim Shabunin
7bbe002a2f Add install component for 3rdparty libraries licenses 2018-03-06 16:32:30 +03:00
Alexander Alekhin
586625f8ba 3rdparty: fix protobuf version in README file 2018-02-27 15:48:19 +03:00
Alexander Alekhin
f7aa2e0d44 ffmpeg: update wrapper
FFmpeg: 3.3.4 -> 3.4.2
LibVPX: 1.6.1 -> 1.7.0
OpenH264: 1.6.0 -> 1.7.0
2018-02-22 15:04:06 +03:00
Maksim Shabunin
e56d6054aa Do not build protobuf without dnn (#10689)
* Do not build protobuf if dnn is disabled

* Added BUILD_LIST cmake option to the cache

* Moved protobuf to the top level

* Fixed static build

* Fixed world build

* fixup! Fixed world build
2018-02-01 16:30:23 +03:00
Dmitry Kurtaev
ec8d39d059 Re-apply protobuf fix for JavaScript builds
original commit: f503515082
JavaScript bindings for dnn module
2018-01-17 20:20:00 +00:00
Maksim Shabunin
8b87c4b96a Fixed several warnings produced by clang 6 and static analyzers 2018-01-16 15:26:28 +03:00