Merge remote-tracking branch 'upstream/3.4' into merge-3.4
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Sat, 27 Feb 2021 17:41:57 +0000 (17:41 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Sat, 27 Feb 2021 17:41:57 +0000 (17:41 +0000)
1  2 
doc/opencv.bib
modules/core/include/opencv2/core/cvdef.h
modules/core/include/opencv2/core/mat.hpp
modules/core/include/opencv2/core/mat.inl.hpp
modules/core/src/matrix_wrap.cpp
modules/core/test/test_mat.cpp
modules/dnn/src/layers/detection_output_layer.cpp
modules/dnn/src/layers/proposal_layer.cpp
modules/imgproc/include/opencv2/imgproc.hpp
modules/imgproc/src/imgwarp.cpp
modules/imgproc/test/test_imgwarp.cpp

diff --cc doc/opencv.bib
Simple merge
@@@ -390,10 -400,12 +390,12 @@@ typedef union Cv64su
  }
  Cv64suf;
  
 -#define OPENCV_ABI_COMPATIBILITY 300
+ #ifndef OPENCV_ABI_COMPATIBILITY
 +#define OPENCV_ABI_COMPATIBILITY 400
+ #endif
  
  #ifdef __OPENCV_BUILD
 -#  define DISABLE_OPENCV_24_COMPATIBILITY
 +#  define DISABLE_OPENCV_3_COMPATIBILITY
  #  define OPENCV_DISABLE_DEPRECATED_COMPATIBILITY
  #endif
  
@@@ -109,9 -109,10 +109,9 @@@ template<typename _Tp> inlin
  _InputArray::_InputArray(const std::vector<_Tp>& vec)
  { init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_READ, &vec); }
  
 -#ifdef CV_CXX_STD_ARRAY
  template<typename _Tp, std::size_t _Nm> inline
  _InputArray::_InputArray(const std::array<_Tp, _Nm>& arr)
- { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_READ, arr.data(), Size(1, _Nm)); }
+ { init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_READ, arr.data(), Size(1, _Nm)); }
  
  template<std::size_t _Nm> inline
  _InputArray::_InputArray(const std::array<Mat, _Nm>& arr)
@@@ -208,9 -216,10 +208,9 @@@ template<typename _Tp> inlin
  _OutputArray::_OutputArray(std::vector<_Tp>& vec)
  { init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); }
  
 -#ifdef CV_CXX_STD_ARRAY
  template<typename _Tp, std::size_t _Nm> inline
  _OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr)
- { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); }
+ { init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); }
  
  template<std::size_t _Nm> inline
  _OutputArray::_OutputArray(std::array<Mat, _Nm>& arr)
@@@ -240,9 -258,10 +240,9 @@@ template<typename _Tp> inlin
  _OutputArray::_OutputArray(const std::vector<_Tp>& vec)
  { init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); }
  
 -#ifdef CV_CXX_STD_ARRAY
  template<typename _Tp, std::size_t _Nm> inline
  _OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr)
- { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); }
+ { init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); }
  
  template<std::size_t _Nm> inline
  _OutputArray::_OutputArray(const std::array<Mat, _Nm>& arr)
@@@ -334,9 -356,10 +334,9 @@@ template<typename _Tp> inlin
  _InputOutputArray::_InputOutputArray(std::vector<_Tp>& vec)
  { init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); }
  
 -#ifdef CV_CXX_STD_ARRAY
  template<typename _Tp, std::size_t _Nm> inline
  _InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr)
- { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); }
+ { init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); }
  
  template<std::size_t _Nm> inline
  _InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr)
@@@ -366,9 -393,10 +366,9 @@@ template<typename _Tp> inlin
  _InputOutputArray::_InputOutputArray(const std::vector<_Tp>& vec)
  { init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); }
  
 -#ifdef CV_CXX_STD_ARRAY
  template<typename _Tp, std::size_t _Nm> inline
  _InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr)
- { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); }
+ { init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); }
  
  template<std::size_t _Nm> inline
  _InputOutputArray::_InputOutputArray(const std::array<Mat, _Nm>& arr)
@@@ -358,10 -358,17 +358,13 @@@ ogl::Buffer _InputArray::getOGlBuffer(
      return *gl_buf;
  }
  
 -int _InputArray::kind() const
 +_InputArray::KindFlag _InputArray::kind() const
  {
 -    int k = flags & KIND_MASK;
 +    KindFlag k = flags & KIND_MASK;
+ #if CV_VERSION_MAJOR < 5
      CV_DbgAssert(k != EXPR);
 -#if CV_VERSION_MAJOR < 4
 -    if (k == STD_ARRAY)
 -        k = MATX;
 -#endif
+     CV_DbgAssert(k != STD_ARRAY);
+ #endif
      return k;
  }
  
Simple merge
Simple merge
Simple merge