Commit Graph

2641 Commits

Author SHA1 Message Date
luz.paz
fcc7d8dd4e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`

backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
Hugo Lindström
935067ee05 Merge pull request #15265 from hugolm84:wince-armv7-supports-neon
* WINCE 8.0 requires ARMv7 Thumb2 and thus have NEON instructions

* Only add NEON if on _ARM_
2019-08-09 18:01:37 +03:00
Victor Romero
987bb2ca61 Fix build for UWP
backport of commit: f18cbd036a
2019-08-05 17:19:36 +03:00
Alexander Alekhin
ba934ff1ce Merge pull request #15202 from hugolm84:support_build_shared_for_wince 2019-08-02 15:34:02 +00:00
Hugo Lindström
03fe1cb7fc Support building shared libraries on WINCE. 2019-08-01 15:28:04 +02:00
Maksim Shabunin
6d5ac67681 Restored IPP call reduction 2019-07-31 15:41:22 +03:00
Chip Kerchner
0db4fb1835 Merge pull request #15136 from ChipKerchner:dotProd_unroll
* Unroll multiply and add instructions in dotProd_32f - 35% faster.

* Eliminate unnecessary v_reduce_sum instructions.
2019-07-25 21:21:32 +03:00
Hugo Lindström
2ee00e7f7d Merge pull request #15059 from hugolm84:improved-support-for-wince
* Improve support for Windows Embedded Compact

* Remove redundant set(WINCE true) and format CMake
2019-07-24 23:12:09 +03:00
Alexander Alekhin
4ea8526e9f core(persistence): fix writeRaw() / readRaw() struct support
- writeRaw(): support structs
- readRaw(): 'len' is buffer limit in bytes (documentation is fixed)
2019-07-16 14:03:39 +03:00
Alexander Alekhin
c3b838b738 core(persistence): struct storage layout without alignment gaps 2019-07-15 21:37:20 +00:00
Alexander Alekhin
4a6888ccf6 imgproc: fix kmeans() call from grabCut() 2019-06-25 13:42:04 +03:00
Alexander Alekhin
f8791f072d core: avoid function type cast, make happy UBSAN
backporting of commit: d3d13c41c4
2019-06-11 19:36:47 +00:00
Alexander Alekhin
6d916c5bb4 Merge pull request #14440 from alalek:async_array 2019-06-08 20:57:15 +00:00
Ahmed Ashour
1aca1d582e Fix some typos 2019-06-05 12:24:13 +02:00
Ted Steiner
f1fb002682 Merge pull request #14678 from tedsteiner:qnx
Fix build issue on QNX platform (#14678)

* QNX compatibility

* core: unify gettimeofday() usage
2019-06-04 19:45:21 +03:00
Alexander Alekhin
9340af1a8a core: Async API / AsyncArray 2019-05-18 19:32:23 +00:00
Alexander Alekhin
84fd8190f3 Merge pull request #14232 from terfendail:popcount_rework 2019-05-15 17:58:11 +00:00
Vitaly Tuzov
7a55f2af3b Updated AVX2 implementation of v_popcount for u8. 2019-05-15 19:39:25 +03:00
Daniel Ingram
962d57b4d6 Merge pull request #14559 from daniel-s-ingram:master
* Fix typo: 'divisble' -> 'divisible'

* Fix typo: 'One of arguments' -> 'One of the arguments'
2019-05-15 18:41:43 +03:00
Vitaly Tuzov
1220dd4877 Updated v_popcount description, reference implementation and test. 2019-05-14 18:59:40 +03:00
Vitaly Tuzov
96ab78dc4f Reworked v_popcount implementation to provide number of bits in a single lane 2019-05-14 18:59:38 +03:00
Sayed Adel
5a77f4cee3 Merge pull request #14007 from seiko2plus:core_avx512_infa
* core: improve AVX512 infrastructure by adding more CPU features groups

* cmake: use groups for AVX512 optimization flags

* core: remove gap in CPU flags enumeration

* cmake: restore default CPU_DISPATCH
2019-05-05 14:19:49 +03:00
masa-iwm
5c404bb142 Merge pull request #14376 from masa-iwm:3.4
* fix getting platformIDs in initializeContextFromD3D11Device
2019-04-22 18:50:31 +03:00
Alexander Alekhin
b38de57f9a ts: test tags for flexible/reliable tests filtering
- added functionality to collect memory usage of OpenCL sybsystem
- memory usage of fastMalloc() (disabled by default):
  * It is not accurate sometimes - external memory profiler is required.
- specify common `CV_TEST_TAG_` macros
- added applyTestTag() function
- write memory usage / enabled tags into Google Tests output file (.xml)
2019-04-08 19:12:49 +00:00
Alexander Alekhin
1e583942b9 core(lda): don't perform calculations in constructor
- exceptions from constructor will not cause destructor calls
2019-03-31 21:48:44 +00:00
David Carlier
06a4c20f60 OpenBSD build fix
required for close calls.
2019-03-31 10:54:47 +01:00
Alexander Alekhin
d6b82dcd65
Merge pull request #14162 from alalek:eliminate_coverity_scan_issues
core: eliminate coverity scan issues (#14162)

* core(hal): avoid using of r,g,b,a parameters in interleave/deinterleave

- static analysis tools blame on possible parameters reordering
- align AVX parameters with corresponding SSE/NEO/VSX/cpp code

* core: avoid "i,j" parameters in Matx methods

- static analysis tools blame on possible parameters reordering

* core: resolve coverity scan issues
2019-03-27 15:48:00 +03:00
Alexander Alekhin
5368a4ac41 Merge pull request #14102 from alalek:core_refactor_eigenvalues 2019-03-27 12:46:51 +00:00
Alexander Alekhin
6686559c70 ocl: define CL_SILENCE_DEPRECATION on MacOSX 2019-03-26 13:11:53 +03:00
iPanda
097fc1a271 Merge pull request #13972 from Mainvooid:add_cuda_support_for_D3D11_interop
* Add CUDA support for D3D11 interop. #13888

color_detail.hpp: fixed build error : dynamic initialization is not supported for a __constant__ variable.
directx.cpp: Add CUDA support(cl_nv_d3d11_sharing) for D3D11 interop.  #13888

Update directx.cpp

Format adjustment.

Update directx.cpp

fix error.

Update directx.cpp

Format adjustment

Update directx.cpp

fix trailing whitespace.

fix format errors

convert indentation to spaces .
Trim trailing whitespace.
Add information about source of cl_d3d11_ext.h
Avoid unrelated changes.

Increase compile-time conditional judgment.

Increase the judgment of whether the OCL device has the required extensions at compile time.

Add compilation option  `HAVE_CLNVEXT`.Check CL support in runtime.

Check result of `clGetExtensionFunctionAddressForPlatform` for KHR is invalid.It always can get the address(from OpenCL.dll),So I check NV support(from nvopencl64.dll) before KHR when `HAVE_CLNVEXT` is enabled.

Delete cl_d3d11_ext.h

Modified parameter list

fix "cannot open include file: 'CL/cl_d3d11_ext.h'"

 remove not referenced var

fix C2143: syntax error

Improve compile-time judgment.

dlrectx.cpp Modify the detection order.
initializeContextFromD3D11Device:
```
    // try with NV(Need to check it first)
    // try with KHR
