FilterRowBorderPipeline, FilterRowBorderPipeline_Low
Apply the filter with border to image rows.
Syntax
Case 1: Operation on one-channel integer data
IppStatus ippiFilterRowBorderPipeline_<mod>(const Ipp<srcDatatype>*
pSrc
, int
srcStep
, Ipp<dstDatatype>**
ppDst
, IppiSize
roiSize
, const Ipp<dstDatatype>*
pKernel
, int
kernelSize
, int
xAnchor
, IppiBorderType
borderType
, Ipp<srcDatatype>
borderValue
, int
divisor
, Ipp8u*
pBuffer
);
Supported values for
mod
:8u16s_C1R | 16s_C1R | 16u_C1R |
IppStatus ippiFilterRowBorderPipeline_Low_16s_C1R(const Ipp16s*
pSrc
, int
srcStep
, Ipp16s**
ppDst
, IppiSize
roiSize
, const Ipp16s*
pKernel
, int
kernelSize
, int
xAnchor
, IppiBorderType
borderType
, Ipp16s
borderValue
, int
divisor
, Ipp8u*
pBuffer
);
Case 2: Operation on one-channel floating point data
IppStatus ippiFilterRowBorderPipeline_32f_C1R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f**
ppDst
, IppiSize
roiSize
, const Ipp32f*
pKernel
, int
kernelSize
, int
xAnchor
, IppiBorderType
borderType
, Ipp32f
borderValue
, Ipp8u*
pBuffer
);
Case 3: Operation on three-channel integer data
IppStatus ippiFilterRowBorderPipeline_<mod>(const Ipp<srcDatatype>*
pSrc
, int
srcStep
, Ipp<dstDatatype>**
ppDst
, IppiSize
roiSize
, const Ipp<dstDatatype>*
pKernel
, int
kernelSize
, int
xAnchor
, IppiBorderType
borderType
, Ipp<srcDatatype>
borderValue
[3], int
divisor
, Ipp8u*
pBuffer
);
Supported values for
mod
:8u16s_C3R | 16s_C3R | 16u_C3R |
IppStatus ippiFilterRowBorderPipeline_Low_16s_C3R(const Ipp16s*
pSrc
, int
srcStep
, Ipp16s**
ppDst
, IppiSize
roiSize
, const Ipp16s*
pKernel
, int
kernelSize
, int
xAnchor
, IppiBorderType
borderType
, Ipp16s
borderValue
[3], int
divisor
, Ipp8u*
pBuffer
);
Case 4: Operation on three-channel floating point data
IppStatus ippiFilterRowBorderPipeline_32f_C3R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f**
ppDst
, IppiSize
roiSize
, const Ipp32f*
pKernel
, int
kernelSize
, int
xAnchor
, IppiBorderType
borderType
, Ipp32f
borderValue
[3], Ipp8u*
pBuffer
);
Include Files
ippcv.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
,
ippi.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
,
ippi.lib
Parameters
- pSrc
- Pointer to the source image ROI.
- srcStep
- Distance in bytes between starts of consecutive lines in the source image.
- ppDst
- Double pointer to the destination inage ROI.
- roiSize
- Size of the source and destination ROI in pixels.
- pKernel
- Pointer to the row kernel values.
- kernelSize
- Size of the kernel in pixels.
- xAnchor
- Anchor value specifying the kernel row alignment with respect to the positionof the input pixel.
- borderType
- Type of border (see Borders in Neighborhood Operations); following values are possible:
- ippBorderZero
- Values of all border pixel are set to zero.
- ippBorderConst
- Values of all border pixels are set to constant.
- ippBorderRepl
- Replicated border is used.
- ippBorderWrap
- Wrapped border is used
- ippBorderMirror
- Mirrored border is used
- ippBorderMirrorR
- Mirrored border with replication is used
- borderValue
- The constant value (constant vector in case of three-channel data) to assign to the pixels in the constant border (not applicable for other border's type).
- divisor
- Value by which the computed result is divided (for operations on integer data only).
- pBuffer
- Pointer to the working buffer.
Description
These functions operate with ROI (see Regions Regions of Interest in Intel IPP ).
The function
ippiFilterRowBorderPipeline_Low
performs calculation exclusively with the 16s-data, and the input data must be in the range ensuring that the overflow does not occur during calculation and the result can be represented by a 32-bit integer number.These functions apply the horizontal row filter of the separable convolution kernel to the source image
pSrc
. The filter coefficients are placed in the reversed order. For integer data:

and for floating point data:

Here are set in accordance with the specified parameters
j = 0, ...
, roiSize.width
- 1i = 0,...
. The values of pixels of the source image that lies outside of the image ROI (that is, if for pixel roiSize.height
- 1pSrc
[i,l] l ∉ [0, roiSize.width
-1]borderType
and borderValue
.This function can be used to organize the separable convolution as a step of the image processing pipeline.
The functions requires the external buffer
pBuffer
, its size should be previously computed by the functions ippiFilterRowBorderPipelineGetBufferSize
and ippiFilterRowBorderPipelineGetBufferSize_Low
respectivelyReturn Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error.
- ippStsNullPtrErr
- Indicates an error condition if one of the specified pointers isNULL.
- ippStsSizeErr
- Indicates an error condition ifroiSizehas a field with a zero or negative value.
- ippStsStepErr
- Indicates an error condition ifsrcStepordstStepis less thanroiSize.width* <pixelSize>
- ippStsNotEvenStepErr
- Indicates an error condition if one of the step values is not divisible by 4 for floating-point images, or by 2 for short-integer images.
- ippStsAnchorErr
- Indicates an error condition ifxAnchorhas a wrong value.
- ippStsBorderErr
- Indicates an error condition ifborderTypehas a wrong value.
- ippStsBadArgErr
- Indicates an error condition ifdivisoris equal to 0.