Ciprian Alexandru Pitis
d2e02779c4
Merge pull request #15799 from Cpitis:feature/parallelization
...
Parallelize pyrDown & calcSharrDeriv
* ::pyrDown has been parallelized
* CalcSharrDeriv parallelized
* Fixed whitespace
* Set granularity based on amount of threads enabled
* Granularity changed to cv::getNumThreads, now each thread should receive 1/n sized stripes
* imgproc: move PyrDownInvoker<CastOp>::operator() implementation
* imgproc(pyramid): remove syloopboundary()
* video: SharrDerivInvoker replace 'Mat*' => 'Mat&' fields
2019-10-31 23:38:49 +03:00
Chip Kerchner
30a60d396b
Merge pull request #15274 from ChipKerchner:lkpyramidToHal
...
* Convert lkpyramid from SSE SIMD to HAL - 90% faster on Power (VSX).
* Replace stores with reduce_sum. Rework to handle endianess correctly.
* Fix compiler warnings by casting values explicitly to shorts
* Switch to CV_SIMD128 compiler definition. Unroll loop to 8 elements since we've already loaded the data.
2019-08-28 18:56:48 +03: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
Ahmed Ashour
1aca1d582e
Fix some typos
2019-06-05 12:24:13 +02:00
tompollok
2da56d5af6
refactoring catching all exceptions as const ref
2018-11-08 19:59:47 +03:00
Alexander Alekhin
ab2c16b2e5
Merge pull request #12829 from tomoaki0705:fixTestVideoOpenCLPyrLK
2018-10-15 19:18:24 +00:00
Tomoaki Teshima
803f86b9ca
fix test failure of PyrLKOpticalFlow.Mat
...
* remove race condition
* upload _prevPts to OpenCL device explicitly before calling "sparse"
2018-10-15 22:57:08 +09:00
Alexander Alekhin
1cc3f7abbb
Merge pull request #12516 from seiko2plus:changeUnvMultiply16
2018-10-15 12:07:40 +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
Hamdi Sahloul
5d54def264
Add semicolons after CV_INSTRUMENT macros
2018-09-14 06:45:31 +09:00
Alexander Alekhin
b09a4a98d4
opencv: Use cv::AutoBuffer<>::data()
2018-07-04 19:11:29 +03:00
branka-plateiq
34ad9b8a42
Pass RANSAC parameters as function input ( #10569 )
...
* Pass RANSAC parameters as function input
* Clean up unnecessary code
* Keep the original function signature
* Clean up based on PR comments
Replace array with vector.
Correct naming convention for input variables.
Add checks on input variables.
* Use vector instead of array for dynamic size
* Revert change.
* Use dynamic array
* Fix wrong syntax in array allocation
* Undo change
* Fix variable name
* Use vector and not array
* fixed compile warning on Windows
2018-06-26 16:40:28 +03:00
Alexander Alekhin
1ca7ae9630
video: apply CV_OVERRIDE/CV_FINAL
2018-03-28 18:43:27 +03:00
luz.paz
d05714995c
Misc. modules/ cont. pt2
...
Found via `codespell`
2018-02-13 11:28:11 -05:00
Alexander Alekhin
0ed3209b00
ocl: avoid unnecessary loading/initializing OpenCL subsystem
...
If there are no OpenCL/UMat methods calls from application.
OpenCL subsystem is initialized:
- haveOpenCL() is called from application
- useOpenCL() is called from application
- access to OpenCL allocator: UMat is created (empty UMat is ignored) or UMat <-> Mat conversions are called
Don't call OpenCL functions if OPENCV_OPENCL_RUNTIME=disabled
(independent from OpenCL linkage type)
2017-11-28 14:02:42 +03:00
KUANG Fangjun
67acfc6e25
improve doc.
2017-10-31 10:30:01 +01:00
Maksim Shabunin
a769d69a9d
Fixed several issues found by static analysis
2017-06-28 18:06:18 +03:00
Maksim Shabunin
32d4af36e2
Fixing some static analysis issues
2017-06-27 14:30:26 +03:00
LukeZhu
cc47ee3b43
Modify the pyrlk.cl to support winSize from 8*8 to 24*24 for optical flow
2017-06-07 17:46:50 +08:00
Vadim Pisarevsky
ee257ffe9e
Merge pull request #8455 from terfendail:ovxhal_skipsmall
2017-05-26 12:10:18 +00:00
LukeZhu
65be9e1978
Fix OpenCL's wrong output of calcOpticalFlowPyrLK function's output vector of err. Improve err's precison of the calcOpticalFlowPyrLK OpenCL function and add the relative test.
2017-05-04 14:07:45 +08:00
Vitaly Tuzov
bf5b7843e8
Extended set of OpenVX HAL calls disabled for small images
2017-04-06 18:17:32 +03:00
Vitaly Tuzov
9a4b5a4545
OpenVX calls updated to use single common OpenVX context per thread
2017-02-21 16:08:23 +03:00
Rostislav Vasilikhin
328151c8a4
don't run OpenVX pyrLK if user asked for err vector
2016-12-16 23:38:47 +03:00
Rostislav Vasilikhin
5372c8b331
Merge pull request #7774 from savuor:openvx_pyrlk
...
OpenVX optical flow PyrLK wrappers added (#7774 )
* wrappers for vx_pyramid added
* initial version of Optical Flow PyrLK wrappers added
* array downloading code simplified
* disabled due to bad accuracy; fixed bugs, e.g. vendor-specific ones
* rewritten for new macro use
2016-12-16 12:46:03 +02:00
Kotrix
10ccd0328c
Removed redundant calculations
...
Operations inside for loops are unnecessary. They are repeated anyway just below for loops
2016-12-04 20:28:56 +01:00
Tomoaki Teshima
ea4ff91861
fix error from performance test of LK pyramid
2016-10-16 17:21:37 +09:00
Tomoaki Teshima
1ef740fa2c
use universal intrinsic implementation for calcSharrDeriv
2016-10-11 20:32:33 +09:00
Pavel Vlasov
30a6cee2fe
Instrumentation for OpenCV API regions and IPP functions;
2016-08-19 18:10:03 +03:00
Vadim Pisarevsky
66e94467dc
Merge pull request #7087 from terfendail/master
...
Fix for incorrect calcOpticalFlowPyrLK result evaluation with ARM NEON
2016-08-18 17:12:38 +04:00
Vitaly Tuzov
d8dc6caf09
Fix for incorrect calcOpticalFlowPyrLK result evaluation with ARM NEON
2016-08-12 10:14:54 +03:00
k-shinotsuka
042b0a584d
improve LKTrackerInvoker::operator()
2016-08-09 18:59:29 +09:00
alcinos
e22b838af8
Wrap SparseOptFlow class around PyrLK optical flow computation
2016-01-29 01:47:51 +01:00
Vadim Pisarevsky
3942b1f362
Merge pull request #5340 from alalek:ocl_off
2015-11-10 16:53:36 +00:00
Maksim Shabunin
6e9d0d9a0c
Visual Studio 2015 warning and test fixes
2015-10-20 12:48:37 +03:00
Alexander Alekhin
7213e5f68a
ocl: correct disabling of OpenCL code
2015-09-13 20:28:23 +03:00
Alexander Alekhin
ad70ab404c
ocl: workaround for getUMat()
2015-09-09 18:56:14 +03:00
Vladislav Vinogradov
cda6fed41f
move tegra namespace out of cv to prevent conflicts
2015-02-27 12:52:11 +03:00
Vladislav Vinogradov
44e41baffe
use new functions before all tegra:: calls
2015-02-26 19:34:58 +03:00
Pavel Vlasov
45958eaabc
Implementation detector and selector for IPP and OpenCL;
...
IPP can be switched on and off on runtime;
Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;
TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Adil Ibragimov
8a4a1bb018
Several type of formal refactoring:
...
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Alexander Alekhin
55188fe991
world fix
2014-08-05 20:12:35 +04:00
krodyush
2e2ca58b70
fix according review
2014-05-30 15:44:51 +04:00
krodyush
153ac43d3b
opencl opticaflow fix that enables buffer2image extension
2014-05-28 10:34:11 +04:00
Aaron Kunze
ebbac3c66d
Optimizes OpenCL resize and optical flow to use image extension.
2014-04-14 16:09:17 -07:00
krodyush
4ca695cab0
Merge remote-tracking branch 'github/master' into pullreq/140319-PyrLKOpticalFlow
...
Conflicts:
modules/video/src/opencl/pyrlk.cl
2014-04-04 11:26:08 +04:00
krodyush
65d64af2a8
ocl_calcOpticalFlowPyrLK optimizations
...
1. decrease branch number in CL code by replacing them into weights
2. decrease local mem pressure in reduce operation by using private variables
3. decrease image sampler pressure by caching data into local memory
4. remove unnecessary sync point on the HOST side.
2014-03-19 19:31:14 +04:00
vbystricky
6890aa0033
Fix problems on Intel HD graphics
2014-03-17 16:03:15 +04:00
Andrey Pavlenko
702a2a6ff6
Merge pull request #2373 from mlyashko:optflow_dualtvl1
2014-03-11 16:00:22 +04:00
mlyashko
eb2e8a11fa
changed kernel.set to support unsuccssful set
2014-03-07 11:15:54 +04:00