Commit Graph

3812 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Alexander Alekhin
23fc96e98f Merge pull request #11955 from terfendail:matx_solve_fix2 2018-07-13 15:15:03 +00:00
catree
4dc7e617a4 Add overloaded cv::PCACompute() that returns also the eigenvalues. Useful for Java and Python OpenCV where PCA is not available. 2018-07-13 15:05:54 +02:00
Alexander Alekhin
5385086fef core: solve(): add check for passed 'method' values 2018-07-13 15:15:48 +03:00
Alexander Alekhin
33b7028be2 core: use "explicit" for Matx() ctor 2018-07-12 19:50:56 +00:00