```

fix warnig C4100

Revert "fix warnig C4100"

This reverts commit 76e5becb67780071d0cbde61cc4f5f807ad7c5ac.

fix warning C4100

fix warning C4505

Format alignment

Format adjustment and automatically detect header files.

Automatically detect header files when users are not configured or configuration errors occur.

avoid unrelated changes.

Update .cmake

Update .cmake

* fix build errors

* fix warning:defined but not used

* Revert "fix warning:defined but not used"

This reverts commit 7ab3537cd0.

* fix warning:defined but not used

* fix build error for mac

* fix build error for win

* optimizing branch judgment

* Revert "optimizing branch judgment"

This reverts commit 88b72b870e.

* fix warning C4702: unreachable code

* remove unused code

* Fix problems that may lead to undefined behavior

* Add status check

* fix error C2664,C2665 : cannot convert argument

* Format adjustment

VSCODE will automatically format the indentation to 4 spaces in some situation.

* fix error C2440

* fix error C2440

* add cl_d3d11_ext.h

* Format adjustment

* remove unnecessary checks
2019-03-24 18:34:09 +03:00
Alexander Alekhin
a8e635f177 Merge pull request #14069 from terfendail:transform_wintr 2019-03-20 15:39:40 +00:00
Vitaly Tuzov
d43597c199 transform() implementation updated to utilize wide universal intrinsics 2019-03-18 20:33:19 +03:00
Alexander Alekhin
5451b89aed core: refactor EigenvalueDecomposition (hqr2)
- fix resource allocation management
- reduce variables scope
- fix complex_div
- fix comments, constants
- simplify add/sub operations
2019-03-18 19:07:34 +03:00
Alexander Alekhin
a7c4ee9ae1 core: add iterations limit check in eigenNonSymmetric() 2019-03-18 17:49:17 +03:00
Alexander Alekhin
8c8715c4dd fix static analysis issues 2019-03-13 17:19:39 +03:00
Alexander Alekhin
b9d2e6664d Merge pull request #13979 from alalek:issue_13772 2019-03-07 09:53:25 +00:00
Alexander Alekhin
7366eebebb core: fix condition in OutputArray::create(allowTransposed=True) 2019-03-05 16:26:59 +03:00
Alexander Alekhin
35edad3e74 build: fix warnings 2019-03-05 14:47:04 +03:00
Alexander Alekhin
fd49ee5f39 core: dispatch merge.cpp 2019-02-23 15:42:26 +00:00
Alexander Alekhin
93a36b0df1 core: keep history of merge.cpp 2019-02-23 15:41:39 +00:00
Alexander Alekhin
4e12febe90 core: clone merge.simd.hpp 2019-02-23 15:41:33 +00:00
Alexander Alekhin
6eabe6bc14 core: clone merge.dispatch.cpp 2019-02-23 15:41:33 +00:00
Alexander Alekhin
91d152e2c2 core: dispatch split.cpp 2019-02-22 09:54:31 +00:00
Alexander Alekhin
1d8b30bf4f core: keep history of split.cpp 2019-02-22 09:18:51 +00:00
Alexander Alekhin
0311770e8b core: clone split.simd.hpp 2019-02-22 09:18:27 +00:00
Alexander Alekhin
82cd2f8c93 core: clone split.dispatch.cpp 2019-02-22 09:17:51 +00:00
Alexander Alekhin
dc84cf9914 core: dispatch mean.cpp 2019-02-19 16:58:32 +03:00
Alexander Alekhin
4b82c8a22b core: keep history of mean.cpp 2019-02-19 16:46:46 +03:00
Alexander Alekhin
7af7bcae18 core: clone mean.dispatch.cpp 2019-02-19 16:46:28 +03:00
Alexander Alekhin
93cea6e46e core: clone mean.simd.hpp 2019-02-19 16:45:42 +03:00
Alexander Alekhin
cd66f6e3db core: dispatch matmul
- gemm: keep baseline only (lapack is 10x+ faster, lets reduce binary size)
- transform / distTransform
- scaleAdd (32f/64f only)
- Mahalanobis: keep baseline only (no perf tests)
- mulTransposed: keep baseline only (no perf tests)
- dot
2019-02-18 14:36:46 +03:00
Alexander Alekhin
fbde57dba8 core: keep history of matmul.cpp 2019-02-14 19:07:41 +03:00
Alexander Alekhin
dcee7b1605 core: clone matmul.dispatch.cpp 2019-02-14 19:07:37 +03:00
Alexander Alekhin
b769ad2c23 core: clone matmul.simd.hpp 2019-02-14 19:07:37 +03:00
Alexander Alekhin
e3633ec4a2 core: dispatch count_non_zero 2019-02-14 13:16:20 +03:00
Alexander Alekhin
0b49680339 core: keep history of count_non_zero.cpp 2019-02-14 13:15:43 +03:00
Alexander Alekhin
439e43a027 core: clone count_non_zero.dispatch.cpp 2019-02-14 13:15:39 +03:00
Alexander Alekhin
af8a3a0b66 core: clone count_non_zero.simd.hpp 2019-02-14 13:15:39 +03:00
Alexander Alekhin
b40a7ffbe4 core: dispatch sum 2019-02-13 18:17:38 +03:00
Alexander Alekhin
c88e6b344b core: keep history of sum.cpp 2019-02-13 13:49:36 +03:00
Alexander Alekhin
6e88bff3e3 core: clone sum.dispatch.cpp 2019-02-13 13:49:29 +03:00
Alexander Alekhin
5aceac6b93 core: clone sum.simd.hpp 2019-02-13 13:49:29 +03:00
Alexander Alekhin
2e28ff78c1 Merge pull request #13780 from alalek:core_dispatch_convertTo 2019-02-12 12:08:30 +00:00
klemens
5d9c6723ee spelling fixes
backport 997b7b18af
2019-02-11 15:35:10 +03:00
Alexander Alekhin
d32d576d6d core: dispatch convert_scale 2019-02-08 18:32:10 +03:00
Alexander Alekhin
39b90ae9fb core: dispatch convert 2019-02-08 18:32:10 +03:00
Alexander Alekhin
33d477e049 core: keep history of convert_scale.cpp 2019-02-08 16:39:13 +03:00
Alexander Alekhin
c4abdb8050 core: clone convert_scale.dispatch.cpp 2019-02-08 16:38:50 +03:00
Alexander Alekhin
0af9e19be7 core: clone convert_scale.simd.hpp 2019-02-08 16:35:52 +03:00
Alexander Alekhin
b6a0acb8f6 core: keep history of convert.cpp 2019-02-08 16:29:54 +03:00
Alexander Alekhin
5527c41468 core: clone convert.dispatch.cpp 2019-02-08 16:29:16 +03:00
Alexander Alekhin
1629e29b98 core: clone convert.simd.hpp 2019-02-08 16:27:59 +03:00
Alexander Alekhin
66d9a33b50 core(ocl): fix log messages 2019-02-07 16:35:14 +03:00
Alexander Alekhin
4501a2cdea ocl: support empty "ptr only" UMat in Kernel::set()
add messages to avoid silent kernel destruction
2019-01-30 14:51:06 +03:00
Scott Ramsby
7d0d6cd5ee Fix build error when building with Unicode on Windows 2019-01-07 10:18:58 -08:00
Lee Jaehwan
71aee662bd Merge pull request #13544 from eightco:bugfix
Fix a bug in cv :: merge when array of 3-channel mat is input (#13544)

* Mat merge function bug fix - Bug fix of merge function of 3-channel vector <Mat> of 3 or 4 matrices

* Add Core_merge test for opencv#13544

* fixups
2019-01-04 15:10:50 +03:00
Alexander Alekhin
d9d9b05912 core(ocl): add parameter to limit device max workgroup size
used by OpenCV
2018-12-17 18:33:05 +00:00
Vitaly Tuzov
6ad8a9c09d Replaced core module calls to universal intrinsics with wide universal intrinsics 2018-12-04 16:24:20 +03:00
Alexander Alekhin
aee865fec9 Merge pull request #13352 from alalek:issue_13324 2018-12-03 15:34:23 +00:00
Alexander Alekhin
80c2adbda1 core: add getcwd() stub 2018-12-03 17:38:57 +03:00
Maksim Shabunin
c26c43c69c Fixed compilation with VA-interop on 32-bit platforms 2018-12-03 17:16:09 +03:00
Vitaly Tuzov
00c9ab8c23 Merge pull request #13317 from terfendail:norm_wintr
* Added performance tests for hal::norm functions

* Added sum of absolute differences intrinsic

* norm implementation updated to use wide universal intrinsics

* improve and fix v_reduce_sad on VSX
2018-11-29 19:34:14 +03:00
Alexander Alekhin
82f4322d18 Merge pull request #13269 from alalek:ocl_fix_kernels_with_use_host_mem 2018-11-25 18:27:01 +00:00
Alexander Alekhin
9fd822f97e ocl: fix kernels launching with USE_HOST_PTR UMat
created from RAW memory buffers (without proper lifetime management)
2018-11-24 15:37:16 +00:00
Alexander Alekhin
3c49b1dbbe core: use dladdr() instead of parsing /proc/self/maps 2018-11-24 15:22:54 +00:00
Bram
724620b476 Fixed build on FreeBSD 2018-11-22 09:23:09 +01:00
Alexander Alekhin
45d2e18808 Merge pull request #13232 from huangqinjin:openmp 2018-11-21 08:32:14 +00:00
huangqinjin
e1ac8589f8 fix numThreadsMax for OpenMP
introduced by commit 4e62900009
2018-11-21 10:54:24 +08:00
Sayed Adel
474a0dac49 core: several improves and fixes on ppc64le infrastructure
- add infrastructure support for Power9/VSX3
  - fix missing VSX flags on GCC4.9 and CLANG4(#13210, #13222)
  - fix disable VSX optimzation on GCC by using flag ENABLE_VSX
  - flag ENABLE_VSX is deprecated now, use CPU_BASELINE, CPU_DISPATCH instead
  - add VSX3 to arithmetic dispatchable flags
2018-11-20 15:28:46 +00:00
Alexander Alekhin
780ae864a0
Merge pull request #13192 from alalek:fix_valgrind_3.4 2018-11-17 13:20:33 +03:00
berak
96c99c716a Merge pull request #13193 from berak:core_copyMakeBorder 2018-11-17 13:19:42 +03:00
Alexander Alekhin
c26dd5d7aa core: fix issues from valgrind builder 2018-11-17 07:32:06 +00:00
Alexander Alekhin
e580061b74 Merge pull request #12908 from alexevans:Issue11855 2018-11-16 20:42:54 +00:00
Alexander Alekhin
2fa9bd221d core: add utils::findDataFile() / samples::findFile() 2018-11-16 00:25:06 +00:00
Alexander Alekhin
96c71dd3d2 dnn: reduce set of ignored warnings 2018-11-15 13:15:59 +03:00
Dmitry Kurtaev
6c76c8f881 Add a test for FileNode::keys() 2018-11-12 13:38:18 +03:00
Alexander Alekhin
858a7da5c0 core: rework getContinuousSize() for vector-col/row support 2018-11-10 11:08:28 +00:00
Alexander Alekhin
8675a8c743 Merge pull request #12878 from tompollok:3.4 2018-11-09 19:54:17 +00:00
Alexander Alekhin
596ada51f3 Merge pull request #13080 from alalek:issue_13078 2018-11-09 13:20:27 +00:00
Alexander Alekhin
5059523937 core: fix processing of vector-rows 2018-11-08 20:04:22 +03:00
tompollok
2da56d5af6 refactoring catching all exceptions as const ref 2018-11-08 19:59:47 +03:00
Alexander Alekhin
b74b05d1b3 Revert CV_TRY/CV_CATCH macros
This reverts commit 7349b8f5ce (partially).
2018-11-08 19:56:52 +03:00
Alexander Alekhin
bb7cfcbcdb Merge pull request #12064 from seiko2plus:coreUnvintrinArithm2 2018-11-08 14:02:40 +00:00
Sayed Adel
93ffebc273 core: reimplement SIMD arithmetic, logic and comparison operations into wide universal intrinsics
- initialize arithmetic dispatcher
  - add new universal intrinsic v_absdiffs
  - add new universal intrinsic v_pack_b
  - add accumulate version of universal intrinsic v_round
  - fix sse/avx2:uint8 multiplication overflow
  - reimplement arithmetic, logic and comparison operations into wide universal intrinsics
    with full support for all types
  - reimplement IPP arithmetic, logic and comparison operations in a sperate file arithm_ipp.hpp
  - avoid scalar multiplication if scaling factor eq 1 and use integer multiplication
  - move C arithmetic operations to precomp.hpp and delete [arithm_simd|arithm_core].hpp
  - add compatibility with new opencv4 divide policy
2018-10-30 12:48:31 +02:00
root
1196eb33fc remove non-ideal pairs when using crosscheck in batchdistance 2018-10-26 20:25:24 +00:00
Alexander Alekhin
3e0c72ea84 core(ipp): disable SSE4.2 meanStdDev() optimization for CV_32F 2018-10-26 15:57:26 +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
Michał Janiszewski
c8e6ce304f Catch exceptions by const-reference
Exceptions caught by value incur needless cost in C++, most of them can
be caught by const-reference, especially as nearly none are actually
used. This could allow compiler generate a slightly more efficient code.
2018-10-16 22:43:54 +02:00
Alexander Alekhin
f185640eda
Merge pull request #12799 from alalek:update_build_js
* js: update build script

- support emscipten 1.38.12 (wasm is ON by default)
- verbose build messages

* js: use builtin Math functions

* js: disable tracing code completelly
2018-10-15 17:35:21 +03:00
Alexander Alekhin
72eccb7694 Merge pull request #12825 from alalek:issue_8413_3.4 2018-10-15 14:23:21 +00:00
Vitaly Tuzov
43d9256096 Replaced core module calls to universal intrinsics with wide universal intrinsics 2018-10-15 11:46:45 +03:00
Alexander Alekhin
c813ad5533 core(ocl): replace ambiguous 'depth' to 'DEPTH_dst'
- always pass DEPTH_dst value to core/arithm kernel
2018-10-14 02:18:04 +00:00
Alexander Alekhin
d2a66d3c99 Merge pull request #12815 from alalek:issue_12812 2018-10-13 13:12:55 +00:00
Alexander Alekhin
0f41daeba5 Merge pull request #12641 from dkurt:dnn_samples_args_autofill 2018-10-13 12:28:08 +00:00
Alexander Alekhin
8c4f886f5f core: re-throw allocation exception if there is no fallback 2018-10-12 19:10:06 +00:00
Alexander Alekhin
91c6d36ff8 Merge pull request #12796 from alalek:fix_openmp_performance 2018-10-11 19:29:04 +00:00
Alexander Alekhin
4e62900009 core: call omp_set_dynamic() for better CPU usage
Similar to 'OMP_DYNAMIC=TRUE'.
2018-10-10 19:57:43 +00:00
Alexander Alekhin
11e2a216c5 ocl(win32): bypass deallocate() during process termination 2018-10-10 18:06:06 +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
18bf91a08b core: update allocSingleton implementation, valgrind suppression 2018-10-05 18:25:13 +03:00
Alexander Alekhin
83a0c12144 Merge pull request #12581 from terfendail:lapack_intr 2018-10-02 16:39:50 +00:00
Vitaly Tuzov
283348afc3 SSE2 code in invert() replaced with universal intrinsics 2018-10-02 12:47:07 +03:00
Alexander Alekhin
b41f38ecc7 Merge pull request #12669 from mshabunin:add-paths-config 2018-10-01 15:57:57 +00:00
Alexander Alekhin
94201b7cf9 ocl: OPENCV_OPENCL_BUILD_EXTRA_OPTIONS parameter 2018-10-01 17:56:17 +03:00
Maksim Shabunin
15632c6305 Added support for multi-path configuration parameter (env) 2018-10-01 17:50:47 +03:00
Rostislav Vasilikhin
be989b3b60 Merge pull request #12637 from savuor:fix/instr_ipp_ocl
Fixes for instrumentation of IPP and OCL (#12637)

* fixed warning about re-declaring variable when both IPP and instrumentation are enabled

* fixed segfault when no funName provided

* compilation fixed when both OCL and instrumentation are enabled
2018-09-27 22:39:06 +03:00
Dmitry Kurtaev
24ab751547 Merge pull request #12565 from dkurt:dnn_non_intel_gpu
* Remove isIntel check from deep learning layers

* Remove fp16->fp32 fallbacks where it's not necessary

* Fix Kernel::run to prevent localsize > globalsize
2018-09-26 16:27:00 +03:00
Dmitry Kurtaev
ad5898224d Add a file with preprocessing parameters for deep learning networks 2018-09-25 18:28:37 +03:00
Hamdi Sahloul
47bb09bc4b OpenGL: avoid losing precision in double-to-float conversion 2018-09-24 19:06:48 +09:00
Hamdi Sahloul
ecc9bd0925 Support GpuMat in copyTo() functions 2018-09-17 23:43:14 +09:00
Alexander Alekhin
cecb878915 Merge pull request #12527 from terfendail:mean_wintr 2018-09-14 16:34:30 +00:00
Vitaly Tuzov
95502242c9 meanStdDev() implementation updated to use wide universal intrinsics 2018-09-14 17:52:08 +03:00
Hamdi Sahloul
5d54def264 Add semicolons after CV_INSTRUMENT macros 2018-09-14 06:45:31 +09:00
Takuho NAKANO
451340fd3d Merge pull request #12523 from takotakot:12455_rotatedrect_constructor
* Fix perpendicular decision of RotatedRect::RotatedRect

Error estimation is based on #12455.

* Fix abs to std::fabs and atan to std::atan
2018-09-13 22:26:05 +03:00
Alexander Alekhin
87b1100027
Merge pull request #12410 from terfendail:sum_wintr 2018-09-13 15:49:56 +03:00
Hamdi Sahloul
03b3be0f51 MSVC: Slience external/meaningless warnings 2018-09-12 20:02:13 +09:00
Vitaly Tuzov
0a5bd0ac8b sum() implementation updated to use wide universal intrinsics 2018-09-10 20:16:38 +03:00
Vitaly Tuzov
2f929376ec Fixed meanStdDev() implementation for the case input matrix has more than 4 channels 2018-09-10 20:05:45 +03:00
Alexander Alekhin
95dd4b3f27 bindings: add debug helpers for args conversions 2018-09-08 12:23:08 +00:00
cyy
286c2c236b Merge pull request #12458 from DEEPIR:3.4
* may be an typo fix

* remove identical branch,may be paste error

* add parentheses around macro parameter

* simplify if condition

* check malloc fail

* change the condition of branch removed by commit 3041502861
2018-09-07 18:43:47 +03:00
Hamdi Sahloul
a39e0daacf Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
cyy
8b48c2a10c Merge pull request #12443 from DEEPIR:master
* simplify condition

* dims must > 0 or latter sz[dims-1] will underflow
2018-09-06 23:09:39 +03:00
Alexander Alekhin
f1f15841d7 Merge pull request #11630 from alalek:c_api_eliminate_constructors 2018-09-06 20:07:16 +00:00
Vadim Pisarevsky
80b62a41c6 Merge pull request #12411 from vpisarev:wide_convert
* rewrote Mat::convertTo() and convertScaleAbs() to wide universal intrinsics; added always-available and SIMD-optimized FP16<=>FP32 conversion

* fixed compile warnings

* fix some more compile errors

* slightly relaxed accuracy threshold for int->float conversion (since we now do it using single-precision arithmetics, not double-precision)

* fixed compile errors on iOS, Android and in the baseline C++ version (intrin_cpp.hpp)

* trying to fix ARM-neon builds

* trying to fix ARM-neon builds

* trying to fix ARM-neon builds

* trying to fix ARM-neon builds
2018-09-06 19:36:59 +03:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
ad146e5a6b core: remove constructors from C API structures
POD structures can't have constructors.
2018-09-06 14:34:09 +03:00
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
Alexander Alekhin
f42fca9f49 cuda: avoid unnecessary cudaStreamSynchronize() call
resolves #11511
2018-05-15 18:38:22 +03:00
Vadim Pisarevsky
e0dbe5cfcc
handle huge matrices correctly (#11505)
* make sure that the matrix with more than INT_MAX elements is marked as non-continuous, and thus all the pixel-wise functions process it correctly (i.e. row-by-row, not as a single row, where integer overflow may occur when computing the total number of elements)
2018-05-14 15:29:14 +03:00
cclauss
05c1a3d160 print() is a function in Python 3 2018-05-03 07:12:12 +02:00
yuki takehara
4934f7c5a4 Merge pull request #11285 from take1014:core_6125
* Resolves 6125

* Fix test code

* Delete unnecessary code
2018-04-28 14:14:10 +03:00
Alexander Alekhin
856a07711b core: disabled IPP AVX512 normL1(a, b, mask)
for cv::Mat with type=16UC3 and width < 16
2018-04-27 12:57:53 +03:00
Alexander Alekhin
1031dfe4e8 Merge pull request #11402 from alalek:build_warnings 2018-04-26 19:04:37 +00:00
Alexander Alekhin
39e2d64b84 core: fix icc std::exception_ptr detection
std::exception_ptr requires enabled C++11 mode
2018-04-26 17:46:25 +03:00
Alexander Alekhin
f708a11f0f build: fix warnings 2018-04-26 14:13:01 +03:00
Alexander Alekhin
57dad685d1 core: disabled IPP AVX2 normL1(a, b, mask)
for cv::Mat with width < 16
2018-04-26 13:35:25 +03:00
Alexander Alekhin
6b581c4e51 build: unreachable code after CV_Error() (part 2) 2018-04-24 16:03:40 +03:00
Alexander Alekhin
576d2dbac0 refactor: don't use CV_ErrorNoReturn() internally 2018-04-24 15:38:42 +03:00
Alexander Alekhin
909a25571e Merge pull request #11332 from alalek:v_select_x86 2018-04-24 11:44:33 +00:00
Alexander Alekhin
e82af627ed Merge pull request #11376 from alalek:cv_error_set_terminate 2018-04-23 14:51:55 +00:00
Alexander Alekhin
4cbec82ac1 build: unreachable code after CV_Error() 2018-04-23 15:45:57 +03:00
Alexander Alekhin
10c9227136 core: CV_Error with set_terminate() on Windows
To dump contents of the last OpenCV error
2018-04-23 15:09:41 +03:00
Alexander Alekhin
65726e4244 core(hal): improve v_select() SSE4.1+
v_select 'mask' is restricted to these values only: 0 or ~0 (0xff/0xffff/etc)
mask in accuracy test is updated.
2018-04-23 13:17:53 +03:00
Vadim Pisarevsky
a312380367 Merge pull request #11357 from alalek:disable_errors_dump 2018-04-23 10:06:43 +00:00
berak
d89fb163c6 core: add a check for empty input in inRange() 2018-04-21 12:54:52 +02:00
Alexander Alekhin
52172e6f92 Merge pull request #11361 from alalek:ocl_use_host_mem_ptr_workaround 2018-04-20 14:49:37 +00:00
Simon Que
705464258e Merge pull request #11353 from eecsninja:3.4
* Fix CV_Asserts with negation of strings

{!"string"} causes some compilers to throw a warning.

The value of the string is not that important -- it's only for printing
the assertion message.

Replace these calls with:

  CV_Error(Error::StsError, "string")

to suppress the warning.

* remove unnecessary 'break' after CV_Error()
2018-04-20 15:31:47 +03:00
Alexander Alekhin
d76b41b50e ocl: CL_MEM_USE_HOST_PTR workaround test 2018-04-20 14:58:42 +03:00
Alexander Alekhin
2f9cbc2e57 core: disable errors dump
Error messages are available via exceptions
2018-04-20 12:33:20 +03:00
Alexander Alekhin
12e8e33144 build: enable -Wimplicit-fallthrough warning for OpenCV modules 2018-04-19 19:54:03 +03:00
Alexander Alekhin
97882d03cc core: fix FP16 conversion with CV_DISABLE_OPTIMIZATION option
Reproducer:
    cmake -DCPU_BASELINE=AVX2 -DCV_DISABLE_OPTIMIZATION=ON ...
2018-04-18 14:13:03 +03:00
Alexander Alekhin
670ef403b0 ocl: improve trace messages of OpenCL calls 2018-04-13 14:54:27 +03:00
Vadim Pisarevsky
59221296c0 Merge pull request #10978 from alalek:cv_check_macros 2018-04-11 15:17:27 +00:00
Alexander Alekhin
fa4b9e80e2 Merge pull request #11275 from alalek:issue_11274 2018-04-10 11:28:21 +00:00
Alexander Alekhin
567ae61e78 core: add "check" macros 2018-04-09 21:24:02 +03:00
Alexander Alekhin
b82bec88d9 Merge pull request #11271 from alalek:tbb_build_warning 2018-04-09 15:53:26 +00:00
Alexander Alekhin
7dc162cb42 core: fix mm_pause() for non-SSE i386 builds
replaced to safe binary compatible 'rep; nop' asm instruction
2018-04-09 18:37:35 +03:00
Vadim Pisarevsky
fa5a6bfa02 Merge pull request #11251 from mshabunin:add-runtime-version 2018-04-09 13:24:29 +00:00
Alexander Alekhin
854ab48de0 tbb: fix build warnings -Wshadow 2018-04-09 12:58:09 +03:00
Alexander Alekhin
8dacbe7584 android: std::exception_ptr is not available on some platforms (even with enabled C++11) 2018-04-09 12:54:57 +03:00
Vadim Pisarevsky
4617758053 Merge pull request #11247 from lopespt:fix_issue_10506 2018-04-09 09:39:17 +00:00
Maksim Shabunin
d2cff38db6 Added interface to check library version during runtime 2018-04-09 12:30:39 +03:00
Dmitry Kurtaev
73ca194313 Fix convertFp16 in JavaScript build 2018-04-07 09:44:43 +03:00
Alexander Alekhin
23d866ad40 Merge pull request #11237 from alalek:cuda_refactor_memorypool 2018-04-06 15:37:37 +00:00
lopespt
c17ce1a0af Solves issue #10506 2018-04-05 20:25:32 -03:00
Alexander Alekhin
a87a5dfdb3 Merge pull request #11192 from terfendail:setto_fix 2018-04-05 20:25:34 +00:00
Alexander Alekhin
e20fb7f429 Merge pull request #11197 from alalek:parallel_propagate_exception 2018-04-05 20:24:22 +00:00
Alexander Alekhin
7818071ba2 cuda: eliminate part of build warnings 2018-04-05 17:53:22 +03:00
Alexander Alekhin
82ba3ac894 cuda: refactor MemoryPool
- make non-copyable (aligns inner mutex semantic to std::mutex)
- getMemoryPool() returns reference instead of pointer (NULL is not expected here)
2018-04-05 16:04:37 +03:00
Alexander Alekhin
c2fb4debc5 Merge pull request #11224 from alalek:fix_core_min_avx2 2018-04-05 10:37:31 +00:00
Alexander Alekhin
8f7e7cd343 Merge pull request #11071 from alalek:issue_11061_fix_error_message 2018-04-05 10:15:04 +00:00
yuki takehara
d57e5c31c0 Merge pull request #11214 from take1014:core_9720
* fix #9720

* Add regression test

* Fix calculation method for scale
2018-04-04 18:36:02 +03:00
Alexander Alekhin
45a69ebec8 core: fix AVX2 min implementation 2018-04-04 17:38:58 +03:00
Vitaly Tuzov
ccd16f107d Fixed IPP based implementation of setTo() for infinity value 2018-04-04 16:05:22 +03:00
Alexander Alekhin
6f69800d0c core: propagate parallel_for() exceptions 2018-03-30 16:24:31 +03:00
Alexander Alekhin
2fb4812f6d Merge pull request #11194 from ltqusst:fix_10557 2018-03-30 09:30:43 +00:00
ltqusst
0d646490f5 Fix #10557
Fix overflow bugs in conversion from NV12 VA-surface/D3D11texture2D to OpenCL UMat
2018-03-30 16:32:15 +08:00
Alexander Alekhin
9111538bfb core: apply CV_OVERRIDE/CV_FINAL 2018-03-28 17:57:59 +03:00
LaurentBerger
03eb463f1c Solves #11156 (#11160)
* Solves #11156

* Check file size for all file format. Disable APPEND if file is empty

* Add test for APPEND mode
2018-03-28 15:35:38 +03:00
Alexander Alekhin
7d8f1dde26 core(persistence): disable checks for base64 streams 2018-03-27 17:02:04 +03:00
Alexander Alekhin
f4c4b01455 core: added checks and "fixit" items for persistence parsers
To raise errors with proper messages of the problems.
2018-03-27 16:19:43 +03:00