Intel IPP Integration Wrappers Developer Guide and Reference

ID 751823
Date 1/18/2023
Public
Document Table of Contents

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:

ippBorderConst

Values of all border pixels are set to a constant.

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderInMem

Border is obtained from the source image pixels in memory.

ippBorderMirror

Border pixels are mirrored from the source image boundary pixels.

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.