Intel IPP Integration Wrappers Developer Guide and Reference

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

iwiFilter

Syntax

class IwiFilterParams: public ::IwiFilterParams
{
public:
    IW_BASE_PARAMS_CONSTRUCTORS(IwiFilterParams, iwiFilter_SetDefaultParams)
    IwiFilterParams(double _divisor = 0, int _offset = 0, IppHintAlgorithm _algoMode = ippAlgHintNone, IppRoundMode _roundMode = ippRndNear);
};
IW_DECL_CPP(IppStatus) iwiFilter(
    const IwiImage         &srcImage,                          
    IwiImage               &dstImage,                          
    const IwiImage         &kernel,                            
    const IwiFilterParams  &auxParams   = IwiFilterParams(),    
    const IwiBorderType    &border      = ippBorderRepl,       
    const IwiTile          &tile        = IwiTile()            
)

Parameters

srcImage

Reference to the source image.

dstImage

Reference to the destination image.

kernel

Reference to the filter kernel image. Kernel must be continuous, one-channel, and of 16s or 32f type.

auxParams

Reference to the auxiliary parameters structure.

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.

tile

Reference to the IwiTile structure for tiling. By default, no tiling is applied.

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, 32s
In-place mode No
64-bit sizes No
Internal threading No
Manual tiling Yes
IwsTile simple tiling Yes
IwsTile pipeline tiling Yes

Return Values

ippStsNoErr

No errors.

Exception 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 the size of elements.

ippStsNotSupportedModeErr

The selected function mode is not supported.

ippStsInplaceModeNotSupportedErr

In-place operation is not supported: srcImage is equal to dstImage.

ippStsNullPtrErr

At least one of the references (except tile) is NULL.