opencv/modules
Paul Murphy a011035ed6 Merge pull request #15257 from pmur:resize
* resize: HResizeLinear reduce duplicate work

There appears to be a 2x unroll of the HResizeLinear against k,
however the k value is only incremented by 1 during the unroll. This
results in k - 1 duplicate passes when k > 1.

Likewise, the final pass may not respect the work done by the vector
loop. Start it with the offset returned by the vector op if
implemented. Note, no vector ops are implemented today.

The performance is most noticable on a linear downscale. A set of
performance tests are added to characterize this.  The performance
improvement is 10-50% depending on the scaling.

* imgproc: vectorize HResizeLinear

Performance is mostly gated by the gather operations
for x inputs.

Likewise, provide a 2x unroll against k, this reduces the
number of alpha gathers by 1/2 for larger k.

While not a 4x improvement, it still performs substantially
better under P9 for a 1.4x improvement. P8 baseline is
1.05-1.10x due to reduced VSX instruction set.

For float types, this results in a more modest
1.2x improvement.

* Update U8 processing for non-bitexact linear resize

* core: hal: vsx: improve v_load_expand_q

With a little help, we can do this quickly without gprs on
all VSX enabled targets.

* resize: Fix cn == 3 step per feedback

Per feedback, ensure we don't overrun. This was caught via the
failure observed in Test_TensorFlow.inception_accuracy.
2019-12-09 14:54:06 +03:00
..
calib3d Merge pull request #16024 from alalek:issue_15953 2019-12-05 14:23:48 +00:00
core Merge pull request #15257 from pmur:resize 2019-12-09 14:54:06 +03:00
cudaarithm java: generated code to have javadoc 2019-06-05 12:44:03 +02:00
cudabgsegm CUDA/BgSegm: fix the threshold of MOG2.Update test when detectShadow=true (#12762) 2018-10-09 17:39:39 +03:00
cudacodec Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
cudafeatures2d Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
cudafilters Merge pull request #13695 from flyingfalling:3.4 2019-03-13 20:53:59 +03:00
cudaimgproc Add CV_16UC1 support for cuda::CLAHE 2019-02-06 17:21:55 +00:00
cudalegacy build: eliminate CUDA warnings 2019-10-08 15:30:02 +03:00
cudaobjdetect suppress noisy warning 2019-08-08 21:49:32 +09:00
cudaoptflow removed typo 2019-11-06 17:15:31 +05:30
cudastereo cuda::StereoBM - fix hanging and racing issue 2019-02-18 06:03:12 +00:00
cudawarping Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
cudev CUDA 10.1 Build Issue Fix 2019-03-03 16:40:43 +00:00
dnn Merge pull request #15988 from l-bat:custom_layer 2019-12-06 21:29:57 +03:00
features2d bindings: basic support for #if preprocessor directives 2019-12-04 18:42:31 +03:00
flann python: force using of ArgInfo 2019-11-15 19:16:22 +03:00
highgui build: GCC9 compilation 2019-11-12 18:49:34 +03:00
imgcodecs Update loadsave.cpp 2019-09-28 23:24:17 +03:00
imgproc Merge pull request #15257 from pmur:resize 2019-12-09 14:54:06 +03:00
java android: use .getRowStride() in JavaCamera2View 2019-10-28 18:45:56 +00:00
js js(test): update features2d test 2019-11-19 07:40:12 +00:00
ml Merge pull request #16017 from berak:fix_svm_train_auto 2019-11-29 11:38:22 +00:00
objdetect imgproc: fix bit-exact GaussianBlur() / sepFilter2D() (#15855) 2019-11-18 01:39:27 +03:00
photo Assorted documentation fixes 2019-08-31 01:50:11 +03:00
python pre: OpenCV 3.4.9 (version++) 2019-12-05 18:28:38 +00:00
shape python: discover tests from module/misc/python/test paths 2019-04-10 18:35:35 +00:00
stitching Rename parameter R to H in AffineWarper member declarations 2019-11-25 16:31:03 -08:00
superres Add semicolons after CV_INSTRUMENT macros 2018-09-14 06:45:31 +09:00
ts Merge pull request #15537 from l-bat:ngraph 2019-12-02 16:16:06 +03:00
video Merge pull request #15799 from Cpitis:feature/parallelization 2019-10-31 23:38:49 +03:00
videoio videoio(v4l2): use logging, update handling of EBUSY, device closing 2019-11-23 10:36:43 +00:00
videostab backport: fixed warnings produced by clang-9.0.0 2019-09-23 18:36:18 +03:00
viz Merge pull request #15821 from ColasGael:colasg-viz-color 2019-11-01 22:37:34 +03:00
world Do not build protobuf without dnn (#10689) 2018-02-01 16:30:23 +03:00
CMakeLists.txt cmake: allow providing list of extra modules paths 2018-02-01 19:02:02 +03:00