Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

SumWindow

Sums pixel values in a rectangular area applied to an image.

Syntax

IppStatus ippiSumWindow_8u32s_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_8u32s_C3R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_8u32s_C4R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_8u32s_AC4R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_C1R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_C3R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_C4R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_AC4R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_C1R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_C3R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_C4R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_AC4R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_C1R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_C3R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_C4R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_AC4R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
Include Files
ippi.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
Parameters
pSrc
Pointer to the source image ROI.
srcStep
Distance in bytes between the starting points of consecutive lines in the source image.
pDst
Pointer to the destination image ROI.
dstStep
Distance in bytes between the starting points of consecutive lines in the destination image.
roiSize
Size of the destination ROI in pixels.
maskSize
Size of the mask in pixels.
BorderType
Type of border. Possible values are:
ippBorderConst
Values of all border pixels are set to constant.
ippBoderRepl
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.
Mixed borders are also supported. They can be obtained by the bitwise operation OR between any of the
ippBorderRepl
,
ippBorderConst
,
ippBorderMirror
, and the
ippBorderInMemTop
,
ippBorderInMemBottom
,
ippBorderInMemLeft
,
ippBorderInMemRight
values.
borderValue
Constant value to assign to border pixels. This parameter is applicable only to the
ippBorderConst
border type.
pBuffer
Pointer to the work buffer.
Description
Before using this function, you need to compute the size of the work buffer
pBuffer
using the
SumWindowGetBufferSize
function.
This function operates with ROI (see Regions of Interest in Intel IPP).
This function sets each pixel in the destination image ROI
pDst
to the sum of all the source image pixels in the rectangular neighborhood of size
maskSize
with the anchor cell at the corresponding pixel in the source image ROI
pSrc
. To ensure valid operation while processing the image boundary pixels, the application must correctly define additional border pixels (see Borders in Neighborhood Operations).
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or a warning.
ippStsNullPtrErr
Indicates an error if
pSrc
or
pDst
is
NULL
.
ippStsSizeErr
Indicates an error if
roiSize
has a field with a zero or negative value.
ippStsMaskSizeErr
Indicates an error if
maskSize
has a field with a zero or negative value.
ippStsBorderErr
Indicates an error if
BorderType
has an illegal value.

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