* 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.
Test create custom layer in python
* check is contiguos
* Add custom layer test
* Fix test
* Remove assert
* Move assert to pyopencv dnn
* remove assert
* Add unregister
* Fix python2
* proto to bytearray
* Fix data type
* G-API: Addressed various documentation issues
- Fixed various typos and missing references;
- Added brief documentaion on G_TYPED_KERNEL and G_COMPOUND_KERNEL macros;
- Briefly described GComputationT<>;
- Briefly described G-API data objects (in a group section).
* G-API: Some clean-ups in doxygen, also a chapter on Render API
* G-API: Expose more graph compilation arguments in the documentation
* G-API: Address documentation review comments
* calib3d: use normalized input in solvePnPGeneric()
* calib3d: java regression test for solvePnPGeneric
* calib3d: python regression test for solvePnPGeneric
* core: disable invalid constructors in C API by default
- C API objects will lose their default initializers through constructors
* samples: stop using of C API
Fix cudacodec python
* Add python bindings to cudacodec.
* Allow args with CV_OUT GpuMat& or CV_OUT cuda::GpuMat& to generate python bindings that allow the argument to be an optional output in the same way as OutputArray.
* Add wrapper flag to indicate that an OutputArray is a GpuMat.
* python: drop CV_GPU, extra checks in test
* Remove "cuda::GpuMat" check rom python parser
G-API-NG/Streaming: don't require explicit metadata in compileStreaming()
* First probably working version
Hardcode gose to setSource() :)
* Pre final version of move metadata declaration from compileStreaming() to setSource().
* G-API-NG/Streaming: recovered the existing Streaming functionality
- The auto-meta test is disabling since it crashes.
- Restored .gitignore
* G-API-NG/Streaming: Made the meta-less compileStreaming() work
- Works fine even with OpenCV backend;
- Fluid doesn't support such kind of compilation so far - to be fixed
* G-API-NG/Streaming: Fix Fluid to support meta-less compilation
- Introduced a notion of metadata-sensitive passes and slightly
refactored GCompiler and GFluidBackend to support that
- Fixed a TwoVideoSourcesFail test on streaming
* Add three smoke streaming tests to gapi_streaming_tests.
All three teste run pipeline with two different input sets
1) SmokeTest_Two_Const_Mats test run pipeline with two const Mats
2) SmokeTest_One_Video_One_Const_Scalar test run pipleline with Mat(video source) and const Scalar
3) SmokeTest_One_Video_One_Const_Vector test run pipeline with Mat(video source) and const Vector
# Please enter the commit message for your changes. Lines starting
* style fix
* Some review stuff
* Some review stuff