PyramidLayerUpInitAlloc

Allocates memory and initializes a structure for creating an upper pyramid layer.

Syntax

Case 1: Operation on integer data

IppStatus ippiPyramidLayerUpInitAlloc_<mod>(IppiPyramidUpState_<mod>** ppState, IppiSize dstRoiSize, Ipp32f rate, Ipp16s* pKernel, int kerSize, int mode);

Supported values for mod:

8u_C1R

16u_C1R

8u_C3R

16u_C3R

Case 2: Operation on floating point data

IppStatus ippiPyramidLayerUpInitAlloc_<mod>(IppiPyramidUpState_<mod>** ppState, IppiSize dstRoiSize, Ipp32f rate, Ipp32f* pKernel, int kerSize, int mode);

Supported values for mod:

32f_C1R

32f_C3R

Parameters

pState
Pointer to the pointer to the pyramid layer structure.
dstRoiSize
Maximal size of the destination image ROI in pixels.
rate
Ratio between neighbouring levels (1 < rate ≤ 10).
pKernel
Pointer to the symmetric separable convolution kernel.
kerSize
Size of the convolution kernel, should be odd and greater than 2.
mode
Specifies the type of interpolation for image upsampling; should be set to IPPI_INTER_LINEAR to perform bilinear interpolation.

Description

The function ippiPyramidLayerUpInitAlloc is declared in the ippcv.h file. It operates with ROI (see Regions of Interest in Intel IPP).

This function allocates memory and initializes the structure pState to build an upper pyramid layer. This structure is used by the function ippiPyramidLayerUp and can be applied to process images with size not greater than dstRoiSize. Generally the specified kernel pKernel should be symmetric. However if it is not symmetric, the function builds the symmetric kernel using its first half, and returns the warning. For integer rates upsampling is performed by inserting zero rows and columns that are not multiples of the rate value. For non-integer rate bilinear interpolation is used to calculate kernel coefficients for pixels with non-integer coordinates. The symmetric separable kernel of odd size can be not Gaussian. If the sum of kernel elements is not equal to zero, then the kernel is normalized.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error if one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error condition if dstRoiSize has a field with zero or negative value.

ippStsBadArgErr

Indicates an error condition if one of the parameters rate, kerSize, mode has wrong value, or the sum of the kernel elements is not positive.

ippStsMemAllocErr

Memory allocation error.

ippStsSymKernelExpected

Indicates a warning if the specified kernel is not symmetric.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.