Commit Graph

4760 Commits

Author SHA1 Message Date
Igor Murzov
a9d23a6479 Fix wording in some tutorials 2019-10-30 13:27:17 +03:00
Alexander Alekhin
ea5499fa51 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-29 20:46:51 +00:00
Alexander Alekhin
bad4e5c3eb Merge pull request #15692 from alalek:core_tls_handle_thread_termination 2019-10-29 20:40:35 +00:00
Alexander Alekhin
80c4cedd25 android: use .getRowStride() in JavaCamera2View 2019-10-28 18:45:56 +00:00
Alexander Alekhin
d8ab83600b Merge pull request #15761 from alalek:core_trace_itt_parameter 2019-10-26 21:39:08 +00:00
Alexander Alekhin
6ec5ae0215 core(trace): add ITT control parameter
- OPENCV_TRACE_ITT_ENABLE
2019-10-26 15:03:51 +00:00
Alexander Alekhin
055ffc0425 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-24 18:21:19 +00:00
Alexander Alekhin
17e2bf5717 core(tls): implement releasing of TLS on thread termination
- move TLS & instrumentation code out of core/utility.hpp
- (*) TLSData lost .gather() method (to dispose thread data on thread termination)
- use TLSDataAccumulator for reliable collecting of thread data
- prefer using of .detachData() + .cleanupDetachedData() instead of .gather() method

(*) API is broken: replace TLSData => TLSDataAccumulator if gather required
(objects disposal on threads termination is not available in accumulator mode)
2019-10-24 06:36:18 +00:00
Chip Kerchner
5a6a49405d Merge pull request #15738 from ChipKerchner:bugInt64x2Comparison
Fixing bug with comparison of v_int64x2 or v_uint64x2

* Casting v_uint64x2 to v_float64x2 and comparing does NOT work in all cases.  Rewrite using epi64 instructions - faster too.

* Fix bad merge.

* Fix equal comparsion for non-SSE4.1. Add test cases for v_int64x2 comparisons.

* Try to fix merge conflict.

* Only test v_int64x2 comparisons if CV_SIMD_64F

* Fix compiler warning.
2019-10-22 16:37:20 +03:00
Alexander Alekhin
938d8dce06 Merge pull request #15685 from pmur:cnz64f-simd 2019-10-18 20:19:40 +00:00
Alexander Alekhin
24ebca5c59 core(simd): v_reverse() for MSA backend 2019-10-18 16:43:03 +03:00
Alexander Alekhin
a2b3cd9a2c Merge pull request #15709 from alalek:js_simd_reverse 2019-10-17 13:14:50 +00:00
Alexander Alekhin
d31da08d43 Merge pull request #15708 from alalek:js_simd_support_1.38.48 2019-10-17 13:14:34 +00:00
Alexander Alekhin
ad5d14ec0e Merge pull request #15701 from alalek:issue_15691 2019-10-16 11:13:07 +00:00
Alexander Alekhin
bce653117f Merge pull request #15700 from alalek:issue_12943 2019-10-16 11:12:49 +00:00
Alexander Alekhin
ad172726c0 js(simd): v_reverse implementation 2019-10-15 18:46:08 +03:00
Alexander Alekhin
b1a8de0901 js(simd): support Emscripten 1.38.48-upstream 2019-10-15 15:39:22 +03:00
Alexander Alekhin
823884b064 core(alloc): force initialization of memalign flag
- before main() launch
2019-10-15 13:07:11 +03:00
Alexander Alekhin
6a7d1c15d3 core(ipp): skip huge input in flip()
- IPP/SSE4.2 works well
2019-10-14 18:26:19 +03:00
Alexander Alekhin
e42560bed5 Merge pull request #15659 from malfet:use-atomic-in-getExpTab32f 2019-10-12 20:27:58 +00:00
Alexander Alekhin
d6630ab35b Merge pull request #15655 from malfet:use-atomic-in-parallel-for 2019-10-12 20:26:15 +00:00
Chip Kerchner
027769bf5d Merge pull request #15662 from ChipKerchner:addVReverseIntrinsic
* New v_reverse HAL intrinsic for reversing the ordering of a vector

* Fix conflict.

* Try to resolve conflict again.

* Try one more time.

* Add _MM_SHUFFLE. Remove non-vectorize code in SSE2. Fix copy and paste issue with NEON.

* Change v_uint16x8 SSE2 version to use shuffles
2019-10-11 18:34:17 +03:00
Paul E. Murphy
ec91a3d59d core: vectorize countNonZero64f
Improves performance a bit. 2.2x on P9 and 2 - 3x on coffee lake
x86-64.
2019-10-11 09:02:46 -05:00
Alexander Alekhin
46206b4814 Merge tag '4.1.2' 2019-10-09 23:01:31 +00:00
Alexander Alekhin
4c71dbf0af release: OpenCV 4.1.2
OpenCV 4.1.2
2019-10-09 22:53:14 +00:00
Alexander Alekhin
65573784c4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-09 19:46:18 +00:00
Alexander Alekhin
dd4f591d54 Merge tag '3.4.8' 2019-10-09 18:33:35 +03:00
Alexander Alekhin
6bdb9ca725 OpenCV release (3.4.8)
OpenCV 3.4.8
2019-10-09 14:42:29 +03:00
Maksim Shabunin
1ca74c3c03 Merge pull request #15544 from mshabunin:disable_posix_memalign
* Disable posix_memalign by default

* core: fix memalign parameter handling
2019-10-09 14:06:12 +03:00
Alexander Smorkalov
c3a588037a Merge pull request #15666 from seanm:Wnewline 2019-10-09 11:04:44 +00:00
Marcin Tolysz
3fd36c1be1 Merge pull request #15658 from tolysz:patch-1
* Cuda + OpenGL on ARM

