1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 07:13:02 +04:00

Merge branch 4.x

This commit is contained in:
Alexander Smorkalov
2024-08-27 18:31:36 +03:00
108 changed files with 1241 additions and 646 deletions
+3 -19
View File
@@ -791,7 +791,7 @@ struct iPow_SIMD
#if (CV_SIMD || CV_SIMD_SCALABLE)
template <>
struct iPow_SIMD<uchar, int>
struct iPow_SIMD<uchar, unsigned>
{
int operator() ( const uchar * src, uchar * dst, int len, int power )
{
@@ -871,7 +871,7 @@ struct iPow_SIMD<schar, int>
};
template <>
struct iPow_SIMD<ushort, int>
struct iPow_SIMD<ushort, unsigned>
{
int operator() ( const ushort * src, ushort * dst, int len, int power)
{
@@ -1203,16 +1203,6 @@ static bool ocl_pow(InputArray _src, double power, OutputArray _dst,
_dst.createSameSize(_src, type);
if (is_ipower)
{
if (ipower == 0)
{
_dst.setTo(Scalar::all(1));
return true;
}
if (ipower == 1)
{
_src.copyTo(_dst);
return true;
}
if( ipower < 0 )
{
if( depth == CV_32F || depth == CV_64F )
@@ -1271,11 +1261,7 @@ void pow( InputArray _src, double power, OutputArray _dst )
bool useOpenCL = _dst.isUMat() && _src.dims() <= 2;
#endif
if( is_ipower
#ifdef HAVE_OPENCL
&& !(useOpenCL && ocl::Device::getDefault().isIntel() && depth != CV_64F)
#endif
)
if (is_ipower)
{
switch( ipower )
{
@@ -1291,8 +1277,6 @@ void pow( InputArray _src, double power, OutputArray _dst )
return;
}
}
else
CV_Assert( depth == CV_32F || depth == CV_64F );
CV_OCL_RUN(useOpenCL, ocl_pow(_src, power, _dst, is_ipower, ipower))