Deprecation of ippiMorphReconstructGetBufferSize

Deprecation of ippiMorphReconstructGetBufferSize

I am in the process of upgrading an existing application from IPP 7.0 to IPP 8.1. I make use of the routine ippiMorphReconstructDilate in my application. My question is, when I attempt to compile my application, I get a compilation warning that the symbol "ippiMorphReconstructGetBufferSize_" has been deprecated as of IPP 7.1.

ippreconstruct.cpp:37:5: error: ‘IppStatus ippiMorphReconstructGetBufferSize_8u_C1(IppiSize, int*)’ is deprecated (declared at ../../../../../../toolbox/shared/ipp/include/glnxa64/ippcv.h:1545): is deprecated. This function is obsolete and will be removed in one of the future IPP releases. Use the following link for details: [-Werror=deprecated-declarations]

If you look at the IPP 8.1 documentation:

the example for ippiMorphReconstructDilate still makes use of ippiMorphReconstructGetBufferSize to determine the size of the buffer that is still a required input argument of the  ippiMorphReconstructDilate interface.

My questions are:

My question(s) are:

1) Why is ippiMorphReconstructGetBufferSize deprecated, and was

MorphReconstructDilate also intended to be put on deprecation?

2) If MorphReconstructDilate is not supposed to be deprecated, how am I supposed to allocate the argument "pBuf", the second to last input argument:

IPPAPI(IppStatus, ippiMorphReconstructDilate_8u_C1IR, (const Ipp8u* pSrc,int srcStep,Ipp8u* pSrcDst, int srcDstStep, IppiSize roiSize, Ipp8u *pBuf,IppiNorm norm))

3) Is there another routine that I'm supposed to use to allocate the buffer required by ippiMorphReconstructDilate? Is there an example where I can see this being done?



5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Alex,

please use IPPAPI(IppStatus, ippiMorphReconstructGetBufferSize,(IppiSize roiSize, IppDataType dataType, int numChannels, int *pBufSize))
function that replaces the deprecated ones for different data types.

before these functions removal the example in the manual will be updated accordingly.

Regards, Igor


Thank you very much for your help. I'm still confused though. When I look at the headers that come with IPP 8.1, the API you are describing does not appear to be defined:

grep ippiMorphReconstructGetBufferSize *.h

ippcv.h://  Name: ippiMorphReconstructGetBufferSize_8u_C1,    ippiMorphReconstructGetBufferSize_16u_C1
ippcv.h://        ippiMorphReconstructGetBufferSize_32f_C1,   ippiMorphReconstructGetBufferSize_64f_C1
ippcv.h:IPPAPI(IppStatus, ippiMorphReconstructGetBufferSize_8u_C1, (IppiSize roiSize, int *pSize))
ippcv.h:IPPAPI(IppStatus, ippiMorphReconstructGetBufferSize_16u_C1,(IppiSize roiSize, int *pSize))
ippcv.h:IPPAPI(IppStatus, ippiMorphReconstructGetBufferSize_32f_C1,(IppiSize roiSize, int *pSize))
ippcv.h:IPPAPI(IppStatus, ippiMorphReconstructGetBufferSize_64f_C1,(IppiSize roiSize, int *pSize))

Am I missing something, or did Intel deprecate the type specific APIs (e.g. ippiMorphReconstructGetBufferSize_8u_C1) without providing the replacement API  IPPAPI(IppStatus, ippiMorphReconstructGetBufferSize,(IppiSize roiSize, IppDataType dataType, int numChannels, int *pBufSize)) that you recommended?


Sorry Alex,

I took a look into headers from trunk - yes, you are right, this function is not available in the public release yet, it will be available in the next major IPP release (guess it will be 8.2 somewhere in the Autumn). So please use deprecated one for a while - the substitution will be available soon.

regards, Igor

Thanks Igor, I appreciate the help.

Leave a Comment

Please sign in to add a comment. Not a member? Join today