DFT: renamed HAL functions

This commit is contained in:
Maksim Shabunin 2016-02-05 11:40:40 +03:00
parent 15783cf668
commit f40d701427
4 changed files with 55 additions and 55 deletions

View File

@ -195,16 +195,16 @@ struct DftContext
}; };
CV_EXPORTS void dftInit2D(DftContext & c, int _width, int _height, int _depth, int _src_channels, int _dst_channels, int flags, int _nonzero_rows = 0); CV_EXPORTS void dftInit2D(DftContext & c, int _width, int _height, int _depth, int _src_channels, int _dst_channels, int flags, int _nonzero_rows = 0);
CV_EXPORTS void dftRun2D(const DftContext & c, const void * src, int src_step, void * dst, int dst_step); CV_EXPORTS void dft2D(const DftContext & c, const void * src, int src_step, void * dst, int dst_step);
CV_EXPORTS void dftFree2D(DftContext & c); CV_EXPORTS void dftFree2D(DftContext & c);
CV_EXPORTS void dftInit(DftContext & c, int len, int count, int depth, int flags, bool * useBuffer = 0); CV_EXPORTS void dftInit1D(DftContext & c, int len, int count, int depth, int flags, bool * useBuffer = 0);
CV_EXPORTS void dftRun(const DftContext & c, const void * src, void * dst); CV_EXPORTS void dft1D(const DftContext & c, const void * src, void * dst);
CV_EXPORTS void dftFree(DftContext & c); CV_EXPORTS void dftFree1D(DftContext & c);
CV_EXPORTS void dctInit(DftContext & c, int width, int height, int depth, int flags); CV_EXPORTS void dctInit2D(DftContext & c, int width, int height, int depth, int flags);
CV_EXPORTS void dctRun(const DftContext & c, const void * src, int src_step, void * dst, int dst_step); CV_EXPORTS void dct2D(const DftContext & c, const void * src, int src_step, void * dst, int dst_step);
CV_EXPORTS void dctFree(DftContext & c); CV_EXPORTS void dctFree2D(DftContext & c);
//! @} core_hal //! @} core_hal

View File

