From: Alexander Alekhin Date: Mon, 10 Jun 2019 19:03:53 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/3.4' into merge-3.4 X-Git-Tag: accepted/tizen/6.0/unified/20201030.111113~1^2~220 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=11b020b9f9e111bddd40bffe3b1759aa02d966f0;p=platform%2Fupstream%2Fopencv.git Merge remote-tracking branch 'upstream/3.4' into merge-3.4 --- 11b020b9f9e111bddd40bffe3b1759aa02d966f0 diff --cc modules/core/src/matrix_wrap.cpp index 0b3d673,e16e2f3..de9be85 --- a/modules/core/src/matrix_wrap.cpp +++ b/modules/core/src/matrix_wrap.cpp @@@ -1880,9 -1879,79 +1880,79 @@@ void _OutputArray::assign(const Mat& m } + void _OutputArray::move(UMat& u) const + { + if (fixedSize()) + { + // TODO Performance warning + assign(u); + return; + } + int k = kind(); + if (k == UMAT) + { + #ifdef CV_CXX11 + *(UMat*)obj = std::move(u); + #else + *(UMat*)obj = u; + u.release(); + #endif + } + else if (k == MAT) + { + u.copyTo(*(Mat*)obj); // TODO check u.getMat() + u.release(); + } + else if (k == MATX) + { + u.copyTo(getMat()); // TODO check u.getMat() + u.release(); + } + else + { + CV_Error(Error::StsNotImplemented, ""); + } + } + + + void _OutputArray::move(Mat& m) const + { + if (fixedSize()) + { + // TODO Performance warning + assign(m); + return; + } + int k = kind(); + if (k == UMAT) + { + m.copyTo(*(UMat*)obj); // TODO check m.getUMat() + m.release(); + } + else if (k == MAT) + { + #ifdef CV_CXX11 + *(Mat*)obj = std::move(m); + #else + *(Mat*)obj = m; + m.release(); + #endif + } + else if (k == MATX) + { + m.copyTo(getMat()); + m.release(); + } + else + { + CV_Error(Error::StsNotImplemented, ""); + } + } + + void _OutputArray::assign(const std::vector& v) const { - int k = kind(); + _InputArray::KindFlag k = kind(); if (k == STD_VECTOR_UMAT) { std::vector& this_v = *(std::vector*)obj; diff --cc modules/dnn/include/opencv2/dnn/dnn.hpp index dce2bd7,b7974a7..9bc017c --- a/modules/dnn/include/opencv2/dnn/dnn.hpp +++ b/modules/dnn/include/opencv2/dnn/dnn.hpp @@@ -44,11 -44,16 +44,9 @@@ #include #include - #ifdef CV_CXX11 - #include - #endif + #include "opencv2/core/async.hpp" -#if !defined CV_DOXYGEN && !defined CV_STATIC_ANALYSIS && !defined CV_DNN_DONT_ADD_EXPERIMENTAL_NS -#define CV__DNN_EXPERIMENTAL_NS_BEGIN namespace experimental_dnn_34_v12 { -#define CV__DNN_EXPERIMENTAL_NS_END } -namespace cv { namespace dnn { namespace experimental_dnn_34_v12 { } using namespace experimental_dnn_34_v12; }} -#else -#define CV__DNN_EXPERIMENTAL_NS_BEGIN -#define CV__DNN_EXPERIMENTAL_NS_END -#endif +#include "../dnn/version.hpp" #include