Merge pull request #2589 from alalek:icv_update

This commit is contained in:
Andrey Pavlenko
2014-04-09 18:23:34 +04:00
committed by OpenCV Buildbot
16 changed files with 193 additions and 161 deletions

View File

@@ -211,8 +211,8 @@ CV_EXPORTS void scalarToRawData(const cv::Scalar& s, void* buf, int type, int un
#ifdef HAVE_IPP
# ifdef HAVE_IPP_ICV_ONLY
# include "ipp_redefine.h"
# include "ippicv.h"
# include "ippicv_fn_map.h"
# else
# include "ipp.h"
# endif

View File

@@ -1079,7 +1079,7 @@ dtype* dst, size_t dstep, Size size, double* scale) \
cvtScale_(src, sstep, dst, dstep, size, (wtype)scale[0], (wtype)scale[1]); \
}
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
#define DEF_CVT_FUNC_F(suffix, stype, dtype, ippFavor) \
static void cvt##suffix( const stype* src, size_t sstep, const uchar*, size_t, \
dtype* dst, size_t dstep, Size size, double*) \

View File

@@ -548,7 +548,7 @@ void flip( InputArray _src, OutputArray _dst, int flip_mode )
Mat dst = _dst.getMat();
size_t esz = CV_ELEM_SIZE(type);
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
typedef IppStatus (CV_STDCALL * ippiMirror)(const void * pSrc, int srcStep, void * pDst, int dstStep, IppiSize roiSize, IppiAxis flip);
ippiMirror ippFunc =
type == CV_8UC1 ? (ippiMirror)ippiMirror_8u_C1R :

View File

@@ -238,7 +238,7 @@ float cubeRoot( float value )
static void Magnitude_32f(const float* x, const float* y, float* mag, int len)
{
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
IppStatus status = ippsMagnitude_32f(x, y, mag, len);
if (status >= 0)
return;
@@ -270,7 +270,7 @@ static void Magnitude_32f(const float* x, const float* y, float* mag, int len)
static void Magnitude_64f(const double* x, const double* y, double* mag, int len)
{
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
IppStatus status = ippsMagnitude_64f(x, y, mag, len);
if (status >= 0)
return;
@@ -303,7 +303,7 @@ static void Magnitude_64f(const double* x, const double* y, double* mag, int len
static void InvSqrt_32f(const float* src, float* dst, int len)
{
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
if (ippsInvSqrt_32f_A21(src, dst, len) >= 0)
return;
#endif
@@ -351,7 +351,7 @@ static void InvSqrt_64f(const double* src, double* dst, int len)
static void Sqrt_32f(const float* src, float* dst, int len)
{
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
if (ippsSqrt_32f_A21(src, dst, len) >= 0)
return;
#endif
@@ -384,7 +384,7 @@ static void Sqrt_32f(const float* src, float* dst, int len)
static void Sqrt_64f(const double* src, double* dst, int len)
{
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
if (ippsSqrt_64f_A50(src, dst, len) >= 0)
return;
#endif
@@ -755,7 +755,7 @@ void polarToCart( InputArray src1, InputArray src2,
dst2.create( Angle.dims, Angle.size, type );
Mat X = dst1.getMat(), Y = dst2.getMat();
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
if (Mag.isContinuous() && Angle.isContinuous() && X.isContinuous() && Y.isContinuous() && !angleInDegrees)
{
typedef IppStatus (CV_STDCALL * ippsPolarToCart)(const void * pSrcMagn, const void * pSrcPhase,
@@ -2161,7 +2161,7 @@ void pow( InputArray _src, double power, OutputArray _dst )
_src.copyTo(_dst);
return;
case 2:
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
if (depth == CV_32F && !same && ( (_src.dims() <= 2 && !ocl::useOpenCL()) || (_src.dims() > 2 && _src.isContinuous() && _dst.isContinuous()) ))
{
Mat src = _src.getMat();
@@ -2233,7 +2233,7 @@ void pow( InputArray _src, double power, OutputArray _dst )
}
else
{
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
if (src.isContinuous() && dst.isContinuous())
{
IppStatus status = depth == CV_32F ?

View File

@@ -2967,7 +2967,7 @@ void cv::transpose( InputArray _src, OutputArray _dst )
return;
}
#ifdef HAVE_IPP
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY)
typedef IppStatus (CV_STDCALL * ippiTranspose)(const void * pSrc, int srcStep, void * pDst, int dstStep, IppiSize roiSize);
ippiTranspose ippFunc =
type == CV_8UC1 ? (ippiTranspose)ippiTranspose_8u_C1R :