Commit Graph

3462 Commits

Author SHA1 Message Date
Tomoaki Teshima
3cbe60cca2 Merge pull request #9753 from tomoaki0705:universalMatmul
* add accuracy test and performance check for matmul
  * add performance tests for transform and dotProduct
  * add test Core_TransformLargeTest for 8u version of transform

* remove raw SSE2/NEON implementation from matmul.cpp
  * use universal intrinsic instead of raw intrinsic
  * remove unused templated function
  * add v_matmuladd which multiply 3x3 matrix and add 3x1 vector
  * add v_rotate_left/right in universal intrinsic
  * suppress intrinsic on some function and platform
  * add pure SW implementation of new universal intrinsics
  * add test for new universal intrinsics

* core: prevent memory access after the end of buffer

* fix perf tests
2017-11-20 15:56:53 +03:00
Alexander Alekhin
017a38a54e Merge pull request #10108 from mshabunin:fix-eigen-stride 2017-11-17 20:09:08 +00:00
Alexander Alekhin
b45403ed75 Merge pull request #10102 from seiko2plus:coreVsxPacksFix 2017-11-17 19:01:38 +00:00
Maksim Shabunin
f50ec229de Eigen: fix Mat construction stride 2017-11-17 18:27:09 +03:00
Maksim Shabunin
eb136ebba6 Do not reset step for single-row Mat created on user data 2017-11-17 13:15:15 +03:00
Sayed Adel
56bda8917d core:vsx Fix vec_packs in gcc-5 2017-11-16 21:54:56 +00:00
Maksim Shabunin
e730048f69 Merge pull request #10078 from justdoitqd:master 2017-11-16 15:20:44 +00:00
Maksim Shabunin
751cee8e67 Merge pull request #9907 from seiko2plus:vsxFixesImproves 2017-11-16 15:20:16 +00:00
Alexander Alekhin
3a0039d204 core(intrinsics): v_load_low 2017-11-15 16:04:18 +03:00
Alexander Alekhin
42f449880c Merge pull request #10068 from paroj:fs_doc 2017-11-13 09:18:42 +00:00
Simon Guo
2610a47c89 core:ppc Fix 2 interleave logic errors in vsx_utils.hpp
When elements are 64 bits, the vec_st_interleave()/vec_ld_deinterleave()
doesn't interleave 4 elements correctly.

For vec_st_interleave(), following is saved into mem:
	a0 b0 a1 b1 c0 d0 c1 d1
     -> we expected:
	a0 b0 c0 d0 a1 b1 c1 d1

for vec_ld_deinterleave(), following is loaded into a b c d for memory
string { 1 2 3 4 5 6 7 8 }:
	a: 1 3
	b: 2 4
	c: 5 7
	d: 6 8
   -> we expected:
   	a: 1 5
	b: 2 6
	c: 3 7
	d: 4 8

This patch corrects this behavior.