@ -2763,7 +2763,7 @@ public:
count = height; count = height;
} }
needBufferA = isInplace; needBufferA = isInplace;
hal::dftInit(contextA, len, count, depth, f, &needBufferA); hal::dftInit1D(contextA, len, count, depth, f, &needBufferA);
if (needBufferA) if (needBufferA)
tmp_bufA.allocate(len * complex_elem_size); tmp_bufA.allocate(len * complex_elem_size);
} }
@ -2773,7 +2773,7 @@ public:
count = width; count = width;
f |= CV_HAL_DFT_STAGE_COLS; f |= CV_HAL_DFT_STAGE_COLS;
needBufferB = isInplace; needBufferB = isInplace;
hal::dftInit(contextB, len, count, depth, f, &needBufferB); hal::dftInit1D(contextB, len, count, depth, f, &needBufferB);
if (needBufferB) if (needBufferB)
tmp_bufB.allocate(len * complex_elem_size); tmp_bufB.allocate(len * complex_elem_size);
@ -2864,8 +2864,8 @@ public:
{ {
if (useIpp) if (useIpp)
return; return;
hal::dftFree(contextA); hal::dftFree1D(contextA);
hal::dftFree(contextB); hal::dftFree1D(contextB);
} }
protected: protected:
@ -2909,7 +2909,7 @@ protected:
if( needBufferA ) if( needBufferA )
dptr = tmp_bufA; dptr = tmp_bufA;
hal::dftRun(contextA, sptr, dptr); hal::dft1D(contextA, sptr, dptr);
if( needBufferA ) if( needBufferA )
memcpy( dptr0, dptr + dptr_offset, dst_full_len ); memcpy( dptr0, dptr + dptr_offset, dst_full_len );
@ -2983,8 +2983,8 @@ protected:
} }
if( even ) if( even )
hal::dftRun(contextB, buf1, dbuf1); hal::dft1D(contextB, buf1, dbuf1);
hal::dftRun(contextB, buf0, dbuf0); hal::dft1D(contextB, buf0, dbuf0);
if( stage_dst_channels == 1 ) if( stage_dst_channels == 1 )
{ {
@ -3032,12 +3032,12 @@ protected:
if( i+1 < b ) if( i+1 < b )
{ {
CopyFrom2Columns( sptr0, src_step, buf0, buf1, len, complex_elem_size ); CopyFrom2Columns( sptr0, src_step, buf0, buf1, len, complex_elem_size );
hal::dftRun(contextB, buf1, dbuf1); hal::dft1D(contextB, buf1, dbuf1);
} }
else else
CopyColumn( sptr0, src_step, buf0, complex_elem_size, len, complex_elem_size ); CopyColumn( sptr0, src_step, buf0, complex_elem_size, len, complex_elem_size );
hal::dftRun(contextB, buf0, dbuf0); hal::dft1D(contextB, buf0, dbuf0);
if( i+1 < b ) if( i+1 < b )
CopyTo2Columns( dbuf0, dbuf1, dptr0, dst_step, len, complex_elem_size ); CopyTo2Columns( dbuf0, dbuf1, dptr0, dst_step, len, complex_elem_size );
@ -3223,9 +3223,9 @@ namespace hal {
//================== 1D ====================== //================== 1D ======================
void dftInit(DftContext & context, int len, int count, int depth, int flags, bool *needBuffer) void dftInit1D(DftContext & context, int len, int count, int depth, int flags, bool *needBuffer)
{ {
int res = cv_hal_dftInit(&context.impl, len, count, depth, flags, needBuffer); int res = cv_hal_dftInit1D(&context.impl, len, count, depth, flags, needBuffer);
if (res == CV_HAL_ERROR_OK) if (res == CV_HAL_ERROR_OK)
{ {
context.useReplacement = true; context.useReplacement = true;
@ -3242,11 +3242,11 @@ void dftInit(DftContext & context, int len, int count, int depth, int flags, boo
c->init(len, count, depth, flags, needBuffer); c->init(len, count, depth, flags, needBuffer);
} }
void dftRun(const DftContext & context, const void * src, void * dst) void dft1D(const DftContext & context, const void * src, void * dst)
{ {
if (context.useReplacement) if (context.useReplacement)
{ {
int res = cv_hal_dftRun(context.impl, src, dst); int res = cv_hal_dft1D(context.impl, src, dst);
if (res != CV_HAL_ERROR_OK) if (res != CV_HAL_ERROR_OK)
{ {
CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dftRun"); CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dftRun");
@ -3257,11 +3257,11 @@ void dftRun(const DftContext & context, const void * src, void * dst)
c->run(src, dst); c->run(src, dst);
} }
void dftFree(DftContext & context) void dftFree1D(DftContext & context)
{ {
if (context.useReplacement) if (context.useReplacement)
{ {
int res = cv_hal_dftFree(context.impl); int res = cv_hal_dftFree1D(context.impl);
if (res != CV_HAL_ERROR_OK) if (res != CV_HAL_ERROR_OK)
{ {
CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dftFree"); CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dftFree");
@ -3282,9 +3282,9 @@ void dftFree(DftContext & context)
//================== 2D ====================== //================== 2D ======================
void dftInit2D(DftContext & c, void dftInit2D(DftContext & c,
int _width, int _height, int _depth, int _src_channels, int _dst_channels, int _width, int _height, int _depth, int _src_channels, int _dst_channels,
int flags, int flags,
int _nonzero_rows) int _nonzero_rows)
{ {
int res = cv_hal_dftInit2D(&c.impl, _width, _height, _depth, _src_channels, _dst_channels, flags, _nonzero_rows); int res = cv_hal_dftInit2D(&c.impl, _width, _height, _depth, _src_channels, _dst_channels, flags, _nonzero_rows);
if (res == CV_HAL_ERROR_OK) if (res == CV_HAL_ERROR_OK)
@ -3304,12 +3304,12 @@ void dftInit2D(DftContext & c,
c.impl = (void*)d; c.impl = (void*)d;
} }
void dftRun2D(const DftContext & c, void dft2D(const DftContext & c,
const void * src, int src_step, void * dst, int dst_step) const void * src, int src_step, void * dst, int dst_step)
{ {
if (c.useReplacement) if (c.useReplacement)
{ {
int res = cv_hal_dftRun2D(c.impl, (uchar*)src, src_step, (uchar*)dst, dst_step); int res = cv_hal_dft2D(c.impl, (uchar*)src, src_step, (uchar*)dst, dst_step);
if (res != CV_HAL_ERROR_OK) if (res != CV_HAL_ERROR_OK)
{ {
CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dftRun2D"); CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dftRun2D");
@ -3384,7 +3384,7 @@ void cv::dft( InputArray _src0, OutputArray _dst, int flags, int nonzero_rows )
f |= CV_HAL_DFT_IS_INPLACE; f |= CV_HAL_DFT_IS_INPLACE;
hal::DftContext c; hal::DftContext c;
hal::dftInit2D(c, src.cols, src.rows, depth, src.channels(), dst.channels(), f, nonzero_rows); hal::dftInit2D(c, src.cols, src.rows, depth, src.channels(), dst.channels(), f, nonzero_rows);
hal::dftRun2D(c, src.data, (int)src.step, dst.data, (int)dst.step); hal::dft2D(c, src.data, (int)src.step, dst.data, (int)dst.step);
hal::dftFree2D(c); hal::dftFree2D(c);
} }
@ -4198,9 +4198,9 @@ public:
namespace hal { namespace hal {
void dctInit(DftContext & c, int width, int height, int depth, int flags) void dctInit2D(DftContext & c, int width, int height, int depth, int flags)
{ {
int res = cv_hal_dctInit(&c.impl, width, height, depth, flags); int res = cv_hal_dctInit2D(&c.impl, width, height, depth, flags);
if (res == CV_HAL_ERROR_OK) if (res == CV_HAL_ERROR_OK)
{ {
c.useReplacement = true; c.useReplacement = true;
@ -4212,11 +4212,11 @@ void dctInit(DftContext & c, int width, int height, int depth, int flags)
c.impl = impl; c.impl = impl;
} }
void dctRun(const DftContext & c, const void * src, int src_step, void * dst, int dst_step) void dct2D(const DftContext & c, const void * src, int src_step, void * dst, int dst_step)
{ {
if (c.useReplacement) if (c.useReplacement)
{ {
int res = cv_hal_dctRun(c.impl, src, src_step, dst, dst_step); int res = cv_hal_dct2D(c.impl, src, src_step, dst, dst_step);
if (res != CV_HAL_ERROR_OK) if (res != CV_HAL_ERROR_OK)
{ {
CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dctRun"); CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dctRun");
@ -4227,11 +4227,11 @@ void dctRun(const DftContext & c, const void * src, int src_step, void * dst, in
impl->run((uchar*)src, src_step, (uchar*)dst, dst_step); impl->run((uchar*)src, src_step, (uchar*)dst, dst_step);
} }
void dctFree(DftContext & c) void dctFree2D(DftContext & c)
{ {
if (c.useReplacement) if (c.useReplacement)
{ {
int res = cv_hal_dctFree(c.impl); int res = cv_hal_dctFree2D(c.impl);
if (res != CV_HAL_ERROR_OK) if (res != CV_HAL_ERROR_OK)
{ {
CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dctFree"); CV_Error( CV_StsNotImplemented, "Custom HAL implementation failed to call dctFree");
@ -4266,9 +4266,9 @@ void cv::dct( InputArray _src0, OutputArray _dst, int flags )
f |= CV_HAL_DFT_IS_CONTINUOUS; f |= CV_HAL_DFT_IS_CONTINUOUS;
hal::DftContext c; hal::DftContext c;
hal::dctInit(c, src.cols, src.rows, depth, f); hal::dctInit2D(c, src.cols, src.rows, depth, f);
hal::dctRun(c, (void*)src.data, (int)src.step, (void*)dst.data, (int)dst.step); hal::dct2D(c, (void*)src.data, (int)src.step, (void*)dst.data, (int)dst.step);
hal::dctFree(c); hal::dctFree2D(c);
} }

View File

@ -384,30 +384,30 @@ inline int hal_ni_merge64s(const int64 **src_data, int64 *dst_data, int len, int
# pragma warning( pop ) # pragma warning( pop )
#endif #endif
inline int hal_ni_dftInit(void**, int, int, int, int, bool*) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dftInit1D(void**, int, int, int, int, bool*) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_dftRun(const void*, const void*, void*) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dft1D(const void*, const void*, void*) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_dftFree(void*) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dftFree1D(void*) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
#define cv_hal_dftInit hal_ni_dftInit #define cv_hal_dftInit1D hal_ni_dftInit1D
#define cv_hal_dftRun hal_ni_dftRun #define cv_hal_dft1D hal_ni_dft1D
#define cv_hal_dftFree hal_ni_dftFree #define cv_hal_dftFree1D hal_ni_dftFree1D
inline int hal_ni_dftInit2D(void **, int, int, int, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dftInit2D(void **, int, int, int, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_dftRun2D(const void *, const void *, int, void *, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dft2D(const void *, const void *, int, void *, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_dftFree2D(void *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dftFree2D(void *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
#define cv_hal_dftInit2D hal_ni_dftInit2D #define cv_hal_dftInit2D hal_ni_dftInit2D
#define cv_hal_dftRun2D hal_ni_dftRun2D #define cv_hal_dft2D hal_ni_dft2D
#define cv_hal_dftFree2D hal_ni_dftFree2D #define cv_hal_dftFree2D hal_ni_dftFree2D
inline int hal_ni_dctInit(void **, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dctInit2D(void **, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_dctRun(const void *, const void *, int, void *, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dct2D(const void *, const void *, int, void *, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_dctFree(void *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_dctFree2D(void *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
#define cv_hal_dctInit hal_ni_dctInit #define cv_hal_dctInit2D hal_ni_dctInit2D
#define cv_hal_dctRun hal_ni_dctRun #define cv_hal_dct2D hal_ni_dct2D
#define cv_hal_dctFree hal_ni_dctFree #define cv_hal_dctFree2D hal_ni_dctFree2D
#include "custom_hal.hpp" #include "custom_hal.hpp"

View File

@ -726,7 +726,7 @@ void crossCorr( const Mat& img, const Mat& _templ, Mat& corr,
Mat part(dst, Range(0, templ.rows), Range(templ.cols, dst.cols)); Mat part(dst, Range(0, templ.rows), Range(templ.cols, dst.cols));
part = Scalar::all(0); part = Scalar::all(0);
} }
hal::dftRun2D(c, dst.data, (int)dst.step, dst.data, (int)dst.step); hal::dft2D(c, dst.data, (int)dst.step, dst.data, (int)dst.step);
} }
hal::dftFree2D(c); hal::dftFree2D(c);
@ -791,7 +791,7 @@ void crossCorr( const Mat& img, const Mat& _templ, Mat& corr,
x1-x0, dst.cols-dst1.cols-(x1-x0), borderType); x1-x0, dst.cols-dst1.cols-(x1-x0), borderType);
if (bsz.height == blocksize.height) if (bsz.height == blocksize.height)
hal::dftRun2D(cF, dftImg.data, (int)dftImg.step, dftImg.data, (int)dftImg.step); hal::dft2D(cF, dftImg.data, (int)dftImg.step, dftImg.data, (int)dftImg.step);
else else
dft( dftImg, dftImg, 0, dsz.height ); dft( dftImg, dftImg, 0, dsz.height );
@ -800,7 +800,7 @@ void crossCorr( const Mat& img, const Mat& _templ, Mat& corr,
mulSpectrums(dftImg, dftTempl1, dftImg, 0, true); mulSpectrums(dftImg, dftTempl1, dftImg, 0, true);
if (bsz.height == blocksize.height) if (bsz.height == blocksize.height)
hal::dftRun2D(cR, dftImg.data, (int)dftImg.step, dftImg.data, (int)dftImg.step); hal::dft2D(cR, dftImg.data, (int)dftImg.step, dftImg.data, (int)dftImg.step);
else else
dft( dftImg, dftImg, DFT_INVERSE + DFT_SCALE, bsz.height ); dft( dftImg, dftImg, DFT_INVERSE + DFT_SCALE, bsz.height );