Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

PyramidLayerUpInit

Initializes the structure for creating an upper pyramid layer.

Syntax

Case 1: Operating on integer data

IppStatus ippiPyramidLayerUpInit_8u_C1R(IppiPyramidUpState_8u_C1R** ppState, IppiSize dstRoi, Ipp32f rate, Ipp16s* pKernel, int kerSize, int mode, Ipp8u* pStateBuf);

IppStatus ippiPyramidLayerUpInit_8u_C3R(IppiPyramidUpState_8u_C3R** ppState, IppiSize dstRoi, Ipp32f rate, Ipp16s* pKernel, int kerSize, int mode, Ipp8u* pStateBuf);

IppStatus ippiPyramidLayerUpInit_16u_C1R(IppiPyramidUpState_16u_C1R** ppState, IppiSize dstRoi, Ipp32f rate, Ipp16s* pKernel, int kerSize, int mode, Ipp8u* pStateBuf);

IppStatus ippiPyramidLayerUpInit_16u_C3R(IppiPyramidUpState_16u_C3R** ppState, IppiSize dstRoi, Ipp32f rate, Ipp16s* pKernel, int kerSize, int mode, Ipp8u* pStateBuf);

Case 2: Operating on floating point data

IppStatus ippiPyramidLayerUpInit_32f_C1R(IppiPyramidUpState_32f_C1R** ppState, IppiSize dstRoi, Ipp32f rate, Ipp32f* pKernel, int kerSize, int mode, Ipp8u* pStateBuf, Ipp8u* pBuffer);

IppStatus ippiPyramidLayerUpInit_32f_C3R(IppiPyramidDownState_32f_C3R** ppState, IppiSize dstRoi, Ipp32f rate, Ipp32f* pKernel, int kerSize, int mode, Ipp8u* pStateBuf, Ipp8u* pBuffer);

Platform-aware functions

IppStatus ippiPyramidLayerUpInit_32f_C1R_L(IppiPyramidUpState_32f_C1R_L** ppState, IppiSizeL dstRoi, Ipp32f rate, const Ipp32f* pKernel, int kerSize, int mode, Ipp8u* StateBuf);

Include Files

ippcv.h

Flavors with the _L suffix: ippcv_l.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h, ippi.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib

Parameters

ppState
Pointer to the pointer to the initialized pyramid state structure.
dstRoi
Size of the destination image ROI.
rate
Ratio between neighbouring levels (1 < rate 10).
pKernel
Separable symmetric kernel of odd length.
kerSize
Size of the kernel.
mode
Interpolation method, possible value is:

IPPI_INTER_LINEAR

Bilinear interpolation.
pStateBuf
Pointer to the buffer to initialize the pyramid layer state structure.

Description

This function operates with ROI (see Regions of Interest in Intel IPP).

This function allocates memory and initializes the pState structure to build an upper pyramid layer. This structure is used by the ippiPyramidLayerUp function and can be applied to process images with size not greater than dstRoi.

The specified kernel pKernel should be symmetric. If it is not symmetric, the function builds the symmetric kernel using the first part of the specified kernel and returns a warning. The symmetric separable kernel can be not Gaussian. If the sum of kernel elements is not equal to zero, the kernel is normalized.

For integer rates, the function performs upsampling by inserting zero rows and columns that are not multiples of the rate value. For non-integer rates, the function uses bilinear interpolation (see Linear Interpolation for more information) to calculate kernel coefficients for pixels with non-integer coordinates.

For an example on how to use this function, refer to the example provided with the ippiPyramidLayerDown function description.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one of the pointers is NULL.

ippStsSizeErr

Indicates an error when the width or height of images is less than, or equal to zero.

ippStsBadArgErr

Indicates an error when kerSize is even, or equal to or less than 0; or when rate is out of the range.

See Also