Signed-off-by: Simon Guo <wei.guo.simon@gmail.com>
2017-11-13 12:47:10 +08:00
Florian Echtler
2e772510ea Merge pull request #10050 from floe/android-studio-3.3.1
Add Android Mat constructor with support for native buffer (#10050)
2017-11-10 19:35:32 +00:00
Pavel Rojtberg
7190028b23 FileStorage: use copydoc to add base64 info to constructor 2017-11-10 13:06:36 +01:00
Alexander Alekhin
bffe254a81 Merge pull request #10003 from sturkmen72:documentation_updates 2017-11-07 16:52:15 +00:00
Suleyman TURKMEN
63fb79b519 updates documentation and samples 2017-11-07 19:21:21 +03:00
Alexander Alekhin
981009ac1f Merge pull request #9999 from mshabunin:fix-gcc72-warnings 2017-11-07 13:37:25 +00:00
Maksim Shabunin
184daa155f Fixed minor issues reported by GCC 7.2 2017-11-03 18:06:39 +03:00
Alexander Alekhin
9c4f0a984f ocl: drop CV_OclDbgAssert 2017-11-03 13:31:37 +03:00
Alexander Alekhin
8fb48c09f7 ocl: improve debug information 2017-11-03 13:31:37 +03:00
Alexander Alekhin
7db612a545 core(ocl): fix parameters for 'intelblas_gemm_buffer_NT' kernel 2017-11-02 12:50:32 +03:00
Alexander Alekhin
bc9c9abab0 Merge pull request #9877 from mapreri:non-linux 2017-10-30 15:41:36 +00:00
Alexander Alekhin
7809c4156f core(ocl): workaround CL_OUT_OF_RESOURCES error
Flush deallocation queue before calling map/unmap
2017-10-30 17:54:56 +03:00
Sayed Adel
def444d99f core: Several improvements to Power/VSX
- changed behavior of vec_ctf, vec_ctu, vec_cts
  in gcc and clang to make them compatible with XLC
- implemented most of missing conversion intrinsics in gcc and clang
- implemented conversions intrinsics of odd-numbered elements
- ignored gcc bug warning that caused by -Wunused-but-set-variable in rare cases
- replaced right shift with algebraic right shift for signed vectors
  to shift in the sign bit.
- added new universal intrinsics v_matmuladd, v_rotate_left/right
- avoid using floating multiply-add in RNG
2017-10-28 17:46:12 +00:00
Alexander Alekhin
21c8e6d02d Merge tag '3.3.1' 2017-10-23 18:42:41 +03:00
Alexander Alekhin
a871f9e4f7 Merge branch 'update_version' into release 2017-10-23 18:41:12 +03:00
Maksim Shabunin
bf418ba342 Merge pull request #9917 from alalek:ocl_cache_program_failures 2017-10-23 12:25:25 +00:00
Alexander Alekhin
734ea77c9a ocl(macosx): fix CL_INVALID_BUILD_OPTIONS for gemm programs
MacOSX OpenCL compiler is very strict to whitespace issues
2017-10-23 13:56:11 +03:00
Alexander Alekhin
d96cac1341 ocl: cache program build failures
To prevent unnecessary compiler invocations
2017-10-23 13:46:56 +03:00
Alexander Alekhin
185faf99bd ocl: simplify ocl::Timer interface 2017-10-18 16:01:21 +03:00
Mattia Rizzolo
d026d7dcfb
Fix build for non-linux architectures but still glibc-based
Exampls of these are gnu/kfreebsd and gnu/hurd, both available as
unofficial Debian ports.

They don't define __linux__ (as they are non-linux…) but still define
__GLIBC__, so check on that.

Signed-off-by: Mattia Rizzolo <mattia@mapreri.org>
2017-10-17 00:45:27 +02:00
Vadim Pisarevsky
1563300197 Merge pull request #9833 from tomoaki0705:universalMathFuncs 2017-10-16 10:46:56 +00:00
Vadim Pisarevsky
2808bea7fa Merge pull request #9857 from americast:mat_fix 2017-10-16 10:43:37 +00:00
Gregory Morse
d30a0c6f03 Merge pull request #9856 from GregoryMorse:patch-1
* Update OpenCVCompilerOptimizations.cmake

Neon not supported on MSVC ARM breaking build fix

* Update OpenCVCompilerOptimizations.cmake

Whitespace

* Update intrin.hpp

Many problems in MSVC ARM builds (at least on VS2017) being fixed in this PR now.

C:\Users\Gregory\DOCUME~1\MYLIBR~1\OPENCV~3\opencv\sources\modules\core\include\opencv2/core/hal/intrin.hpp(444): error C3861: '_tzcnt_u32': identifier not found

* Update hal_replacement.hpp

Passing variadic expansion in a macro to another macro does not work properly in MSVC and a famous known workaround is hereby applied.  Discussion of it: https://stackoverflow.com/questions/5134523/msvc-doesnt-expand-va-args-correctly
Only needed the fix for ARM builds: TEGRA_ macros are used for cv_hal_ functions in the carotene library.

C:\Users\Gregory\Documents\My Libraries\opencv330\opencv\sources\modules\core\src\arithm.cpp(2378): warning C4003: not enough actual parameters for macro 'TEGRA_ADD'
C:\Users\Gregory\Documents\My Libraries\opencv330\opencv\sources\modules\core\src\arithm.cpp(2378): error C2143: syntax error: missing ')' before ','
C:\Users\Gregory\Documents\My Libraries\opencv330\opencv\sources\modules\core\src\arithm.cpp(2378): error C2059: syntax error: ')'

* Update hal_replacement.hpp

All hal_replacement's using carotene\hal\tegra_hal.hpp TEGRA_ functions as macros preprocessed by variadic macros should be changed, identical as was done in core.
C:\Users\Gregory\Documents\My Libraries\opencv330\opencv\sources\modules\imgproc\src\color.cpp(9604): warning C4003: not enough actual parameters for macro 'TEGRA_CVTBGRTOBGR'
C:\Users\Gregory\Documents\My Libraries\opencv330\opencv\sources\modules\imgproc\src\color.cpp(9604): error C2059: syntax error: '=='

* Update OpenCVCompilerOptimizations.cmake

* Update hal_replacement.hpp

* Update hal_replacement.hpp
2017-10-16 12:12:35 +03:00
Sayan Sinha
60bcb16ca8 Fix typo in mat.hpp 2017-10-14 21:46:11 +05:30
Tomoaki Teshima
2a781bb616 remove raw SSE2/NEON implementation from mathfuncs.cpp
* replace the implementation by universal intrinsic
  * make sure no degradation happens on ARM platform
2017-10-15 00:24:31 +09:00
Alexander Alekhin
b0c6bd0a5b build: resolve naming issue 2017-10-12 13:28:30 +03:00
Alexander Alekhin
88225eb65e ocl: fix world compilation on Windows 2017-10-11 19:04:42 +03:00
Alexander Alekhin
024be9b8c9 Merge pull request #9818 from tz70s:issue#9570 2017-10-11 15:19:17 +00:00
Vadim Pisarevsky
5e82c98a9f Merge pull request #9828 from berak:fix_c++17_9572 2017-10-11 13:31:18 +00:00
berak
ada753a54c fix c++17 namsespace issues 2017-10-11 09:50:22 +02:00
tz70s
6c1247b38c fix#9570: implement mat ptr for generic types
The original template based mat ptr for indexing is not implemented,
add the similar implementation as uchar type, but cast to
user-defined type from the uchar pointer.
2017-10-10 21:46:49 +08:00
Vadim Pisarevsky
0739f28e56 Merge pull request #9786 from LaurentBerger:Histo3d 2017-10-10 10:58:34 +00:00
Vadim Pisarevsky
7d55c09a9f Merge pull request #9763 from seiko2plus:addVsxCore 2017-10-10 10:00:31 +00:00
Alexander Alekhin
bd6fb497bc OpenCV version++
OpenCV 3.3.1
2017-10-10 12:29:57 +03:00
LaurentBerger
752f232335 It's done 2017-10-09 22:25:57 +02:00
Vadim Pisarevsky
bfb12acde6 Merge pull request #9792 from alalek:port_9776 2017-10-09 12:46:06 +00:00
Vadim Pisarevsky
44699c59b3 Merge pull request #9799 from alalek:ocl_program 2017-10-09 12:43:46 +00:00
Wu Zhiwen
dbe9ee0924 ocl: simplify ocl::Timer
Use clFinish to gurantee commands completed, instead of waiting for events.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2017-10-09 13:48:38 +08:00
Sayed Adel
4b968d1fe2 Added universal intrinsic for VSX 2017-10-09 00:32:41 +00:00
Sayed Adel
d077778074 Added support for VSX 2017-10-09 00:32:29 +00:00