API Quick Reference Guide

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

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