Commit Graph

2295 Commits

Author SHA1 Message Date
woody.chow
07c6b0a8df Replace naive normL2Sqr with hal::normL2Sqr_ for better performance 2018-09-06 17:43:07 +09:00
Zhenqing Hu
d621a99e73 To fix bug #12389, which is a validation for the potential null pointer.
Signed-off-by: Zhenqing Hu <huzq85@gmail.com>
2018-09-05 19:14:34 +03:00
Alexander Alekhin
acce95f446 backport fixes for static analyzer warnings
Commits:
- 09837928d9
- 10fb88d027

Excluded changes with std::atomic (C++98 requirement)
2018-09-04 16:49:42 +03:00
Alexander Alekhin
4f9db2c03a Merge pull request #12377 from alalek:inputarray_raw_wrapper_customtype 2018-09-04 11:29:23 +00:00
Alexander Alekhin
a0f86479e0 core: wrap custom types via _RawArray (raw() call)
- support passing of `std::vector<KeyPoint>` via InputArray
2018-09-03 18:41:48 +00:00
LaurentBerger
d71812425a Solves issue 12392 2018-09-03 19:30:49 +02:00
Alexander Alekhin
70a27c7dd6 core: add solveLP type checks for output
to forbid Mat1f

Checks are not reliable: empty uninitialized `cv::Mat` has `CV_8UC1` type
2018-09-01 14:51:44 +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
4e0d2a3e6c Merge pull request #12193 from alalek:fix_vaapi_sample 2018-08-27 20:56:20 +00:00
Alexander Alekhin
5ac9a2a7d0 Merge pull request #12219 from alalek:fix_assert_messages 2018-08-21 12:46:35 +00:00
Rostislav Vasilikhin
378cf2ab63 fixed filename slash processing 2018-08-20 18:02:49 +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
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
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
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
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
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
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
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
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
f3ee07ca11 Merge pull request #11986 from alalek:build_eliminate_gcc8_warnings 2018-07-17 15:41:36 +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
d5951bc033 build: eliminate GCC8 warnings 2018-07-16 17:24:12 +03: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
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
berak
45677819e8 core: fix autobuffer usage in opengl.cpp 2018-07-08 09:51:06 +02:00
Alexander Alekhin
b09a4a98d4 opencv: Use cv::AutoBuffer<>::data() 2018-07-04 19:11:29 +03:00
Alexander Alekhin
135ea264ef core: align cv::AutoBuffer API with std::vector/std::array
- added .data() methods
- added operator[] (int i)
- extend checks support to generic and debug-only cases
- deprecate existed operator* ()
2018-07-04 19:10:38 +03:00
yuki takehara
4fe648b15c Merge pull request #11706 from take1014:setTo_Nan_10507
* setTo_#10507

* setTo_Nan_10507

* setTo: update check / test for NaNs
2018-06-12 18:05:44 +00:00
Sayed Adel
e0d28aa893 core:ppc Fix java CoreTest/testMahalanobis (#11677)
* core:ppc Fix java CoreTest/testMahalanobis

* core:ppc Fix warning unused variable on clang
2018-06-07 14:16:48 +03:00
Alexander Alekhin
4091ced5ab core: set default logger level to 'warning' in Release builds
should hide unnecessary 'info' messages
2018-06-05 18:39:47 +03:00
Vadim Pisarevsky
7d19bd6c19 Merge pull request #11634 from vpisarev:empty_mat_with_types_2
fixes handling of empty matrices in some functions (#11634)

* a part of PR #11416 by Yuki Takehara

* moved the empty mat check in Mat::copyTo()

* fixed some test failures
2018-05-31 16:36:39 +00:00