Visible to Intel only — GUID: GUID-F70E302D-F8DC-4F05-9B70-2FA2609003AA
iwiFilter
Syntax
typedef struct _IwiFilterParams
{
double divisor;
int offset;
IppHintAlgorithm algoMode;
} IwiFilterParams;
static IW_INLINE void iwiFilter_SetDefaultParams(
IwiFilterParams *pParams
)
IW_DECL(IppStatus) iwiFilter(
const IwiImage *pSrcImage,
IwiImage *pDstImage,
const IwiImage *pKernel,
const IwiFilterParams *pAuxParams,
IwiBorderType border,
const Ipp64f *pBorderVal,
const IwiTile *pTile
);
Parameters
pSrcImage |
Pointer to the source image. |
||||||||
pDstImage |
Pointer to the destination image. |
||||||||
pKernel |
Pointer to the filter kernel image. Kernel must be continuous, one-channel, and of 16s or 32f type. |
||||||||
pAuxParams |
Pointer to the auxiliary parameters structure. If NULL, default parameters are used. |
||||||||
border |
Extrapolation algorithm for out of image pixels processing. Supported values:
|
||||||||
pBorderVal |
Pointer to the array of constant values for ippBorderConst: one element for each channel. Can be NULL for any other border type. |
||||||||
pTile |
Pointer to the IwiTile structure for tiling. If NULL, the whole image is processed. |
Auxiliary Arguments
Argument | Default Value | Description |
---|---|---|
divisor |
0 |
Value by which the computed result is divided for 16s kernel type. If divisor is equal to zero and the sum of the kernel elements is not equal to zero, then the result is normalized by the sum of the kernel elements. Only integer values are supported. |
offset |
0 |
An offset value that is added to the final signed result before converting it to unsigned for 8u and 16u data types. |
roundMode |
IppRndNear |
Rounding mode. |
algoMode |
IppAlgHintNone |
Flag enabling intermediate conversions to extend data types and channels support. |
Description
This function performs filtering of an image with an arbitrary kernel.
This function supports the following features:
Feature | Support |
---|---|
Data types | 8u, 16u, 16s, 32f |
In-place mode | No |
64-bit sizes | No |
Internal threading | No |
Manual tiling | Yes |
IwsTile simple tiling | Yes |
IwsTile pipeline tiling | Yes |
Return Values
ippStsBorderErr |
The border value is illegal. |
ippStsDataTypeErr |
The dataType value is illegal. |
ippStsNumChannelsErr |
The value for channels is illegal. |
ippStsNotEvenStepErr |
The step value is not divisible by size of elements. |
ippStsNotSupportedModeErr |
The selected function mode is not supported. |
ippStsInplaceModeNotSupportedErr |
In-place operation is not supported: pSrc is equal to pDst. |
ippStsNullPtrErr |
At least one of the pointers (except pTile) is NULL. |
ippStsNoErr |
No errors. |