Vitaly Tuzov
0f2b535fcc
Bit-exact GaussianBlur reworked to use wide intrinsics ( #12073 )
...
* Bit-exact GaussianBlur reworked to use wide intrinsics
* Added v_mul_hi universal intrinsic
* Removed custom SSE2 branch from bit-exact GaussianBlur
* Removed loop unrolling for gaussianBlur horizontal smoothing
2018-08-31 17:04:59 +03: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
Vadim Pisarevsky
a08c6e49b3
Merge pull request #12341 from terfendail:countnonzero_wintr
2018-08-31 12:58:25 +00:00
Alexander Alekhin
90f47eb952
Merge pull request #12234 from cv3d:python/cuda/wrapping_functionalities
2018-08-30 20:23:38 +00:00
Vitaly Tuzov
c894fc5bae
countNonZero function reworked to use wide universal intrinsics instead of SSE2 intrinsics
2018-08-30 20:43:39 +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
15e57d28f5
Merge pull request #12293 from alalek:cleanup_stl_string_replacement
2018-08-30 15:43:57 +00:00
Hamdi Sahloul
532eace7d6
Extensive wrapping of CUDA functionalities for Python
2018-08-30 22:50:33 +09:00
Alexander Alekhin
c1db75e0c7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-29 16:24:56 +03:00
Alexander Alekhin
d13db35f31
Merge tag '3.4.3'
2018-08-28 16:03:08 +03:00
Alexander Alekhin
b38c50b3d0
OpenCV 3.4.3
2018-08-28 15:58:21 +03:00
Alexander Alekhin
4e0d2a3e6c
Merge pull request #12193 from alalek:fix_vaapi_sample
2018-08-27 20:56:20 +00:00
Alexander Alekhin
acfdd0e1fc
core: fix MSVS "unreachable code" warnings
2018-08-27 16:23:25 +03:00
Alexander Alekhin
9fb8f6347f
core: don't call std::string(NULL)
2018-08-27 16:23:25 +03:00
Alexander Alekhin
7f73b105ca
core: std::string more changes
2018-08-27 15:41:01 +03:00
Vladislav Sovrasov
ae8dcdf40d
core: get rid of built-in String type
2018-08-27 14:42:18 +03:00
Alexander Alekhin
335e61dc47
Merge pull request #12269 from cv3d:improvements/binding_python
2018-08-24 19:38:12 +00:00
Hamdi Sahloul
b5eb65e53e
Improve Python binding generator with mappable types and phantom headers
2018-08-25 01:58:42 +09:00
Alexander Alekhin
d10a219833
Merge pull request #12298 from berak:java_matofrotatedrect
2018-08-24 15:54:27 +00:00
berak
bd7bf39b4b
java: change MatOfRotatedRect to CV_32FC5
2018-08-24 14:20:36 +02:00
Suleyman TURKMEN
d8cd1d8fcc
Merge pull request #12246 from sturkmen72:move_enums
...
* Update core.hpp
* Update imgproc.hpp
* Update ImgprocTest.java
* Update CameraCalibrator.java
* Update OnCameraFrameRender.java
* Update FindContoursDemo.java
* Update IntroductionToSVMDemo.java
* Update NonLinearSVMsDemo.java
* Update IntroductionToPCADemo.java
* Update Smoothing.java
* Update MainActivity.java
* Update CalcBackProjectDemo1.java
* Update CornerSubPixDemo.java
* Update CornerDetectorDemo.java
* Update GoodFeaturesToTrackDemo.java
2018-08-24 11:11:34 +03:00
Alexander Alekhin
ff2eface19
Merge pull request #12126 from alalek:reproducer_12121
2018-08-24 08:08:17 +00:00
Alexander Alekhin
29ce348c4d
Merge pull request #12287 from berak:java_matofrotatedrect
2018-08-24 07:03:13 +00:00
berak
1c20a7f008
java: add a MatOfRotatedRect class
2018-08-23 12:01:36 +02:00
Alexander Alekhin
6356403964
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-22 17:38:51 +03:00
Alexander Alekhin
2c42361ecd
build: fix build with defined CV_STATIC_ANALYSIS
2018-08-22 14:19:21 +03:00
Alexander Alekhin
6acabd1fd8
Merge pull request #12256 from alalek:core_intrin_fp16_fix
2018-08-21 12:47:08 +00:00
Alexander Alekhin
5ac9a2a7d0
Merge pull request #12219 from alalek:fix_assert_messages
2018-08-21 12:46:35 +00:00
Alexander Alekhin
7d4bb9428b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-20 19:30:18 +03:00
Alexander Alekhin
67d46dfc6c
core(intrin): restrict FP16 operations
...
Intrinsics must be effective, so don't declare FP16 type/operations if there is no native support.
- CV_FP16: supports load/store into/from float32
- CV_SIMD_FP16: declares FP16 types and native FP16 operations
2018-08-20 19:24:33 +03:00
Rostislav Vasilikhin
378cf2ab63
fixed filename slash processing
2018-08-20 18:02:49 +03:00
Alexander Alekhin
322c6b1ba4
Merge pull request #12235 from alalek:core_perf_scalar_tests
2018-08-18 20:45:47 +00:00
Alexander Alekhin
73d44c7881
Merge pull request #12172 from alalek:core_move_const_table
2018-08-17 14:03:01 +00:00
Alexander Alekhin
31fef14d76
Merge pull request #12136 from sturkmen72:update_documentation
2018-08-17 14:02:20 +00:00
Suleyman TURKMEN
c61bc3a0cb
Update documentation and samples
2018-08-17 14:21:29 +03:00
Alexander Alekhin
b24fc6954d
core(perf): fix addScalar test
...
keep the same type for passed Scalar values
2018-08-16 19:36:28 +03:00
Maksim Shabunin
f84eb3dde6
Fixed core headers installation in world builds
2018-08-16 17:16:02 +03:00
Alexander Alekhin
d2e08a524e
core: repair CV_Assert() messages
...
Multi-argument CV_Assert() is accessible via CV_Assert_N() (with malformed messages).
2018-08-15 17:43:10 +03:00
Alexander Alekhin
94758c18de
Merge pull request #12156 from cv3d:master
2018-08-14 14:29:17 +00:00
Alexander Alekhin
c1df9ad456
OpenCV version++
...
OpenCV 3.4.3
2018-08-14 14:10:37 +03:00
Alexander Alekhin
e76b375a31
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-13 18:57:57 +03:00
Alexander Alekhin
4910f16f16
core(libva): support YV12 too
...
Added to CPU path only.
OpenCL code path still expects NV12 only (according to Intel OpenCL extension)
2018-08-10 16:02:05 +03:00
Alexander Alekhin
5b3ac112fe
core: move const tables outside of dispatched code
...
To avoid duplicates in binaries
2018-08-08 17:54:54 +03:00
Alexander Alekhin
4eb2966559
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-07 20:12:10 +03:00
Alexander Alekhin
a56b221559
core: cv::Range() ostream write operator
...
remove from DNN module headers
2018-08-07 20:03:21 +03:00
Alexander Alekhin
7453a6938a
core(test): extra tests/fixes for merge/split ( #12171 )
...
* core(test): merge hang test
* core(merge/split): fix intrin optimization
2018-08-07 18:11:05 +03:00
Maksim Shabunin
f0f652f9e9
Merge pull request #12161 from alalek:cache_dump_neighbor_directories_for_cleanup
2018-08-07 12:09:39 +00:00
Hamdi Sahloul
293facbae7
Support Python binding for CUDA functionalities
2018-08-07 15:48:12 +09:00
Alexander Alekhin
5c3880d302
core(intrin): avoid symbols duplication from SIMD128/256 cases
...
All vx_call() must be wrapped into own simd128/simd256/simd512 namespace
```
namespace CV__SIMD_NAMESPACE {
... vx_call declaration is here ...
}
```
2018-08-06 19:29:46 +00:00
Alexander Alekhin
9eaa583bfb
core: dump neighbour cache directories (from old OpenCV versions)
...
- use '3.4.x' cache name for current maintenance series (there are no serious changes between releases)
- message is shown only once during creation of new cache directory
- use OPENCV_CACHE_SHOW_CLEANUP_MESSAGE=0 to hide this warning
2018-08-06 19:05:35 +03:00
Vadim Pisarevsky
23022f3ffb
Merge pull request #12121 from maver1:amatyuko/sse2_convert_with_saturation_fix
2018-08-06 14:26:37 +00:00
Alexander Alekhin
b4cea8d6d1
Merge pull request #12120 from alalek:core_test_intrin_dispatched
2018-08-03 17:07:17 +00:00
Alexander Alekhin
3082ea82f9
core(merge): fix SIMD loop head processing
2018-08-02 17:23:19 +03:00
Alexander Alekhin
f2e1710dd5
core(test): regression test for 12121
2018-08-01 19:42:54 +03:00
amatyuko
3ea2586a5a
Fix for SSE2 intrinsics problem in the part of saturation arithmetic processing during 32s->16u packed conversion -
...
for some big negative values less than -INT_MAX+32767 the sign of the numbers is lost due to overflow that leads to
incorrect saturation to MAX value, instead of zero.
The issue is not reproduced with CV_ENABLED_INTRINSICS=OFF
2018-08-01 16:04:08 +03:00
Alexander Alekhin
3f302cabb8
core(test): intrinsic tests for all dispatched CPU optimizations
...
- tests for both SIMD128 / SIMD256
- different dispatched + baseline(SIMD128) intrinsics
2018-08-01 13:50:42 +03:00
Alexander Alekhin
82c477c9f7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-31 21:35:00 +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
Alexander Alekhin
7e71b1079e
Merge pull request #12103 from alalek:ocl_fix_crash
2018-07-31 14:55:43 +00:00
Sayed Adel
bb82cdc928
core:test Fix fp16 build if AVX2 sets as baseline
2018-07-31 10:02:20 +02:00
Alexander Alekhin
28d0e97c09
Merge pull request #12004 from mshabunin:more-asserts
2018-07-30 16:42:09 +00:00
Alexander Alekhin
5bde800ee3
Merge pull request #12088 from alalek:ocl_callback_catch_exceptions
2018-07-30 16:33:41 +00:00
Alexander Alekhin
dbf3362c4d
Merge pull request #12056 from seiko2plus:coreExpandTests
2018-07-30 16:23:11 +00:00
Alexander Alekhin
e90e398e7a
core(ocl): do not split refcount operations / compare
...
- check result from CV_XADD() directly
- decrease urefcount after unmap() call only
2018-07-30 15:42:09 +03:00
miaow1988
2988260107
Fixed the int size overflow bug of cv::Mat.push_back().
...
Changed the type of variable *r* from int to size_t.
This change makes sure that a valid result of std::max(r + delta,
(r*3+1)/2) can be passed into the reserve function.
2018-07-30 18:36:19 +08:00
Sayed Adel
6499263b41
core:test Expand hal_intrin tests to support SIMD256
2018-07-30 08:50:50 +02:00
Sayed Adel
47202b3349
core:avx2 fix unaligned store for v_store_interleave v_uint32x8-3ch
2018-07-29 18:22:46 +02:00
Alexander Alekhin
89528d7c3a
core(ocl): don't expose exceptions from OpenCL callback
...
to avoid silent crashes of OpenCL worker threads.
2018-07-28 10:29:26 +00:00
Maksim Shabunin
1165fdd0f5
Added more strict checks for empty inputs to compare, meanStdDev and RNG::fill
2018-07-26 18:06:38 +03:00
Maksim Shabunin
597db69151
ts: test case list is printed after cmd line parsing, refactored
2018-07-26 16:43:43 +03:00
Vadim Pisarevsky
43820d89b4
further improvements in split & merge; started using non-temporary store instructions ( #12063 )
...
* 1. changed static const __m128/256 to const __m128/256 to avoid wierd instructions and calls inserted by compiler.
2. added universal intrinsics that wrap MOVNTPS and other such (non-temporary or "no cache" store) instructions. v_store_interleave() and v_store() got respective flags/overloaded variants
3. rewrote split & merge to use the "no cache" store instructions. It resulted in dramatic performance improvement when processing big arrays
* hopefully, fixed some test failures where 4-channel v_store_interleave() is used
* added missing implementation of the new universal intrinsics (v_store_aligned_nocache() etc.)
* fixed silly typo in the new intrinsics in intrin_vsx.hpp
* still trying to fix VSX compiler errors
* still trying to fix VSX compiler errors
* still trying to fix VSX compiler errors
* still trying to fix VSX compiler errors
2018-07-26 12:04:28 +03:00
Alexander Alekhin
9787ab598b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-24 22:48:54 +03:00
Alexander Alekhin
5336b9ad19
Merge pull request #12048 from mshabunin:fix-static-2
2018-07-24 19:45:27 +00:00
Vadim Pisarevsky
9c7040802c
converted split() & merge() to wide univ intrinsics ( #12044 )
...
* fixed/updated v_load_deinterleave and v_store_interleave intrinsics; modified split() and merge() functions to use those intrinsics
* fixed a few compile errors and bug in v_load_deinterleave(ptr, v_uint32x4& a, v_uint32x4& b)
* fixed few more compile errors
2018-07-24 17:27:56 +03:00
Maksim Shabunin
cbb1e867e5
More issues found by static analysis
2018-07-24 16:04:42 +03:00
Maksim Shabunin
e0603bb45f
Fixed several issues found by static analysis tools
2018-07-23 17:22:47 +03:00
Alexander Alekhin
767b31cfbf
Merge pull request #12029 from tomoaki0705:fixBuildVS2013BinarySuffix
2018-07-20 11:27:27 +00:00
Tomoaki Teshima
18abe54497
fix build error on Visual Studio 2013
...
* replace binary literal prefix to hexadecimal literal prefix
2018-07-20 18:09:17 +09:00
Alexander Alekhin
7198b9e461
Merge pull request #12019 from mshabunin:static-debug-assert
2018-07-19 15:50:33 +00:00
Alexander Alekhin
7e9b5d9e30
Merge pull request #12006 from mshabunin:static-debug-assert
2018-07-19 09:36:36 +00:00
Alexander Alekhin
e526c4bfe4
core(test): remove verbose messages
2018-07-18 16:09:27 +03:00
Maksim Shabunin
fe806878be
Enable debug assertions for static analysis builds
2018-07-18 15:53:16 +03:00
Tomoaki Teshima
9df7517dea
fix build error on Visual Studio 2013 and earlier
2018-07-18 12:56:02 +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
f3ee07ca11
Merge pull request #11986 from alalek:build_eliminate_gcc8_warnings
2018-07-17 15:41:36 +00:00
Alexander Alekhin
7cc84ce8ab
Merge pull request #11984 from mshabunin:fix-static-1
2018-07-17 15:40:48 +00:00
Alexander Alekhin
0a41b3df45
Merge pull request #11990 from alalek:clone_nodiscard_attribute
2018-07-17 15:34:08 +00:00
Maksim Shabunin
c473718bc2
Check for empty Mat in compare, operator= and RNG::fill, fixed related tests
2018-07-17 17:50:50 +03:00
Maksim Shabunin
1da46fe6fb
Fixed issues found by static analysis (mostly DBZ)
2018-07-17 16:14:54 +03:00
Pavel Rojtberg
3f65924c45
core: FileStorage - add support for writing vector<String> with bindings ( #11883 )
...
* core: FileStorage - add support for writing vector<String> with bindings
* python: extend persistence test for string sequences
2018-07-17 13:38:48 +03:00
Vadim Pisarevsky
f058b5fb1e
Wide univ intrinsics ( #11953 )
...
* core:OE-27 prepare universal intrinsics to expand (#11022 )
* core:OE-27 prepare universal intrinsics to expand (#11022 )
* core: Add universal intrinsics for AVX2
* updated implementation of wide univ. intrinsics; converted several OpenCV HAL functions: sqrt, invsqrt, magnitude, phase, exp to the wide universal intrinsics.
* converted log to universal intrinsics; cleaned up the code a bit; added v_lut_deinterleave intrinsics.
* core: Add universal intrinsics for AVX2
* fixed multiple compile errors
* fixed many more compile errors and hopefully some test failures
* fixed some more compile errors
* temporarily disabled IPP to debug exp & log; hopefully fixed Doxygen complains
* fixed some more compile errors
* fixed v_store(short*, v_float16&) signatures
* trying to fix the test failures on Linux
* fixed some issues found by alalek
* restored IPP optimization after the patch with AVX wide intrinsics has been properly tested
* restored IPP optimization after the patch with AVX wide intrinsics has been properly tested
2018-07-16 18:57:24 +03:00
Alexander Alekhin
481829a81b
Merge pull request #11957 from alalek:issue_11956
2018-07-16 15:54:34 +00:00
Alexander Alekhin
b0ee5d9023
core: CV_NODISCARD macro with semantic of [[nodiscard]] attr
...
[[nodiscard]] is defined in C++17.
There is fallback alias for modern GCC / Clang compilers.
2018-07-16 18:03:32 +03:00
Alexander Alekhin
d5951bc033
build: eliminate GCC8 warnings
2018-07-16 17:24:12 +03:00
Alexander Alekhin
a5e8ae2183
Merge pull request #11969 from alalek:core_Matx_inv_solve_templates
2018-07-16 14:18:12 +00:00
Alexander Alekhin
50751ae6ff
Merge pull request #11967 from catree:add_tutorial_ml_java_python
2018-07-16 09:24:32 +00:00
Alexander Alekhin
5e31c82b5b
Merge pull request #11980 from berak:core_lda_dataAsRow
2018-07-15 14:32:15 +00:00
berak
4382bdc859
core: remove unused dataAsRow flag from LDA
2018-07-15 11:32:00 +02:00
Kuang Fangjun
2b6aa50b81
avoid negative index.
2018-07-14 16:05:29 +08:00
Alexander Alekhin
3c74fde349
core: eliminate 'if' logic from Matx::inv()/solve()
...
- 'if' logic is moved into templates.
- removed unnecessary cv::Mat objects creation.
- fixed inv() test (invA * A == eye)
- added more Matx tests to cover all defined template specializations
2018-07-13 20:09:01 +03:00