Alexander Alekhin
50bec53afc
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-26 17:56:55 +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
Alexander Alekhin
9c23f2f1a6
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-20 11:37:54 +00: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
edacd91a27
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-15 20:15:42 +00:00
Alexander Alekhin
954536073d
core: update solveLP() interface
2018-10-15 18:58:11 +00:00
Alexander Alekhin
72eccb7694
Merge pull request #12825 from alalek:issue_8413_3.4
2018-10-15 14:23:21 +00:00
Alexander Alekhin
1cc3f7abbb
Merge pull request #12516 from seiko2plus:changeUnvMultiply16
2018-10-15 12:07:40 +00:00
Alexander Alekhin
09cb329d73
core(test): zero values divide test (4.0+)
2018-10-14 03:46:29 +00:00
Alexander Alekhin
4a9291fd89
Merge branch 'issue_8413_3.4'
2018-10-14 03:46:01 +00:00
Alexander Alekhin
5677a683a5
core(test): zero values divide test (3.x)
2018-10-14 02:23:17 +00:00
Sayed Adel
5771fd693d
Change behaviour of 16-bit multiply operator
...
- redefine 16-bit multiply operator to perform saturating multiply
instead of non-saturating multiply
- implement 8-bit multiply operator to perform saturating multiply
- implement v_mul_wrap() for 8-bit, 16-bit non-saturating multiply
- improve performance of v_mul_hi() for VSX
- update intrin tests with new changes
- replace unv 16-bit multiplication operator with v_mul_wrap due behavior changes
- Several improvements depend on vpisarev review
* initial forward declarations for universal intrinsics
* move emulating SSE intrinsics into separate file
* implement v_mul_expand for 8-bit
* reimplement saturating multiply using v_mul_expand + v_pack
* map v_expand, v_load_expand, v_load_expand_q to sse4.1
* fix overflow avx2::v_pack(uint32)
* implement two universal intrinsics v_expand_low and v_expand_high
2018-10-11 04:35:39 +02:00
Vitaly Tuzov
1ff11c84ab
Fixed meanStdDev() implementation for the case input matrix has more than 4 channels
2018-10-11 04:30:33 +02:00
Alexander Alekhin
a8b0db4e5d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-28 14:14:47 +03:00
Alexander Alekhin
48e8e76a34
fix build warnings
2018-09-27 16:31:31 +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
Maksim Shabunin
e0f524d3b7
Fixed several incorrect printf format specifiers
2018-09-24 11:31:40 +03:00
Pavel Rojtberg
d1c842cf29
core: fix printf warnings by using c++11 format
2018-09-24 11:31:40 +03:00
Hamdi Sahloul
ef5579dc86
Merge pull request #12310 from cv3d:chunks/enum_interface
...
* Cleanup macros and enable expansion of `__VA_ARGS__` for Visual Studio
* Macros for enum-arguments backwards compatibility
* Convert struct Param to enum struct
* Enabled ParamType.type for enum types
* Enabled `cv.read` and `cv.write` for enum types
* Rename unnamed enum to AAKAZE.DescriptorType
* Rename unnamed enum to AccessFlag
* Rename unnamed enum to AgastFeatureDetector.DetectorType
* Convert struct DrawMatchesFlags to enum struct
* Rename unnamed enum to FastFeatureDetector.DetectorType
* Rename unnamed enum to Formatter.FormatType
* Rename unnamed enum to HOGDescriptor.HistogramNormType
* Rename unnamed enum to DescriptorMatcher.MatcherType
* Rename unnamed enum to KAZE.DiffusivityType
* Rename unnamed enum to ORB.ScoreType
* Rename unnamed enum to UMatData.MemoryFlag
* Rename unnamed enum to _InputArray.KindFlag
* Rename unnamed enum to _OutputArray.DepthMask
* Convert normType enums to static const NormTypes
* Avoid conflicts with ElemType
* Rename unnamed enum to DescriptorStorageFormat
2018-09-21 18:12:35 +03:00
Alexander Alekhin
808ba552c5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-14 23:44:35 +00:00
Alexander Alekhin
b80c978f5d
core: change cv::Ptr DefaultDeleter
2018-09-12 12:20:15 +00: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
Vadim Pisarevsky
b01f63835e
Merge pull request #12467 from alalek:core_use_shared_ptr
2018-09-10 13:59:14 +00:00
Vadim Pisarevsky
6d7f5871db
added basic support for CV_16F (the new datatype etc.) ( #12463 )
...
* added basic support for CV_16F (the new datatype etc.). CV_USRTYPE1 is now equal to CV_16F, which may break some [rarely used] functionality. We'll see
* fixed just introduced bug in norm; reverted errorneous changes in Torch importer (need to find a better solution)
* addressed some issues found during the PR review
* restored the patch to fix some perf test failures
2018-09-10 16:56:29 +03:00
Alexander Alekhin
dca657a2fd
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-10 00:10:21 +03:00
Alexander Alekhin
df8b057b44
avoid Ptr<> == NULL
checks
2018-09-09 19:30:46 +00:00
Alexander Alekhin
64b3c1e691
core(test): update cv::Ptr tests
2018-09-09 19:30:46 +00:00
Hamdi Sahloul
a39e0daacf
Utilize CV_UNUSED macro
2018-09-07 20:33:52 +09:00
Alexander Alekhin
73bfe68821
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-07 12:40:27 +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
d74b98c3d9
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-04 18:39:03 +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
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
Jakub Golinowski
9f1218b00b
Merge pull request #11897 from Jakub-Golinowski:hpx_backend
...
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)
* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.
* Add coditional iclusion of hpx_main.hpp to cpp cpu modules
* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Alexander Alekhin
e86287d8ae
cleanup: IPP Async (IPP_A)
...
except header file with conversion routines (will be removed in OpenCV 4.0)
2018-08-30 18:53:07 +03:00
Alexander Alekhin
c1db75e0c7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-29 16:24:56 +03:00
Alexander Alekhin
ff2eface19
Merge pull request #12126 from alalek:reproducer_12121
2018-08-24 08:08:17 +00:00
Alexander Alekhin
6356403964
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-22 17:38:51 +03:00
Alexander Alekhin
67d46dfc6c
core(intrin): restrict FP16 operations
...
Intrinsics must be effective, so don't declare FP16 type/operations if there is no native support.
- CV_FP16: supports load/store into/from float32
- CV_SIMD_FP16: declares FP16 types and native FP16 operations
2018-08-20 19:24:33 +03:00
Alexander Alekhin
4eb2966559
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-08-07 20:12:10 +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
Alexander Alekhin
f2e1710dd5
core(test): regression test for 12121
2018-08-01 19:42:54 +03:00
Alexander Alekhin
3f302cabb8
core(test): intrinsic tests for all dispatched CPU optimizations
...
- tests for both SIMD128 / SIMD256
- different dispatched + baseline(SIMD128) intrinsics
2018-08-01 13:50:42 +03:00
Alexander Alekhin
82c477c9f7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-31 21:35:00 +03:00
Sayed Adel
bb82cdc928
core:test Fix fp16 build if AVX2 sets as baseline
2018-07-31 10:02:20 +02:00
Alexander Alekhin
28d0e97c09
Merge pull request #12004 from mshabunin:more-asserts
2018-07-30 16:42:09 +00:00
Sayed Adel
6499263b41
core:test Expand hal_intrin tests to support SIMD256
2018-07-30 08:50:50 +02: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
Alexander Alekhin
9787ab598b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-24 22:48:54 +03:00
Maksim Shabunin
cbb1e867e5
More issues found by static analysis
2018-07-24 16:04:42 +03:00
Alexander Alekhin
e526c4bfe4
core(test): remove verbose messages
2018-07-18 16:09:27 +03:00
Alexander Alekhin
4560909a5e
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-17 19:27:48 +03: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
Vadim Pisarevsky
f058b5fb1e
Wide univ intrinsics ( #11953 )
...
* core:OE-27 prepare universal intrinsics to expand (#11022 )
* core:OE-27 prepare universal intrinsics to expand (#11022 )
* core: Add universal intrinsics for AVX2
* updated implementation of wide univ. intrinsics; converted several OpenCV HAL functions: sqrt, invsqrt, magnitude, phase, exp to the wide universal intrinsics.
* converted log to universal intrinsics; cleaned up the code a bit; added v_lut_deinterleave intrinsics.
* core: Add universal intrinsics for AVX2
* fixed multiple compile errors
* fixed many more compile errors and hopefully some test failures
* fixed some more compile errors
* temporarily disabled IPP to debug exp & log; hopefully fixed Doxygen complains
* fixed some more compile errors
* fixed v_store(short*, v_float16&) signatures
* trying to fix the test failures on Linux
* fixed some issues found by alalek
* restored IPP optimization after the patch with AVX wide intrinsics has been properly tested
* restored IPP optimization after the patch with AVX wide intrinsics has been properly tested
2018-07-16 18:57:24 +03:00
Alexander Alekhin
481829a81b
Merge pull request #11957 from alalek:issue_11956
2018-07-16 15:54:34 +00:00
Alexander Alekhin
3c74fde349
core: eliminate 'if' logic from Matx::inv()/solve()
...
- 'if' logic is moved into templates.
- removed unnecessary cv::Mat objects creation.
- fixed inv() test (invA * A == eye)
- added more Matx tests to cover all defined template specializations
2018-07-13 20:09:01 +03:00
Alexander Alekhin
33b7028be2
core: use "explicit" for Matx() ctor
2018-07-12 19:50:56 +00:00
Vitaly Tuzov
850a8577b2
Fixed unreachable code warnings for Matx::solve()
2018-07-12 19:19:51 +03:00
Vitaly Tuzov
d0a3686812
Merge pull request #11904 from terfendail/matx_solve_fix
...
Fixed Matx::solve function for non-square matrixes (#11904 )
2018-07-11 22:00:57 +03:00
Alexander Alekhin
2da96be217
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-07-09 19:44:51 +03:00
Alexander Alekhin
b09a4a98d4
opencv: Use cv::AutoBuffer<>::data()
2018-07-04 19:11:29 +03:00
Vadim Pisarevsky
051b40f956
a part of PR #11364 (extended findNonZero & PSNR) ( #11837 )
...
* a part of https://github.com/opencv/opencv/pull/11364 by Tetragramm. Rewritten and extended findNonZero & PSNR to support more types, not just 8u.
* fixed compile & doxygen warnings
* fixed small bug in findNonZero test
2018-06-26 17:10:00 +03:00
Alexander Alekhin
0d6518aaa0
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
...
OpenCV FFmpeg wrapper download links are preserved from ffmpeg/master branch
2018-06-13 19:34:44 +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
Alexander Alekhin
db88cd1b25
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-21 16:20:14 +03:00
Alexander Alekhin
703f79b757
tests: add "bigdata" tests
2018-05-15 15:56:26 +03:00
Alexander Alekhin
51e543050c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-10 18:19:56 +03:00
Alexander Alekhin
352510cc19
core: fix ARM intrinsincs
...
'0' is specific case (make no sence as a standalone operation),
but it can be useful in template-based programming.
reverts commit: a58c9d4d63
2018-05-09 23:31:02 +03:00
Tomoaki Teshima
a58c9d4d63
arm: fix build error of v_rotate_left
...
* remove meaningless tests
2018-05-08 00:35:18 +09:00
Sayed Adel
ed19da21ab
core:ppc Several improvements on VSX(2)
...
* add v_float64x2 support to v_rotate_*
* treat float vector in v_check_any, vec_any_lt as int vector
* add test case for v_rotate_left
2018-05-04 23:09:38 +00:00
Alexander Alekhin
000a13b6a3
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-03 14:30:38 +00: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
dfa04a11bb
core: norm with mask 16UC3 regression test
2018-04-26 13:35:25 +03:00
Alexander Alekhin
cd2b188c9a
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-04-24 18:13:06 +03:00
Alexander Alekhin
6b581c4e51
build: unreachable code after CV_Error() (part 2)
2018-04-24 16:03:40 +03:00
Alexander Alekhin
909a25571e
Merge pull request #11332 from alalek:v_select_x86
2018-04-24 11:44:33 +00:00
Alexander Alekhin
4d7d630e92
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-04-23 18:45:02 +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
Ryan Wong
6f675ae75b
Merge pull request #11304 from kinchungwong:issue_11242_intrin_cv34x_nocpp11
...
* Issue 11242 intrinsics v_extract, v_rotate improvement, branch 3.4, without C++11 (remove type restrictions for SSE2, use PALIGNR on SSSE3, compile to no-op when imm is 0 or nlanes).
* fix whitespace
* Fix #11242 (NEON intrinsics v_rotate...) branch 3.4
Separate macro expansion OPENCV_HAL_IMPL_NEON_SHIFT_OP for bitwise shifts for integers, from macro expansion OPENCV_HAL_IMPL_NEON_ROTATE for lane rotations. Bitwise shifts do not apply to floats, but lane-rotations can apply to both.
* fix whitespace
* Fix #11242 compile error (VSX intrinsics v_rotate(a)) branch 3.4 no-c++11
2018-04-20 18:43:47 +03:00
Alexander Alekhin
4b2d1aaeea
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-04-16 12:41:47 +03:00
Alexander Alekhin
cfaca4327b
Merge pull request #11169 from tomoaki0705:universalRemap
2018-04-13 13:24:06 +00:00
Tomoaki Teshima
a82e70cd40
remove raw SSE2/NEON implementation from imgwarp.cpp
...
* use universal intrinsic instead of raw intrinsic
* add 2 channels de-interleave on x86 platform
* add v_int32x4 version of v_muladd
* add accumulate version of v_dotprod based on the commit from seiko2plus on bf1852d
* remove some verify check in performance test
* avoid the out of boundary access and keep the performance
2018-04-13 21:19:16 +09:00
Alexander Alekhin
e567135ed3
next: force C++11 features unconditionally: CV_CXX_MOVE_SEMANTICS/CV_CXX_STD_ARRAY
2018-04-10 18:09:54 +03:00
Alexander Alekhin
98c8584b88
next: drop CV_CXX11 conditions
...
define itself is still here for compatibility
2018-04-10 18:09:54 +03:00
Alexander Alekhin
567ae61e78
core: add "check" macros
2018-04-09 21:24:02 +03:00
Vadim Pisarevsky
474a23bda5
Merge pull request #11170 from alalek:test_fixed_type
2018-04-09 14:53:43 +00:00
Maksim Shabunin
d2cff38db6
Added interface to check library version during runtime
2018-04-09 12:30:39 +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
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
Vitaly Tuzov
ccd16f107d
Fixed IPP based implementation of setTo() for infinity value
2018-04-04 16:05:22 +03:00
Alexander Alekhin
8c4b5b6a70
core(test): parallel_for test with exception
2018-03-29 16:59:51 +03:00
Vadim Pisarevsky
6b041c8aeb
Merge pull request #11137 from alalek:core_fix_mat_ctor
2018-03-28 12:39:49 +00: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
d1311518a3
core: test-sample for FIXED_TYPE demonstration
...
with implementation of functions with multiple output formats
2018-03-27 15:41:41 +03:00
Alexander Alekhin
4378e8fcc0
core: fix cv::Mat constructor
2018-03-22 15:35:54 +03:00
Alexander Alekhin
ab110c0ad1
Merge pull request #10979 from dkurt:unite_dnn_samples
2018-03-14 14:33:49 +00:00
Dmitry Kurtaev
538fd42363
Add test for Scalar arguments at CommandLineParser
2018-03-13 11:01:07 +03:00