mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 15:53:03 +04:00
refactored core using new macro
This commit is contained in:
@@ -2522,6 +2522,8 @@ void cv::vconcat(InputArray _src, OutputArray dst)
|
||||
|
||||
//////////////////////////////////////// set identity ////////////////////////////////////////////
|
||||
|
||||
#ifdef HAVE_OPENCL
|
||||
|
||||
namespace cv {
|
||||
|
||||
static bool ocl_setIdentity( InputOutputArray _m, const Scalar& s )
|
||||
@@ -2544,12 +2546,14 @@ static bool ocl_setIdentity( InputOutputArray _m, const Scalar& s )
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void cv::setIdentity( InputOutputArray _m, const Scalar& s )
|
||||
{
|
||||
CV_Assert( _m.dims() <= 2 );
|
||||
|
||||
if (ocl::useOpenCL() && _m.isUMat() && ocl_setIdentity(_m, s))
|
||||
return;
|
||||
CV_OCL_RUN(_m.isUMat(),
|
||||
ocl_setIdentity(_m, s))
|
||||
|
||||
Mat m = _m.getMat();
|
||||
int i, j, rows = m.rows, cols = m.cols, type = m.type();
|
||||
@@ -2728,6 +2732,8 @@ static TransposeInplaceFunc transposeInplaceTab[] =
|
||||
0, 0, 0, 0, 0, 0, 0, transposeI_32sC6, 0, 0, 0, 0, 0, 0, 0, transposeI_32sC8
|
||||
};
|
||||
|
||||
#ifdef HAVE_OPENCL
|
||||
|
||||
static inline int divUp(int a, int b)
|
||||
{
|
||||
return (a + b - 1) / b;
|
||||
@@ -2769,6 +2775,8 @@ static bool ocl_transpose( InputArray _src, OutputArray _dst )
|
||||
return k.run(2, globalsize, localsize, false);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void cv::transpose( InputArray _src, OutputArray _dst )
|
||||
@@ -2776,8 +2784,8 @@ void cv::transpose( InputArray _src, OutputArray _dst )
|
||||
int type = _src.type(), esz = CV_ELEM_SIZE(type);
|
||||
CV_Assert( _src.dims() <= 2 && esz <= 32 );
|
||||
|
||||
if (ocl::useOpenCL() && _dst.isUMat() && ocl_transpose(_src, _dst))
|
||||
return;
|
||||
CV_OCL_RUN(_dst.isUMat(),
|
||||
ocl_transpose(_src, _dst))
|
||||
|
||||
Mat src = _src.getMat();
|
||||
if( src.empty() )
|
||||
@@ -3007,6 +3015,8 @@ typedef void (*ReduceFunc)( const Mat& src, Mat& dst );
|
||||
#define reduceMinC32f reduceC_<float, float, OpMin<float> >
|
||||
#define reduceMinC64f reduceC_<double,double,OpMin<double> >
|
||||
|
||||
#ifdef HAVE_OPENCL
|
||||
|
||||
namespace cv {
|
||||
|
||||
static bool ocl_reduce(InputArray _src, OutputArray _dst,
|
||||
@@ -3060,6 +3070,8 @@ static bool ocl_reduce(InputArray _src, OutputArray _dst,
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void cv::reduce(InputArray _src, OutputArray _dst, int dim, int op, int dtype)
|
||||
{
|
||||
CV_Assert( _src.dims() <= 2 );
|
||||
@@ -3074,9 +3086,8 @@ void cv::reduce(InputArray _src, OutputArray _dst, int dim, int op, int dtype)
|
||||
CV_Assert( op == CV_REDUCE_SUM || op == CV_REDUCE_MAX ||
|
||||
op == CV_REDUCE_MIN || op == CV_REDUCE_AVG );
|
||||
|
||||
if (ocl::useOpenCL() && _dst.isUMat() &&
|
||||
ocl_reduce(_src, _dst, dim, op, op0, stype, dtype))
|
||||
return;
|
||||
CV_OCL_RUN(_dst.isUMat(),
|
||||
ocl_reduce(_src, _dst, dim, op, op0, stype, dtype))
|
||||
|
||||
Mat src = _src.getMat();
|
||||
_dst.create(dim == 0 ? 1 : src.rows, dim == 0 ? src.cols : 1, dtype);
|
||||
|
||||
Reference in New Issue
Block a user