namespace cv::hal
namespace hal {
// structs
struct DCT2D;
struct DFT1D;
struct DFT2D;
// global functions
void
absdiff16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void*
);
void
absdiff16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void*
);
void
absdiff32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void*
);
void
absdiff32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void*
);
void
absdiff64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void*
);
void
absdiff8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void*
);
void
absdiff8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
void
add16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void*
);
void
add16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void*
);
void
add32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void*
);
void
add32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void*
);
void
add64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void*
);
void
add8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void*
);
void
add8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
void
addWeighted16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void* scalars
);
void
addWeighted16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void* scalars
);
void
addWeighted32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void* scalars
);
void
addWeighted32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void* scalars
);
void
addWeighted64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void* scalars
);
void
addWeighted8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void* scalars
);
void
addWeighted8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _scalars
);
void
and8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
bool
Cholesky32f(
float* A,
size_t astep,
int m,
float* b,
size_t bstep,
int n
);
bool
Cholesky64f(
double* A,
size_t astep,
int m,
double* b,
size_t bstep,
int n
);
void
cmp16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cmp16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cmp32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cmp32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cmp64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cmp8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cmp8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* _cmpop
);
void
cvtBGR5x5toBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int dcn,
bool swapBlue,
int greenBits
);
void
cvtBGR5x5toGray(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int greenBits
);
void
cvtBGRtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int scn,
int dcn,
bool swapBlue
);
void
cvtBGRtoBGR5x5(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int scn,
bool swapBlue,
int greenBits
);
void
cvtBGRtoGray(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int scn,
bool swapBlue
);
void
cvtBGRtoHSV(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int scn,
bool swapBlue,
bool isFullRange,
bool isHSV
);
void
cvtBGRtoLab(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int scn,
bool swapBlue,
bool isLab,
bool srgb
);
void
cvtBGRtoThreePlaneYUV(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int scn,
bool swapBlue,
int uIdx
);
void
cvtBGRtoXYZ(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int scn,
bool swapBlue
);
void
cvtBGRtoYUV(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int scn,
bool swapBlue,
bool isCbCr
);
void
cvtGraytoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int dcn
);
void
cvtGraytoBGR5x5(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int greenBits
);
void
cvtHSVtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int dcn,
bool swapBlue,
bool isFullRange,
bool isHSV
);
void
cvtLabtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int dcn,
bool swapBlue,
bool isLab,
bool srgb
);
void
cvtMultipliedRGBAtoRGBA(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height
);
void
cvtOnePlaneYUVtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int dcn,
bool swapBlue,
int uIdx,
int ycn
);
void
cvtRGBAtoMultipliedRGBA(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height
);
void
cvtThreePlaneYUVtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int dst_width,
int dst_height,
int dcn,
bool swapBlue,
int uIdx
);
void
cvtTwoPlaneYUVtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int dst_width,
int dst_height,
int dcn,
bool swapBlue,
int uIdx
);
void
cvtXYZtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int dcn,
bool swapBlue
);
void
cvtYUVtoBGR(
const uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int depth,
int dcn,
bool swapBlue,
bool isCbCr
);
void
div16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void* scale
);
void
div16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void* scale
);
void
div32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void* scale
);
void
div32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void* scale
);
void
div64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void* scale
);
void
div8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void* scale
);
void
div8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* scale
);
void
exp32f(
const float* src,
float* dst,
int n
);
void
exp64f(
const double* src,
double* dst,
int n
);
void
fastAtan32f(
const float* y,
const float* x,
float* dst,
int n,
bool angleInDegrees
);
void
fastAtan64f(
const double* y,
const double* x,
double* dst,
int n,
bool angleInDegrees
);
void
filter2D(
int stype,
int dtype,
int kernel_type,
uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int full_width,
int full_height,
int offset_x,
int offset_y,
uchar* kernel_data,
size_t kernel_step,
int kernel_width,
int kernel_height,
int anchor_x,
int anchor_y,
double delta,
int borderType,
bool isSubmatrix
);
void
gemm32f(
const float* src1,
size_t src1_step,
const float* src2,
size_t src2_step,
float alpha,
const float* src3,
size_t src3_step,
float beta,
float* dst,
size_t dst_step,
int m_a,
int n_a,
int n_d,
int flags
);
void
gemm32fc(
const float* src1,
size_t src1_step,
const float* src2,
size_t src2_step,
float alpha,
const float* src3,
size_t src3_step,
float beta,
float* dst,
size_t dst_step,
int m_a,
int n_a,
int n_d,
int flags
);
void
gemm64f(
const double* src1,
size_t src1_step,
const double* src2,
size_t src2_step,
double alpha,
const double* src3,
size_t src3_step,
double beta,
double* dst,
size_t dst_step,
int m_a,
int n_a,
int n_d,
int flags
);
void
gemm64fc(
const double* src1,
size_t src1_step,
const double* src2,
size_t src2_step,
double alpha,
const double* src3,
size_t src3_step,
double beta,
double* dst,
size_t dst_step,
int m_a,
int n_a,
int n_d,
int flags
);
void
integral(
int depth,
int sdepth,
int sqdepth,
const uchar* src,
size_t srcstep,
uchar* sum,
size_t sumstep,
uchar* sqsum,
size_t sqsumstep,
uchar* tilted,
size_t tstep,
int width,
int height,
int cn
);
void
invSqrt32f(
const float* src,
float* dst,
int len
);
void
invSqrt64f(
const double* src,
double* dst,
int len
);
void
log32f(
const float* src,
float* dst,
int n
);
void
log64f(
const double* src,
double* dst,
int n
);
int
LU32f(
float* A,
size_t astep,
int m,
float* b,
size_t bstep,
int n
);
int
LU64f(
double* A,
size_t astep,
int m,
double* b,
size_t bstep,
int n
);
void
magnitude32f(
const float* x,
const float* y,
float* dst,
int n
);
void
magnitude64f(
const double* x,
const double* y,
double* dst,
int n
);
void
max16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void*
);
void
max16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void*
);
void
max32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void*
);
void
max32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void*
);
void
max64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void*
);
void
max8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void*
);
void
max8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
void
merge16u(
const ushort** src,
ushort* dst,
int len,
int cn
);
void
merge32s(
const int** src,
int* dst,
int len,
int cn
);
void
merge64s(
const int64** src,
int64* dst,
int len,
int cn
);
void
merge8u(
const uchar** src,
uchar* dst,
int len,
int cn
);
void
min16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void*
);
void
min16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void*
);
void
min32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void*
);
void
min32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void*
);
void
min64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void*
);
void
min8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void*
);
void
min8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
void
morph(
int op,
int src_type,
int dst_type,
uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int roi_width,
int roi_height,
int roi_x,
int roi_y,
int roi_width2,
int roi_height2,
int roi_x2,
int roi_y2,
int kernel_type,
uchar* kernel_data,
size_t kernel_step,
int kernel_width,
int kernel_height,
int anchor_x,
int anchor_y,
int borderType,
const double borderValue [4],
int iterations,
bool isSubmatrix
);
void
mul16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void* scale
);
void
mul16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void* scale
);
void
mul32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void* scale
);
void
mul32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void* scale
);
void
mul64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void* scale
);
void
mul8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void* scale
);
void
mul8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* scale
);
int
normHamming(
const uchar* a,
int n
);
int
normHamming(
const uchar* a,
const uchar* b,
int n
);
int
normHamming(
const uchar* a,
int n,
int cellSize
);
int
normHamming(
const uchar* a,
const uchar* b,
int n,
int cellSize
);
int
normL1_(
const uchar* a,
const uchar* b,
int n
);
float
normL1_(
const float* a,
const float* b,
int n
);
float
normL2Sqr_(
const float* a,
const float* b,
int n
);
void
not8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
void
or8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
int
QR32f(
float* A,
size_t astep,
int m,
int n,
int k,
float* b,
size_t bstep,
float* hFactors
);
int
QR64f(
double* A,
size_t astep,
int m,
int n,
int k,
double* b,
size_t bstep,
double* hFactors
);
void
recip16s(
const short*,
size_t,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void* scale
);
void
recip16u(
const ushort*,
size_t,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void* scale
);
void
recip32f(
const float*,
size_t,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void* scale
);
void
recip32s(
const int*,
size_t,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void* scale
);
void
recip64f(
const double*,
size_t,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void* scale
);
void
recip8s(
const schar*,
size_t,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void* scale
);
void
recip8u(
const uchar*,
size_t,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void* scale
);
void
resize(
int src_type,
const uchar* src_data,
size_t src_step,
int src_width,
int src_height,
uchar* dst_data,
size_t dst_step,
int dst_width,
int dst_height,
double inv_scale_x,
double inv_scale_y,
int interpolation
);
void
sepFilter2D(
int stype,
int dtype,
int ktype,
uchar* src_data,
size_t src_step,
uchar* dst_data,
size_t dst_step,
int width,
int height,
int full_width,
int full_height,
int offset_x,
int offset_y,
uchar* kernelx_data,
int kernelx_len,
uchar* kernely_data,
int kernely_len,
int anchor_x,
int anchor_y,
double delta,
int borderType
);
void
split16u(
const ushort* src,
ushort** dst,
int len,
int cn
);
void
split32s(
const int* src,
int** dst,
int len,
int cn
);
void
split64s(
const int64* src,
int64** dst,
int len,
int cn
);
void
split8u(
const uchar* src,
uchar** dst,
int len,
int cn
);
void
sqrt32f(
const float* src,
float* dst,
int len
);
void
sqrt64f(
const double* src,
double* dst,
int len
);
void
sub16s(
const short* src1,
size_t step1,
const short* src2,
size_t step2,
short* dst,
size_t step,
int width,
int height,
void*
);
void
sub16u(
const ushort* src1,
size_t step1,
const ushort* src2,
size_t step2,
ushort* dst,
size_t step,
int width,
int height,
void*
);
void
sub32f(
const float* src1,
size_t step1,
const float* src2,
size_t step2,
float* dst,
size_t step,
int width,
int height,
void*
);
void
sub32s(
const int* src1,
size_t step1,
const int* src2,
size_t step2,
int* dst,
size_t step,
int width,
int height,
void*
);
void
sub64f(
const double* src1,
size_t step1,
const double* src2,
size_t step2,
double* dst,
size_t step,
int width,
int height,
void*
);
void
sub8s(
const schar* src1,
size_t step1,
const schar* src2,
size_t step2,
schar* dst,
size_t step,
int width,
int height,
void*
);
void
sub8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
void
SVD32f(
float* At,
size_t astep,
float* W,
float* U,
size_t ustep,
float* Vt,
size_t vstep,
int m,
int n,
int flags
);
void
SVD64f(
double* At,
size_t astep,
double* W,
double* U,
size_t ustep,
double* Vt,
size_t vstep,
int m,
int n,
int flags
);
void
warpAffine(
int src_type,
const uchar* src_data,
size_t src_step,
int src_width,
int src_height,
uchar* dst_data,
size_t dst_step,
int dst_width,
int dst_height,
const double M [6],
int interpolation,
int borderType,
const double borderValue [4]
);
void
warpPerspectve(
int src_type,
const uchar* src_data,
size_t src_step,
int src_width,
int src_height,
uchar* dst_data,
size_t dst_step,
int dst_width,
int dst_height,
const double M [9],
int interpolation,
int borderType,
const double borderValue [4]
);
void
xor8u(
const uchar* src1,
size_t step1,
const uchar* src2,
size_t step2,
uchar* dst,
size_t step,
int width,
int height,
void*
);
} // namespace hal