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
Alexander Alekhin
4a297a2443
ts: refactor OpenCV tests
...
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Vadim Pisarevsky
69a6765bf7
Merge pull request #10387 from terfendail:resize23_perftest
2017-12-22 13:26:05 +00:00
Vitaly Tuzov
b6fe4cc807
Added performance tests for linear resize of 2 and 3-channel images
2017-12-20 18:11:21 +03:00
Vitaly Tuzov
51cb56ef2c
Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. ( #9468 )
2017-12-13 15:00:38 +03:00
Vitaly Tuzov
22fcbaed64
Added performance test for nearest neighbor resize
2017-09-22 12:34:58 +03:00
Alexander Alekhin
a4a47b538c
build: detect Android via '__ANDROID__' macro
...
https://sourceforge.net/p/predef/wiki/OperatingSystems
2017-07-10 12:43:59 +03:00
Roman Donchenko
dcaf923517
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
3rdparty/ffmpeg/ffmpeg_version.cmake
cmake/OpenCVFindLibsGrfmt.cmake
cmake/templates/cvconfig.h.cmake
modules/bioinspired/doc/retina/index.rst
modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
modules/calib3d/src/precomp.hpp
modules/contrib/src/inputoutput.cpp
modules/contrib/src/precomp.hpp
modules/core/include/opencv2/core/internal.hpp
modules/core/include/opencv2/core/types_c.h
modules/core/src/drawing.cpp
modules/core/src/precomp.hpp
modules/core/src/system.cpp
modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst
modules/features2d/doc/common_interfaces_of_feature_detectors.rst
modules/features2d/include/opencv2/features2d/features2d.hpp
modules/features2d/src/precomp.hpp
modules/flann/src/precomp.hpp
modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
modules/gpu/doc/image_filtering.rst
modules/gpu/doc/image_processing.rst
modules/gpu/doc/video.rst
modules/gpu/perf/perf_imgproc.cpp
modules/gpu/perf4au/main.cpp
modules/gpu/src/imgproc.cpp
modules/gpu/src/precomp.hpp
modules/gpu/test/test_imgproc.cpp
modules/highgui/CMakeLists.txt
modules/highgui/test/test_precomp.hpp
modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
modules/imgproc/src/precomp.hpp
modules/java/generator/src/cpp/Mat.cpp
modules/legacy/src/precomp.hpp
modules/ml/doc/k_nearest_neighbors.rst
modules/ml/src/precomp.hpp
modules/nonfree/doc/feature_detection.rst
modules/nonfree/src/precomp.hpp
modules/objdetect/include/opencv2/objdetect/objdetect.hpp
modules/objdetect/src/cascadedetect.cpp
modules/objdetect/src/hog.cpp
modules/objdetect/src/precomp.hpp
modules/objdetect/test/test_latentsvmdetector.cpp
modules/ocl/src/hog.cpp
modules/ocl/src/opencl/objdetect_hog.cl
modules/ocl/src/precomp.hpp
modules/photo/src/precomp.hpp
modules/stitching/src/precomp.hpp
modules/superres/perf/perf_precomp.hpp
modules/superres/src/optical_flow.cpp
modules/superres/src/precomp.hpp
modules/superres/test/test_precomp.hpp
modules/ts/include/opencv2/ts.hpp
modules/video/src/precomp.hpp
modules/videostab/src/precomp.hpp
modules/world/src/precomp.hpp
2013-08-06 13:56:49 +04:00
Andrey Pavlenko
3a0e26b89d
adding/tuning multiple run for perf tests failing due to big deviation (functions using TBB can work so)
2013-07-26 17:27:31 +04:00
Roman Donchenko
4cf9990d4e
Merge remote-tracking branch 'origin/2.4' into merge-2.4
...
Conflicts:
doc/tutorials/definitions/noContent.rst
doc/tutorials/gpu/gpu-basics-similarity/gpu-basics-similarity.rst
doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst
doc/tutorials/introduction/how_to_write_a_tutorial/how_to_write_a_tutorial.rst
modules/core/include/opencv2/core/core.hpp
modules/core/include/opencv2/core/internal.hpp
modules/core/include/opencv2/core/version.hpp
modules/gpu/CMakeLists.txt
modules/highgui/perf/perf_output.cpp
modules/highgui/test/test_video_io.cpp
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/perf/main.cpp
modules/ocl/src/hog.cpp
modules/ocl/src/initialization.cpp
modules/ocl/src/moments.cpp
modules/ocl/src/opencl/moments.cl
modules/ocl/test/main.cpp
modules/ocl/test/test_moments.cpp
modules/python/test/test.py
modules/ts/include/opencv2/ts/ts_perf.hpp
modules/ts/src/precomp.hpp
modules/ts/src/ts_perf.cpp
2013-07-03 19:53:21 +04:00
Sergei Nosov
29955620e0
multiruns added to avoid the 'unreliable results' error
2013-06-26 15:07:39 +04:00
Andrey Kamaev
61079547f0
Merge branch '2.4'
2013-02-01 14:59:40 +04:00
Anna Kogan
ed4c687d45
Increased time limits, eliminated extra params
2013-01-31 16:18:52 +04:00
Andrey Kamaev
f4e27bcbbc
Merge branch '2.4'
2013-01-25 16:30:36 +04:00
Andrey Pavlenko
81721d0dce
enabling sanity checks for warp and resize functions on Android
...
- add syntetic images generation function to ts
- use generated syntetic images
2013-01-23 17:25:30 +04:00
Ilya Lavrenov
d1ca934115
sse2 version of resize area fast for types CV_(8, 16)UC(1, 3, 4)
2012-12-11 15:14:50 +04:00
Alexander Smorkalov
f6ff2b87fa
Some perf tests on warping and resize disabled on Android
...
MatInfo_Size_Size.resizeDownLinear
MatInfo_Size_Size.resizeUpLinear
TestWarpPerspectiveNear_t.WarpPerspectiveNear
TestWarpPerspective.WarpPerspective
2012-11-29 18:21:22 +04:00
Anna Kogan
8877066846
increased time-limits
2012-11-28 18:17:33 +04:00
OpenCV Buildbot
04384a71e4
Normalize line endings and whitespace
2012-10-17 15:32:23 +04:00
Ilya Lavrenov
92795ba476
parallel version of remap, resize, warpaffine, warpPerspective. Some optimization for 2x decimation in resize algorithm
2012-08-22 11:49:21 +04:00
Andrey Kamaev
65f5343ed5
Refactored performance tests. TEST_CYCLE macro is renamed to TEST_CYCLE_N; SIMPLE_TEST_CYCLE is renamed to TEST_CYCLE; from now 100 iterations are default for performance tests
2011-12-29 16:46:16 +00:00