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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Alexander Alekhin
681e0323f2
core: backport toLowerCase()/toUpperCase()
2019-06-20 17:48:18 +03: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
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
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
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
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
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
Ahmed Ashour
f3319f6140
java: remove redundant declaration of java.lang package
2019-05-23 14:06:34 +02: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
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
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
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