API Quick Reference Guide

  • 2020
  • 09/30/2019
  • Public Content
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
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804