There might be multiple ways of getting OpenCV compile on Tegra (NVIDIA Jetson) platform, but mainly they modify CUDA(8,9,10...) source code, this one fixes it for all installations. 
( https://devtalk.nvidia.com/default/topic/1007290/jetson-tx2/building-opencv-with-opengl-support-/post/5141945/#5141945 et al.).
This way is exactly the same as the one proposed but the code change happens in OpenCV.

* Updated,
The link provided mentions: cuda8 + 9, I have cuda 10 + 10.1 (and can confirm it is still defined this way).
NVIDIA is probably using some other "secret" backend with Jetson.
2019-10-09 11:38:10 +03:00
Sean McBride
24effe8cd6 Fixed clang -Wnewline-eof warning by adding newline to end of file 2019-10-09 10:12:09 +03:00
Nikita Shulga
ec37364762 Use std::atomic in getExpTab32f and getLogTab32f
Reads and writes to volatile bool are not guaranteed to be atomic.
2019-10-07 16:35:07 -07:00
Nikita Shulga
23288b7cb5 Use atomic operations to modify flagNestedParallelFor
This ensures uniform behavior on any C++11 compliant compiler
2019-10-07 16:26:30 -07:00
Sayed Adel
f2fe6f40c2 Merge pull request #15510 from seiko2plus:issue15506
* core: rework and optimize SIMD implementation of dotProd

  - add new universal intrinsics v_dotprod[int32], v_dotprod_expand[u&int8, u&int16, int32], v_cvt_f64(int64)
  - add a boolean param for all v_dotprod&_expand intrinsics that change the behavior of addition order between
    pairs in some platforms in order to reach the maximum optimization when the sum among all lanes is what only matters
  - fix clang build on ppc64le
  - support wide universal intrinsics for dotProd_32s
  - remove raw SIMD and activate universal intrinsics for dotProd_8
  - implement SIMD optimization for dotProd_s16&u16
  - extend performance test data types of dotprod
  - fix GCC VSX workaround of vec_mule and vec_mulo (in little-endian it must be swapped)
  - optimize v_mul_expand(int32) on VSX

* core: remove boolean param from v_dotprod&_expand and implement v_dotprod_fast&v_dotprod_expand_fast

  this changes made depend on "terfendail" review
2019-10-07 22:01:35 +03:00
Alexander Alekhin
7837ae0e19 Merge pull request #15654 from sturkmen72:patch-3 2019-10-07 16:15:04 +00:00
Marcin Tolysz
53400d86e2 Fix compiler warnings for latest cuda npp which defines this itself as:
```
#define NPP_VER_MAJOR 10
#define NPP_VER_MINOR 2
#define NPP_VER_PATCH 0
#define NPP_VER_BUILD 243

#define NPP_VERSION (NPP_VER_MAJOR * 1000 +     \
                     NPP_VER_MINOR *  100 +     \
                     NPP_VER_PATCH)
2019-10-07 11:45:26 +01:00
Suleyman TURKMEN
c0489963bb
Update copy.cpp 2019-10-07 11:59:52 +03:00
Alexander Alekhin
626bfbf309 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-05 15:45:31 +00:00
Alexander Alekhin
98fc098216 Merge pull request #15646 from alalek:fix_avx512_detection 2019-10-05 15:30:09 +00:00
Alexander Alekhin
22d0c57a1c Merge pull request #15602 from alalek:core_softfloat_ubsan_shift 2019-10-05 15:27:35 +00:00
Alexander Alekhin
bdc097495a fix avx512 detection
- renamed Cascade Lake AVX512_CEL => AVX512_CLX (align with Intel SDE tool)
- fixed CLX instruction sets (no IFMA/VBMI)
- added flag to bypass CPU baseline check: OPENCV_SKIP_CPU_BASELINE_CHECK
2019-10-05 11:03:57 +00:00
Alexander Alekhin
3fb6617d62 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-02 17:49:19 +03:00
Alexander Alekhin
77346d7286 core: workaround transform() inplace calls 2019-10-01 16:52:14 +03:00
Alexander Alekhin
ed9bca969c core: fix UBSAN in softfloat 2019-09-27 16:29:50 +03:00
Alexander Alekhin
bc927f9788 Merge pull request #15591 from alalek:core_persistence_fix 2019-09-26 12:59:37 +00:00
Alexander Alekhin
e2a5a6a05c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-25 18:32:44 +00:00
Alexander Alekhin
677b94c92e Merge pull request #15579 from alalek:ocl_use_host_mem_ptr_flag 2019-09-25 15:12:59 +00:00
Alexander Alekhin
eacadf0e73 core(ocl): add flag OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR
to control CL_MEM_USE_HOST_PTR usage
2019-09-25 15:12:36 +03:00
Alexander Alekhin
6e246ee58c core(persistence): fix reserveNodeSpace() implementation
- avoid data copying after buffer block shrink
- resize current block in case of single FileNode
2019-09-25 15:02:20 +03:00
Alexander Alekhin
d2cacac07a Merge pull request #15573 from alalek:build_cxx11_warnings 2019-09-24 22:08:55 +00:00
Wenzhao Xiang
c2096771cb Merge pull request #15371 from Wenzhao-Xiang:gsoc_2019
[GSoC 2019] Improve the performance of JavaScript version of OpenCV (OpenCV.js)

* [GSoC 2019]

Improve the performance of JavaScript version of OpenCV (OpenCV.js):
1. Create the base of OpenCV.js performance test:
     This perf test is based on benchmark.js(https://benchmarkjs.com). And first add `cvtColor`, `Resize`, `Threshold` into it.
2. Optimize the OpenCV.js performance by WASM threads:
     This optimization is based on Web Worker API and SharedArrayBuffer, so it can be only used in browser.
3. Optimize the OpenCV.js performance by WASM SIMD:
     Add WASM SIMD backend for OpenCV Universal Intrinsics. It's experimental as WASM SIMD is still in development.

* [GSoC2019] 

1. use short license header
2. fix documentation node issue
3. remove the unused `hasSIMD128()` api

* [GSoC2019]

1. fix emscripten define
2. use fallback function for f16

* [GSoC2019]

Fix rebase issue
2019-09-24 16:30:42 +03:00
Alexander Alekhin
3cf9185159 Merge pull request #15538 from terfendail:wui_checkany 2019-09-23 15:52:24 +00:00
Maksim Shabunin
c8abf2ad14 backport: fixed warnings produced by clang-9.0.0
ea3dc78986
83fc27cb99
2019-09-23 18:36:18 +03:00
Alexander Alekhin
fcc69d5a60 core(test): fix check conditions 2019-09-22 11:28:41 +00:00
Alexander Alekhin
a74fe2ec01 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-20 21:11:49 +00:00
mipsopen-fwu
b1ea91d8bd Merge pull request #15422 from mipsopen-fwu:msa-dev
* Added MSA implementations for mips platforms. Intrinsics for MSA and build scripts for MIPS platforms are added.

Signed-off-by: Fei Wu <fwu@wavecomp.com>

* Removed some unused code in mips.toolchain.cmake.

Signed-off-by: Fei Wu <fwu@wavecomp.com>

* Added comments for mips toolchain configuration and disabled compiling warnings for libpng.

Signed-off-by: Fei Wu <fwu@wavecomp.com>

* Fixed the build error of unsupported opcode 'pause' when mips isa_rev is less than 2.

Signed-off-by: Fei Wu <fwu@wavecomp.com>

* 1. Removed FP16 related item in MSA option defines in OpenCVCompilerOptimizations.cmake.
2. Use CV_CPU_COMPILE_MSA instead of __mips_msa for MSA feature check in cv_cpu_dispatch.h.
3. Removed hasSIMD128() in intrin_msa.hpp.
4. Define CPU_MSA as 150.
Signed-off-by: Fei Wu <fwu@wavecomp.com>

* 1. Removed unnecessary CV_SIMD128_64F guarding in intrin_msa.hpp.
2. Removed unnecessary CV_MSA related code block in dotProd_8u().

Signed-off-by: Fei Wu <fwu@wavecomp.com>

* 1. Defined CPU_MSA_FLAGS_ON as "-mmsa".
2. Removed CV_SIMD128_64F guardings in intrin_msa.hpp.

Signed-off-by: Fei Wu <fwu@wavecomp.com>

* Removed unused msa_mlal_u16() and msa_mlal_s16 from msa_macros.h.

Signed-off-by: Fei Wu <fwu@wavecomp.com>
2019-09-20 19:52:48 +03:00
Vitaly Tuzov
66842f5a18 Extended v_check_any/v_check_all universal intrinsics to support 64-bit integer 2019-09-19 18:31:31 +03:00
Alexander Alekhin
b4c5b50a3e Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-13 17:15:45 +00:00
Paul E. Murphy
b465c82696 core: workaround old gcc vec_mul{e,o} (Issue #15506)
ISA 2.07 (aka POWER8) effectively extended the expanding multiply
operation to word types. The altivec intrinsics prior to gcc 8 did
not get the update.

Workaround this deficiency similar to other fixes.

This was exposed by commit 33fb253a66
which leverages the int -> dword expanding multiply.

This fixes Issue #15506
2019-09-12 09:54:02 -05:00
Alexander Alekhin
bea2c75452 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-05 14:29:22 +03:00
Alexander Alekhin
0a13633411 Merge pull request #15444 from alalek:ocl_fix_fft_kernel 2019-09-04 16:25:34 +00:00
Alexander Alekhin
8bd2720c28 core(ocl): fix fft kernel compilation
- error: variables in the local address space can only be declared in the outermost scope of a kernel function
2019-09-03 15:46:53 +03:00
Alexander Alekhin
7e46766c8d Merge pull request #15437 from devnexen:fbsd_opencl_build_fix 2019-09-03 12:21:02 +00:00
Alexander Alekhin
9ef5373776 Merge pull request #15435 from alalek:update_version_3.4.8-pre 2019-09-03 12:04:23 +00:00
Alexander Alekhin
abd7d63b74 Merge pull request #15424 from mshabunin:add-cmake-docs 2019-09-03 10:50:45 +00:00
David Carlier
6769ee3748 OpenCL: FreeBSD build fix 2019-09-02 18:30:53 +01:00
Alexander Alekhin
3c62f3a8e3 pre: OpenCV 4.1.2 (version++) 2019-09-02 15:26:14 +03:00
Alexander Alekhin
0fda243a05 pre: OpenCV 3.4.8 (version++) 2019-09-02 14:20:49 +03:00
Alexander Alekhin
048ddbf9ee Merge pull request #15339 from pmur:dotprod-32s-vsx 2019-08-31 11:16:04 +00:00
Alexander Alekhin
2a6527e751 Merge pull request #15402 from ChipKerchner:normUnroll 2019-08-31 11:10:05 +00:00
Maksim Shabunin
f3aab47f94 Assorted documentation fixes
* removed private flann documentation
* common tutorial images moved to doc/images
* grouping issues
2019-08-31 01:50:11 +03:00
Alexander Alekhin
1661e83939 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-30 16:22:42 +03:00
Alexander Alekhin
f224d740a3 Merge pull request #15414 from kuzi117:instr 2019-08-30 12:03:19 +00:00
Braedy Kuzma
9bf8b496d6 Use commonly supported instruction mnemonic. 2019-08-29 10:00:40 -06:00
Braedy Kuzma
d4120dd2fe Disambiguate vecpopcnt for (u)dword2. 2019-08-29 09:54:56 -06:00
Vitaly Tuzov
d134ec54c5 Extend tests for v_check_any and v_check_all intrinsics 2019-08-28 14:53:31 +03:00
Alexander Alekhin
ca7640e10f Merge pull request #15401 from ChipKerchner:vectorReduceInt8Bug 2019-08-27 19:59:39 +00:00
ChipKerchner
288e6f9c07 –Improve vectorization in the 'norm' functions 2019-08-27 12:15:19 -05:00
ChipKerchner
70b883cfeb Fix macro bug with v_reduce_min and v_reduce_max for chars in VSX 2019-08-27 11:38:53 -05:00
Vitaly Tuzov
1b40528e1a Fix for AVX2 implementation of v_check_any(), v_check_all() intrinsics 2019-08-27 14:31:23 +03:00
Alexander Alekhin
a7b954f655 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-23 19:24:37 +03:00
Alexander Alekhin
d7409604b5 core: handle empty Mat in Mat_ assignment operators 2019-08-23 16:54:24 +03:00
Alexander Alekhin
56e832ee43 Merge pull request #15372 from alalek:core_stat_fix_intrin 2019-08-22 20:52:54 +00:00
Kazuma Furuhashi
ccecd3405a Merge pull request #15007 from 284km:fixatypo
s/last_occurence/last_occurrence/
2019-08-22 17:32:25 +03:00
Alexander Alekhin
8a0b93bc4d core: update fastmath.hpp 2019-08-22 16:43:07 +03:00
Alexander Alekhin
8b1fe8f6e0 core: fix stat SIMD code 2019-08-22 16:37:26 +03:00
Alexander Alekhin
4700722444 Merge pull request #15359 from mgehre:fix_dangling_pointer 2019-08-21 11:38:36 +00:00
Zyrin
869ea22f34 Use std::move in Mat_<T> move constructors 2019-08-21 11:12:00 +02:00
Zyrin
8ef8088686 Fix stack overflow on gcc with c++17 (#15343) 2019-08-21 10:57:03 +02:00
Matthias Gehre
0e92ac2af7 modules/core/src/ocl.cpp: Fix dangling pointer
Detected by clang trunk:
```
opencv/modules/core/src/ocl.cpp:4337:37: warning: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling]
        CV_OCL_CHECK_RESULT(retval, cv::format("clCreateBuffer(capacity=%lld) => %p", (long long int)entry.capacity_, (void*)entry.clBuffer_).c_str());
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
opencv/modules/core/src/ocl.cpp:193:42: note: expanded from macro 'CV_OCL_CHECK_RESULT'
            if (0) { const char* msg_ = (msg); CV_UNUSED(msg_); /* ensure const char* type (cv::String without c_str()) */ } \
