Open Source Computer Vision Library
Go to file
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
.github migration: github.com/opencv/opencv 2016-07-12 12:51:12 +03:00
3rdparty ffmpeg/3.4: update FFmpeg wrapper 2019-11-18 19:13:45 +00:00
apps FIx misc. source and comment typos 2019-08-15 13:09:52 +03:00
cmake Merge pull request #15537 from l-bat:ngraph 2019-12-02 16:16:06 +03:00
data Some mist. typo fixes 2018-02-07 06:59:15 -05:00
doc pre: OpenCV 3.4.9 (version++) 2019-12-05 18:28:38 +00:00
include add missing DNN header to opencv2/opencv.hpp 2018-02-15 15:59:14 +01:00
modules Merge pull request #15257 from pmur:resize 2019-12-09 14:54:06 +03:00
platforms pre: OpenCV 3.4.9 (version++) 2019-12-05 18:28:38 +00:00
samples Merge pull request #16046 from alalek:issue_15990 2019-12-05 14:48:18 +03:00
.editorconfig add .editorconfig 2018-10-11 17:57:51 +00:00
.gitattributes cmake: generate and install ffmpeg-download.ps1 2018-06-09 13:19:48 +03:00
.gitignore Merge pull request #15503 from cancerberoSgx:js-test-puppeteer 2019-11-17 00:29:38 +03:00
CMakeLists.txt Merge pull request #15537 from l-bat:ngraph 2019-12-02 16:16:06 +03:00
CONTRIBUTING.md migration: github.com/opencv/opencv 2016-07-12 12:51:12 +03:00
LICENSE copyright: 2019 2019-01-02 01:18:04 +00:00
README.md Improve README (#9243) 2017-09-13 17:58:34 +03:00

OpenCV: Open Source Computer Vision Library

Resources

Contributing

Please read the contribution guidelines before starting work on a pull request.

Summary of the guidelines:

  • One pull request per issue;
  • Choose the right base branch;
  • Include tests and documentation;
  • Clean up "oops" commits before submitting;
  • Follow the coding style guide.