```
because `cv::format` yields a temporary std::string, and thus `msg_` points to a destroyed buffer.
2019-08-20 23:30:34 +02:00
Paul E. Murphy
33fb253a66 core: vectorize dotProd_32s
Use 4x FMA chains to sum on SIMD 128 FP64 targets. On
x86 this showed about 1.4x improvement.

For PPC, do a full multiply (32x32->64b), convert to DP
then accumulate. This may be slightly less precise for
some inputs. But is 1.5x faster than the above which
is about 1.5x than the FMA above for ~2.5x speedup.
2019-08-20 15:28:36 -05:00
Alexander Alekhin
19a4b51371 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-16 18:48:08 +03:00
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
luz.paz
ec43292e1e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04:00
Alexander Alekhin
13ecd5bb25 Merge pull request #15122 from pmur:fast-math-improvements 2019-08-14 19:28:05 +00:00
Alexander Alekhin
a703b9ed84 Merge pull request #15101 from alalek:cmake_initialization 2019-08-14 19:17:07 +00:00
Alexander Alekhin
32772a5436 3.4: backported changes from 'master' branch 2019-08-14 16:36:08 +03:00
Alexander Alekhin
2ad0487cec Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-13 18:32:29 +00:00
Alexander Alekhin
7c96857c02 Merge pull request #15292 from alalek:build_warnings_xcode_10_3 2019-08-13 14:18:48 +00:00
Alexander Alekhin
15b8a8d935 build: eliminate warnings with Xcode 10.3 2019-08-13 15:06:13 +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
Alexander Alekhin
5ef548a985 cmake: update initialization 2019-08-08 15:23:16 +03:00
Paul E. Murphy
f38a61c66d fast_math: implement optimized PPC routines
Implement cvRound using inline asm. No compiler support
exists today to properly optimize this. This results in
about a 4x speedup over the default rounding. Likewise,
simplify the growing number of rounding function overloads.

For P9 enabled targets, utilize the classification
testing instruction to test for Inf/Nan values. Operation
speedup is about 1.2x for FP32, and 1.5x for FP64 operands.

For P8 targets, fallback to the GCC nan inline. It provides
a 1.1/1.4x improvement for FP32/FP64 arguments.
2019-08-07 15:01:18 -05:00
Paul E. Murphy
3f92bcc11a fast_math: selectively use GCC rounding builtins when available
Add a new macro definition OPENCV_USE_FASTMATH_GCC_BUILTINS to enable
usage of GCC inline math functions, if available and requested by the
user.

Likewise, enable it for POWER. This is nearly always a substantial
improvement over using integer manipulation as most operations can
be done in several instructions with no branching. The result is a
1.5-1.8x speedup in the ceil/floor operations.

1. As tested with AT 12.0-1 (GCC 8.3.1) compiler on P9 LE.
2019-08-07 15:01:18 -05:00
Paul E. Murphy
b2135be594 fast_math: add extra perf/unit tests
Add a basic sanity test to verify the rounding functions
work as expected.

Likewise, extend the rounding performance test to cover the
additional float -> int fast math functions.
2019-08-07 14:59:46 -05:00
Alexander Alekhin
821f17d666 Merge pull request #15235 from pmur:vsx-v_signmask-vbpermq 2019-08-06 20:09:22 +00:00
Alexander Alekhin
174b4ce29d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-05 18:11:43 +00:00
Victor Romero
987bb2ca61 Fix build for UWP
backport of commit: f18cbd036a
2019-08-05 17:19:36 +03:00
Paul E. Murphy
1031b7f4bc hal: vsx: further optimize v_signmask
Use the quadword bit permutation instruction to creatively move
the sign bits to create the mask. Note that values above 127 will
result in 0.
2019-08-05 09:00:22 -05:00
Thang Tran
d659eb9327 core: fixed error message to avoid confusion 2019-08-04 17:17:03 +02:00
Victor Romero
f18cbd036a Merge pull request #15207 from vicroms:fix-uwp-build
Fix build for UWP (#15207)

* Guard non-WinRT calls to fix UWP build

* Remove unnecessary guard for WinRT
2019-08-03 22:53:38 +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
Maksim Shabunin
eec9fa9d5e Merge pull request #15181 from berak:java_print_blob 2019-07-30 14:13:02 +00:00
berak
4d3989817c java: fix Mat.toString() for higher dimensions 2019-07-29 19:39:09 +02:00
Alexander Alekhin
3debb98805 Merge tag '4.1.1' 2019-07-26 03:34:59 +00:00
Alexander Alekhin
ddbd10c001 release: OpenCV 4.1.1
OpenCV 4.1.1
2019-07-26 03:24:45 +00:00
Alexander Alekhin
0cf479dd5c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-25 19:21:47 +00:00
Alexander Alekhin
2693ed9b22 Merge tag '3.4.7' 2019-07-25 19:19:49 +00:00
Alexander Alekhin
4a7ca5a291 OpenCV version++ (3.4.7)
OpenCV 3.4.7
2019-07-25 19:01:19 +00: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
Alexander Alekhin
5691d998ea core(persistence): added null ptr checks 2019-07-25 15:14:22 +03:00
Alexander Alekhin
6158bd2afa Merge pull request #15103 from alalek:simd_intrinsics_in_user_code 2019-07-25 11:36:36 +00: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
8bac8b513c core: support SIMD intrinsics in user code 2019-07-19 20:33:32 +00:00
Alexander Alekhin
002904e445 Merge pull request #15050 from alalek:core_fix_base64_packed_struct 2019-07-18 19:07:06 +00:00
Alexander Alekhin
d4501f08b8 core(persistence): disable base64 tests due missing encoders 2019-07-16 15:37:58 +03:00
Alexander Alekhin
2df7736562 Merge branch 'core_fix_base64_packed_struct' 2019-07-16 15:35:43 +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
Hugo Lindström
245c256b1c Support compiliation for <=VS13 2019-07-12 19:02:36 +02:00
Alexander Alekhin
097d81363b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-02 21:17:45 +00:00
Alexander Alekhin
69560588fe Merge pull request #14953 from alalek:core_static_analysis_eval_expr 2019-07-02 09:44:29 +00:00
Vitaly Tuzov
9befb7a1d7 Merge pull request #14916 from terfendail:wsignmask_deprecated
* Avoid using v_signmask universal intrinsic and mark it as deprecated

* Renamed v_find_negative to v_scan_forward
2019-07-01 19:53:51 +03:00
Alexander Alekhin
44836c7f78 core: evaluate CV_Error() parameters during static scans 2019-07-01 18:17:03 +03:00
Stefan Brüns
e9a2e665b2 Explicitly default operator= for Vec<T, n>
Due to the explicitly declared copy constructor Vec<T, n>::Vec(Vec <T,n>&)
GCC 9 warns if there is no assignment operator, as having one typically
requires the other (rule-of-three, constructor/desctructor/assginment).

As the values are just a plain array the default assignment operator does
the right thing. Tell the compiler explicitly to default it.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2019-06-29 22:11:00 +02:00
Alexander Alekhin
6fdce865b8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-29 17:27:48 +00:00
Alexander Alekhin
e59c6caee5 Merge pull request #14905 from savuor:fix/inst_region_unique 2019-06-27 10:16:59 +00:00
Rostislav Vasilikhin
f2f600f807 fixed multi instrumentations 2019-06-27 01:17:26 +03:00
Alexander Alekhin
b95e93c20a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-26 20:19:04 +00:00
Alexander Alekhin
4112866821 Merge pull request #14886 from alalek:fix_grabcut_kmeans_call_14879 2019-06-26 20:03:04 +00:00
Alexander Alekhin
e8a703a71d core(intrin): v_load_low() workaround for aarch64+clang 2019-06-25 17:29:04 +03:00
Alexander Alekhin
4a6888ccf6 imgproc: fix kmeans() call from grabCut() 2019-06-25 13:42:04 +03:00
Alexander Alekhin
b58b2c5ae8 Merge pull request #14878 from JoeHowse:4.1.0-patches 2019-06-24 18:29:30 +00:00
Alexander Alekhin
442bc80cd7 pre: OpenCV 4.1.1 (version++) 2019-06-21 19:18:50 +03:00
Alexander Alekhin
f33f88de31 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-21 17:27:14 +03:00
Alexander Alekhin
779f59da6b pre: OpenCV 3.4.7 (version++) 2019-06-21 16:57:17 +03:00
Alexander Alekhin
aa6c66aa54 Merge pull request #14848 from alalek:build_warnings_avx512 2019-06-21 13:53:52 +00:00
Alexander Alekhin
5ac55fc132 core: eliminate AVX512 build warnings
from MSVS2017 and GCC8 -O1 mode
2019-06-20 20:00:09 +03:00
Joe Howse
729848caeb core: revise syntax to support Visual C++ 2013 2019-06-20 13:57:17 -03:00
Alexander Alekhin
681e0323f2 core: backport toLowerCase()/toUpperCase() 2019-06-20 17:48:18 +03:00
Alexander Alekhin
7b099e0fe2 videoio: plugins support on Win32 2019-06-16 15:25:25 +00:00
Alexander Alekhin
66d7956e67 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-15 16:25:11 +00:00
Vitaly Tuzov
a29e59a770 Rename parameters in AVX512 implementation of v_load_deinterleave and v_store_interleave 2019-06-14 14:16:30 +03:00
Alexander Alekhin
81fad9e247 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-11 20:43:40 +00:00
Alexander Alekhin
1c661e7548 Merge pull request #14784 from alalek:backport_14779 2019-06-11 20:36:16 +00:00
Vitaly Tuzov
d2aadabc5e Merge pull request #14743 from terfendail:wui512_fixvswarn
Fix for MSVS2019 build warnings (#14743)

* AVX512 arch support for MSVS

* Fix for MSVS2019 build warnings: updated integral() AVX512 implementation

* Fix for MSVS2019 build warnings: reworked v_rotate_right AVX512 implementation

* fix indentation
2019-06-11 23:07:39 +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
6c8ffe81d0 core: repair default log level 2019-06-11 19:19:10 +03:00
Alexander Alekhin
d3d13c41c4 core: avoid function type cast, make happy UBSAN
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14115
2019-06-11 07:06:29 +00:00
Alexander Alekhin
11b020b9f9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-10 19:05:28 +00:00
Alexander Alekhin
52644f067e Merge pull request #14764 from alalek:core_intrin_drop_hasSIMD_checks 2019-06-09 17:11:45 +00:00
Alexander Alekhin
6d916c5bb4 Merge pull request #14440 from alalek:async_array 2019-06-08 20:57:15 +00:00
Alexander Alekhin
1e9ad5476d core(intrin): drop hasSIMD128 checks
- use compile-time checks instead (`#if CV_SIMD128`)
- runtime checks are useless
2019-06-08 19:20:20 +00:00
Alexander Alekhin
ddcf388270 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-07 19:02:55 +03:00
Alexander Alekhin
4a8fd71a2e core: fix visibility handling 2019-06-07 07:23:15 +00:00
Alexander Alekhin
aab9ef4290 Merge pull request #14667 from asashour:javadoc 2019-06-06 10:57:39 +00:00
Alexander Alekhin
f3de2b4be7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-05 19:11:52 +03:00
Ahmed Ashour
5c56b8ce92 java: generated code to have javadoc 2019-06-05 12:44:03 +02: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
Vitaly Tuzov
3b015dfc7d Merge pull request #14210 from terfendail:wui_512
AVX512 wide universal intrinsics (#14210)

* Added implementation of 512-bit wide universal intrinsics(WIP)

* Added implementation of 512-bit wide universal intrinsics: implemented WUI vector types(WIP)

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented load/store

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented fp16 load/store

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented recombine and zip, implemented non-saturating and saturating arithmetics

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented bit operations

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented comparisons

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented lane shifts and reduction

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented absolute values

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented rounding and cast to float

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented LUT

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented type extension/narrowing and matrix operations

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented load_deinterleave for 2 and 3 channels images

* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented load_deinterleave for 2- and implemented for 4-channel images

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented store_interleave

* Added implementation of 512-bit wide universal intrinsics(WIP): implemented signmask and checks

* Added implementation of 512-bit wide universal intrinsics(WIP): build fixes

* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented popcount in case AVX512_BITALG is unavailable

* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented zip

* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented rotate for s8 and s16

* Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented interleave/deinterleave for s8 and s16

* Added implementation of 512-bit wide universal intrinsics(WIP): updated v512_set macros

* Added implementation of 512-bit wide universal intrinsics(WIP): fix for GCC wrong _mm512_abs_pd definition

* Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_zip to avoid AVX512_VBMI intrinsics

* Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_invsqrt to avoid AVX512_ER intrinsics

* Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_rotate, v_popcount and interleave/deinterleave for U8 to avoid AVX512_VBMI intrinsics

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed integral image SIMD part

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed warnings

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed load_deinterleave for u8 and u16

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed v_invsqrt accuracy for f64

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed interleave/deinterleave for u32 and u64

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed interleave_pairs, interleave_quads and pack_triplets

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed rotate_left

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed rotate_left/right, part 2

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed 512-wide universal intrinsics based resize

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed findContours by avoiding use of uint64 dependent 512-wide v_signmask()

* Added implementation of 512-bit wide universal intrinsics(WIP): fixed trailing whitespaces

* Added implementation of 512-bit wide universal intrinsics(WIP): reworked specific intrinsic sets dependent parts to check availability of intrinsics based on CPU feature group defines

* Added implementation of 512-bit wide universal intrinsics(WIP):Updated AVX512 implementation of v_popcount to avoid AVX512VPOPCNTDQ intrinsics if unavailable.

* Added implementation of 512-bit wide universal intrinsics(WIP): Fixed universal intrinsics data initialisation, v_mul_wrap, v_floor, v_ceil and v_signmask.

* Added implementation of 512-bit wide universal intrinsics(WIP): Removed hasSIMD512()

* Added implementation of 512-bit wide universal intrinsics(WIP): Fixes for gcc build

* Added implementation of 512-bit wide universal intrinsics(WIP): Reworked v_signmask, v_check_any() and v_check_all() implementation.
2019-06-03 18:05:35 +03:00
Vitaly Tuzov
723165f878 fix for AVX2 version of v_reduce_min intrinsic 2019-05-31 16:14:54 +03:00
Alexander Alekhin
29b3f66507 Merge pull request #14606 from asashour:java_inline_return 2019-05-29 20:03:54 +00:00
Alexander Alekhin
43467a2ac7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-28 18:29:48 +00:00
Ahmed Ashour
ca8a1d2cff java: generated code inline return 2019-05-28 08:34:02 +02:00
Alexander Alekhin
d73261844e Merge pull request #14622 from asashour:junit 2019-05-27 14:55:45 +00:00
Alexander Alekhin
1094ed64e9 Merge pull request #14605 from terfendail:wsignmask_fixavx 2019-05-27 13:19:39 +00:00
Vitaly Tuzov
f0fb91f2d4 Fixed v_signmask implementation for AVX2, updated universal intrinsics tests. 2019-05-24 19:34:54 +03:00
Ahmed Ashour
f9564e053d java: test: use assertNotNull and assertFalse 2019-05-24 10:45:09 +02:00
Alexander Alekhin
166ecaeda8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-23 19:50:20 +03:00
Ahmed Ashour
f3319f6140 java: remove redundant declaration of java.lang package 2019-05-23 14:06:34 +02:00
Ahmed Ashour
1050b5351e java: add CvType.CV_16F 2019-05-23 08:49:01 +02:00
Alexander Alekhin
de977cc9c8 Merge pull request #14474 from alalek:ocl_kernel_args_variadic 2019-05-20 18:18:02 +00:00
Alexander Alekhin
9340af1a8a core: Async API / AsyncArray 2019-05-18 19:32:23 +00:00
catree
b5e2ec4ea4 Fix typo in NormTypes documentation. 2019-05-16 19:22:41 +02:00
Alexander Alekhin
9003b60d65 Merge pull request #14567 from alalek:core_drop_ostream_string_overload 2019-05-16 11:32:13 +00:00
Alexander Alekhin
e21262deba Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-16 04:40:39 +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
Alexander Alekhin
b8f9076de0 core: drop 'operator << (ostream, String)' overload
'cv::String' is 'std::string' in OpenCV 4.x
2019-05-15 14:00:02 +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
Alexander Alekhin
b2abd8ca41 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-07 16:04:54 +00: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
Alexander Alekhin
610f5481c1 core(ocl): ocl::Kernels::args() via variadic template 2019-05-04 00:06:31 +00:00
Alexander Alekhin
e28e3c9491 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-01 08:27:45 +00:00
Sayed Adel
afb157df67 core:vsx fix sum of v_reduce_sad 2019-04-27 02:01:24 +02:00
Alexander Alekhin
b95fdc1992 Merge pull request #14394 from alalek:build_support_memory_sanitizers 2019-04-26 16:13:52 +00:00
Alexander Alekhin
d17699363c Merge pull request #14385 from terfendail:intrin_sad 2019-04-26 15:34:02 +00:00
Vitaly Tuzov
18d10d6b86 Fixed v_reduce_sad intrinsics implementation and added tests 2019-04-24 14:53:59 +03:00
Alexander Alekhin
c1981f28ad build: +OPENCV_ENABLE_MEMORY_SANITIZER flag 2019-04-22 21:35:25 +00:00
Alexander Alekhin
d0032b0717 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-22 18:17:28 +00:00
Alexander Alekhin
de4be8e610 Merge pull request #14384 from terfendail:fp16_depint 2019-04-22 15:52:53 +00: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
44bd849697 build: reduce usage of constexpr
some compilers has lack of proper support for that
2019-04-22 15:41:27 +03:00
Vitaly Tuzov
4a54aa3fbd Cleared up deprecated intrinsics for FP16 2019-04-22 10:35:37 +03:00
Ryan Wong
8af96248bf Merge pull request #13909 from kinchungwong:logging_20190220
OE-11 Logging revamp (#13909)

* Initial commit for log tag support.

Part of #11003, incomplete. Should pass build.

Moved LogLevel enum to logger.defines.hpp

LogTag struct used to convey both name and log level threshold as
one argument to the new logging macro. See logtag.hpp file, and
CV_LOG_WITH_TAG macro.

Global log level is now associated with a global log tag, when a
logging statement doesn't specify any log tag. See getLogLevel and
getGlobalLogTag functions.

A macro CV_LOGTAG_FALLBACK is allowed to be re-defined by other modules
or compilation units, internally, so that logging statements inside
that unit that specify NULL as tag will fall back to the re-defined tag.

Line-of-code information (file name, line number, function name),
together with tag name, are passed into the new log message sink.
See writeLogMessageEx function.

Fixed old incorrect CV_LOG_VERBOSE usage in ocl4dnn_conv_spatial.cpp.

* Implemented tag-based log filtering

Added LogTagManager. This is an initial version, using standard C++
approach as much as possible, to allow easier code review. Will
optimize later.

A workaround for all static dynamic initialization issues is
implemented. Refer to code comments.

* Added LogTagConfigParser.

Note: new code does not fully handle old log config parsing behavior.

* Fix log tag config vs registering ordering issue.

* Started testing LogTagConfigParser, incomplete.

The intention of this commit is to illustrate the capabilities of
the current design of LogTagConfigParser.

The test contained in this commit is not complete. Also, design changes
may require throwing away this commit and rewriting test code from
scratch.

Does not test whitespace segmentation (multiple tags on the config);
will do in next commit.

* Added CV_LOGTAG_EXPAND_NAME macro

This macro allows to be re-defined locally in other compilation units
to apply a prefix to whatever argument is passed as the "tag" argument
into CV_LOG_WITH_TAG. The default definition in logger.hpp does not
modify the argument. It is recommended to include the address-of
operator (ampersand) when re-defined locally.

* Added a few tests for LogTagManager, some fail.

See test_logtagmanager.cpp
Failed tests are: non-global ("something"), setting level by name-part
(first part or any part) has no effect at all.

* LogTagManagerTests substring non-confusion tests

* Fix major bugs in LogTagManager

The code change is intended to approximate the spec documented in
https://gist.github.com/kinchungwong/ec25bc1eba99142e0be4509b0f67d0c6

Refer to test suite in test_logtagmanager.cpp

Filter test result in "opencv_test_core" ...
with gtest_filter "LogTagManager*"

To see the test code that finds the bugs, refer to original commits
(before rebase; might be gone)

.. f3451208 (2019-03-03T19:45:17Z)
.... LogTagManagerTests substring non-confusion tests

.. 1b848f5f (2019-03-03T01:55:18Z)
.... Added a few tests for LogTagManager, some fail.

* Added LogTagManagerNamePartNonConfusionTest.

See test_logtagmanager.cpp in modules/core/test.

* Added LogTagAuto for auto registration in ctor

* Rewritten LogTagManager to resolve issues.

* Resolves code review issues around 2019-04-10

LogTagConfigParser::parseLogLevel - as part of resolving code review
issues, this function is rewritten to simplify control flow and to
improve conformance with legacy usage (for string values "OFF",
"DISABLED", and "WARNINGS").
2019-04-22 00:01:10 +03:00
Alexander Alekhin
4635356435 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-13 20:00:54 +00: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
64168fc20a '-dev' version 2019-04-08 14:34:32 +03:00
Alexander Alekhin
371bba8f54 release: OpenCV 4.1.0
OpenCV 4.1.0
2019-04-07 17:09:10 +00:00
Alexander Alekhin
dad2247b56 Merge tag '3.4.6' 2019-04-07 11:02:40 +00:00
Alexander Alekhin
33b765d797 OpenCV version++ (3.4.6)
OpenCV 3.4.6
2019-04-06 21:43:23 +00:00
Alexander Alekhin
33dde339fe Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-01 18:11:55 +03: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
Alexander Alekhin
142a524d2f cmake: fix CUDA world build 2019-03-31 19:56:30 +00:00
David Carlier
06a4c20f60 OpenBSD build fix
required for close calls.
2019-03-31 10:54:47 +01:00
Alexander Alekhin
7442100caa Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-29 19:29:36 +00:00
Alexander Alekhin
b761ec0132 Merge pull request #14177 from alalek:fix_14173 2019-03-28 14:57:07 +00:00
Alexander Alekhin
c7c987843c cmake: emit error if CUDA is enabled without opencv_contrib 2019-03-28 16:51:11 +03: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
90df5e00b4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-26 18:56:54 +00:00
Alexander Alekhin
55366caecd Merge pull request #14155 from alalek:fix_macos_ocl_warnings_3.4 2019-03-26 15:34:49 +00:00
Alexander Alekhin
6686559c70 ocl: define CL_SILENCE_DEPRECATION on MacOSX 2019-03-26 13:11:53 +03:00
Alexander Alekhin
cedd78d526 Merge pull request #14142 from mshabunin:fix-c-api-3.4 2019-03-25 18:58:28 +00:00
Maksim Shabunin
41da3ef1d2 Fixed cvdef.h for MSVC C users 2019-03-25 16:44:08 +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
8c25a8eb7b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-22 19:31:31 +03:00
Alexander Alekhin
c43371f190 Merge pull request #14101 from alalek:core_fix_constexpt_fallback 2019-03-22 10:34:19 +00:00
Alexander Alekhin
4e60db9030 Merge pull request #14110 from seiko2plus:core_vsx_fp16 2019-03-20 16:04:20 +00:00
Alexander Alekhin
a8e635f177 Merge pull request #14069 from terfendail:transform_wintr 2019-03-20 15:39:40 +00:00
Sayed Adel
f41359688b core:vsx Add support for VSX3 half precision conversions 2019-03-20 10:19:42 +02:00
Alexander Alekhin
6c862fae13 Merge pull request #14099 from seiko2plus:vsx_improvements_3 2019-03-19 14:59:58 +00:00
Alexander Alekhin
93a402d0f2 core: fix Core_EigenNonSymmetric.convergence test 2019-03-19 15:18:43 +03:00
Sayed Adel
4fe2d9bdbc core:vsx Several improvements(3)
* optimize v_lut_deinterleave
 * optimize v_interleave_/pairs/quads/triplets
 * optimize v_lut, use vec_extract instead of aligned store
2019-03-19 12:30:50 +02:00
Alexander Alekhin
8518d078d7 core: fix fallback CV_CONSTEXPR definition
keep it empty to avoid failures of these declarations:
static CV_CONSTEXPR const int var = ...;
2019-03-19 13:02:22 +03:00
Vitaly Tuzov
d43597c199 transform() implementation updated to utilize wide universal intrinsics 2019-03-18 20:33:19 +03:00
Alexander Alekhin
6e90b85cae core: cache dir version update 2019-03-18 19:17:54 +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
26087e28ad Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-15 22:42:57 +00:00
Alexander Alekhin
c03a936cfc Merge pull request #14040 from seiko2plus:issue13211 2019-03-14 13:04:35 +00:00
Sayed Adel
872e7894b4 core:vsx working around gcc aligned memory access bug
- allow cmake to check sanity of vsx aligned ld/st
 - force universal intrinsics v_load_aligned/v_store_aligned
   to failback to unaligned ld/st if cmake runtime vsx aligned test fail
2019-03-14 01:55:40 +02:00
Alexander Alekhin
bd1fd59fc1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-13 19:13:13 +00:00
Alexander Alekhin
8c8715c4dd fix static analysis issues 2019-03-13 17:19:39 +03:00
Alexander Alekhin
80e5642ca2 pre: OpenCV 3.4.6 (version++) 2019-03-12 13:29:42 +03:00
Alexander Alekhin
6e2ede8c56 pre: OpenCV 4.1.0 (version++) 2019-03-12 13:01:44 +03:00
Alexander Alekhin
8c0b0714e7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-11 19:20:22 +00:00
Alexander Alekhin
98e2bb8721 Merge pull request #14022 from alalek:core_fix_neon_intrinsics 2019-03-11 13:52:43 +00:00
Alexander Alekhin
842c58a7d6 core(intrin): NEON v_load_expand_q() support unaligned addr 2019-03-11 12:06:05 +00:00
Giles Payne
11dbd86aa3 Merge pull request #13956 from komakai:java-mat-class-improvements
* Expose more C++ functionality in the Java wrapper of the Mat class
In particular expose methods for handling Mat with more than 2 dimensions
* add constructors taking an array of dimension sizes
* add constructor taking an existing Mat and an array of Ranges
* add override of the create method taking an array of dimension sizes
* add overrides of the ones and zeros methods taking an array of dimension sizes
* add override of the submat method taking an array of ranges
* add overrides of put and get taking arrays of indices
* add wrapper for copySize method
* fix crash in the JNI wrapper of the reshape(int cn, int[] newshape) method
* add test for each method added to Mat.java

* Fix broken test
2019-03-10 00:11:04 +03:00
Alexander Alekhin
7e8cc580c9 Merge pull request #13997 from alalek:imgproc_dispatch_cvtcolor 2019-03-08 16:18:44 +00:00
Namgoo Lee
713d91b04e CUDA 10.1 Build Issue Fix on Master Branch 2019-03-07 23:13:03 +09:00
Alexander Alekhin
8b541e450b imgproc: dispatch color*
Lab/XYZ modes have been postponed (color_lab.cpp):
- need to split code for tables initialization and for pixels processing first
- no significant performance improvements for switching between SSE42 / AVX2 code generation
2019-03-07 15:45:05 +03:00
Alexander Alekhin
b9d2e6664d Merge pull request #13979 from alalek:issue_13772 2019-03-07 09:53:25 +00:00
Alexander Alekhin
332c37f332 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-06 11:43:16 +03:00
Alexander Alekhin
7bcfe8f204 Merge pull request #13974 from alalek:fix_build_warnings 2019-03-05 14:57:50 +00:00
Alexander Alekhin
7366eebebb core: fix condition in OutputArray::create(allowTransposed=True) 2019-03-05 16:26:59 +03:00
Alexander Alekhin
b46fa2e556 Merge pull request #13970 from alalek:videoio_plugins_update 2019-03-05 11:48:39 +00:00
Alexander Alekhin
35edad3e74 build: fix warnings 2019-03-05 14:47:04 +03:00
Alexander Alekhin
403f11fdbf videoio: update plugin API 2019-03-04 21:36:22 +00:00
Namgoo Lee
65e76adeda Windows Build Issue Fix 2019-03-04 09:52:50 +09:00
JoeHowse
c0d41f05d6 Merge pull request #13947 from JoeHowse:4.0.1-patches
* core, stitching: revise syntax to support Visual C++ 2013

* stitching: revise syntax again to support Visual C++ 2013 and other compilers

* stitching: minor update to clarify changes
2019-03-02 19:00:32 +03:00
Alexander Alekhin
f5b58e5fc9 bindings: backport generator from OpenCV 4.x
- better handling of enum arguments
- less merge conflicts
2019-03-01 20:18:48 +00:00
Sayed Adel
5478165e16 core:vsx Fix narrowing warning on vector splats 2019-03-01 00:48:38 +00:00
Alexander Alekhin
a9f67c2d1d Merge pull request #13905 from terfendail:pyr_wintr2 2019-02-28 14:53:42 +00:00
Alexander Alekhin
ed8f0ab265 Merge pull request #13931 from berak:core_fix_mat_max_mult 2019-02-28 14:29:31 +00:00
berak
20afae5a14 core: fix mat matx multiplication 2019-02-28 14:22:54 +01:00
Vitaly Tuzov
9548093b46 Horizontal line processing for pyrDown() reworked using wide universal intrinsics. 2019-02-28 00:12:57 +03:00
catree
576ab3df9a Add division operators for Matx. 2019-02-27 19:36:23 +01:00
Alexander Alekhin
f1f0f630c7 core: disable I/O perf test
- can be enable separately if needed
- not stable (due storage I/O processing)
2019-02-27 18:07:45 +03:00
Alexander Alekhin
c3cf35ab63 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-26 17:34:42 +03:00
Maksim Shabunin
9702987209 Framework for dynamic videoio backends, FFmpeg and GStreamer plugins 2019-02-26 13:50:30 +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
3064e40d9e Merge pull request #13866 from alalek:core_dispatch_mean 2019-02-20 11:50:21 +00:00
Vitaly Tuzov
334c4d62b5 Merge pull request #13781 from terfendail:warp_wintr
Resize reworked using wide universal intrinsics (#13781)

* Added wide universal intrinsics optimized implementation for 3 channel bit-exact linear resize

* Reworked linear resize using new wide LUT intrinsics

* Fix for VSX intrinsics
2019-02-20 14:30:28 +03:00
Alexander Alekhin
8bde6aea4b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-19 19:49:13 +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
dfef04b325 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-12 17:54:40 +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
klemens
997b7b18af spelling fixes 2019-02-09 22:29:54 +01:00
Alexander Alekhin
f8786c9bf4 Merge pull request #13783 from alalek:fix_13741 2019-02-09 15:25:48 +00:00
Alexander Alekhin
f414c16c13 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-08 17:18:56 +00: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
c6f39870ff Merge pull request #13776 from alalek:fix_13741 2019-02-08 15:30:36 +00: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
Namgoo Lee
fb8e652c3f Add CV_16UC1 support for cuda::CLAHE
Due to size limit of shared memory, histogram is built on
the global memory for CV_16UC1 case.

The amount of memory needed for building histogram is:

    65536 * 4byte = 256KB

and shared memory limit is 48KB typically.

Added test cases for CV_16UC1 and various clip limits.
Added perf tests for CV_16UC1 on both CPU and CUDA code.

There was also a bug in CV_8UC1 case when redistributing
"residual" clipped pixels. Adding the test case where clip
limit is 5.0 exposes this bug.
2019-02-06 17:21:55 +00:00
Alexander Alekhin
fcec053d59 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-05 19:12:41 +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
Maksim Shabunin
ea3dc78986 Fixed warnings produced by clang-9.0.0 2019-01-30 14:05:32 +03:00
Alexander Alekhin
631b246881 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-01-22 18:00:34 +00:00
Alexander Alekhin
dc5e69b4d4 Revert "Merge pull request #13586 from eightco:Core_bugfix3"
This reverts commit 3721c8bb06
except changes in modules/dnn/test/test_tf_importer.cpp
2019-01-18 18:29:12 +03:00
Lee Jaehwan
3721c8bb06 Merge pull request #13586 from eightco:Core_bugfix3
* Add Operator override for multi-channel Mat with literal constant.

* simple test

* Operator overloading channel constraint for primitive types

* fix some test for #13586
2019-01-17 17:23:09 +03:00
Vitaly Tuzov
ea882d58c6 Added CV_ALWAYS_INLINE macro 2019-01-11 22:40:35 +03:00
Alexander Alekhin
7e2ebecd52 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-01-10 12:29:41 +03:00
Alexander Alekhin
054bd23a43 Merge pull request #13560 from cuihaoleo:master 2019-01-09 15:45:09 +00:00
Alexander Alekhin
b11566bfc7 Merge pull request #13553 from luctowers:master 2019-01-09 13:33:45 +00:00
CUI Hao (Lab)
e5e1ba3c97 Fix typo in core+RotatedRect.java 2019-01-09 16:30:54 +03:00
Alexander Alekhin
3da8b4ccad Merge pull request #13591 from scramsby:fix-unicode-errors 2019-01-09 13:25:14 +00:00
Lucas Towers
9cc12ff0ac Fix improper defining of CV_XADD when using Intel C++ 2019-01-09 14:41:21 +03:00
Namgoo Lee
4b4874e67a Remove build warning msg with CUDA10.0 2019-01-08 10:57:12 +09: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
85ade61ef7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-27 18:15:50 +03:00
Vitaly Tuzov
cd169941f2 Added test for addition of Mat and Matx 2018-12-25 19:22:04 +03:00
Vitaly Tuzov
c8f59bf1e0 Fixed operations on Mat and Matx simultaneously 2018-12-25 19:22:09 +03:00
Alexander Alekhin
e1f5b886fb Merge tag '4.0.1'
OpenCV 4.0.1
2018-12-22 07:05:31 +00:00
Alexander Alekhin
c9ad5779f2 release: OpenCV 4.0.1 (version++) 2018-12-22 07:03:30 +00:00
Alexander Alekhin
1dee705074 Merge branch '3.4' into merge-3.4 2018-12-22 05:40:15 +00:00
Alexander Alekhin
f35e043cf9 Merge tag '3.4.5' 2018-12-21 21:48:03 +03:00
Alexander Alekhin
8f1356c3c5 OpenCV version++ (3.4.5)
OpenCV 3.4.5
2018-12-21 17:31:20 +03:00
Dmitry Kurtaev
6bcf0b5519 Merge pull request #13482 from dkurt:fix_python_bindings_without_stitching
* Fix python bindings without stitching module

* stitching: move stitching specific code into modules/stitching/misc
2018-12-19 23:37:55 +03:00
Vitaly Tuzov
06f32e3b3e Reworked separable filter to use wide universal intrinsics 2018-12-19 17:50:09 +03:00
Alexander Alekhin
7fb70e1701 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-18 19:07:43 +00:00
LaurentBerger
2fb409b286 Merge pull request #13267 from LaurentBerger:StitchPython
* Python wrapper for detail

* hide pyrotationwrapper

* copy code in pyopencv_rotationwarper.hpp

* move ImageFeatures MatchInfo and CameraParams in core/misc/

* add python test for detail

* move test_detail in test_stitching

* rename
2018-12-18 21:49:16 +03:00