Community
cancel
Showing results for 
Search instead for 
Did you mean: 
ChristinaLabay
Beginner
188 Views

Replacement for ippiRotate_32f_C1R

We have recently updated our ippi version, and need to replace ippiRotate_32f_C1R. I have found this post, https://community.intel.com/t5/Intel-Integrated-Performance/How-to-replace-ipp-functions-ippiRotate-..., but the links listed are no longer valid. From my understanding, we will need to use a combination of ippiWarpAffine functions and the ippiRotateTranslate functions. I found a sample document for ippiRotate_8u_C3R (attached), and attempted to implement a solution from that, but we are getting different results than our previous version.

This is what we have written as our replacement:

    IppStatus status;
    IppiWarpSpec* pSpec = 0;
    double coeffs[2][3] = {0};
    int specSize = 0, initSize = 0, bufSize = 0;
    Ipp32f* pBuffer  = 0;
    IppiPoint dstOffset = {00};
    Ipp64f pBorderValue[1] = {0};

    status = ippiGetRotateTransform (angle, xShift, yShift, (double(*)[3])coeffs);
    if(status != ippStsNoErr)
      return status;
    status = ippiWarpAffineGetSize(srcSize, dstSize, ipp32f, coeffs, ippLinear, ippWarpForward, ippBorderRepl, &specSize, &initSize);
    if(status != ippStsNoErr)
      return status;
    pSpec = (IppiWarpSpec*)ippsMalloc_32f(specSize);
    status = ippiWarpAffineLinearInit(srcSize, dstSize, ipp32f, coeffs, ippWarpForward, 1, ippBorderRepl, pBorderValue, 0, pSpec);
    if(status != ippStsNoErr)
    {
      ippsFree(pSpec);
      return status;
    }

    status = ippiWarpGetBufferSize(pSpec, dstSize, &bufSize);
    if(status != ippStsNoErr)
      return status;
    pBuffer = ippsMalloc_32f(bufSize);

    status = ippiWarpAffineLinear_32f_C1R(pSrc, srcStep, pDst, dstStep, dstOffset, dstSize, pSpec, pBuffer);

    ippsFree(pSpec);
    ippsFree(pBuffer);
0 Kudos
3 Replies
ArpitaP_Intel
Moderator
166 Views

Hi ChristinaLabay,


Thanks for reaching out to us.


We are working on it internally. We will get back to you.


Regards,

Arpita


Abhinav_S_Intel
Moderator
143 Views

Hi Christina,

For ippiRotate_32f_C1R replacement, I am attaching a sample file Rotate.c to help you understand the usage of APIs.

We have a reference manual on how to substitute deprecated IPP functions:
https://software.intel.com/content/www/us/en/develop/documentation/ipp-dev-reference/top/volume-2-im...

Let us know about your results.

-

Abhinav

 

AbhishekD_Intel
Moderator
34 Views

Hi,


Hope the provided solution worked for you. We will no longer monitor this thread. If you require any additional assistance from Intel, please start a new thread. 

Any further interaction in this thread will be considered community only.


Warm Regards,

Abhishek


Reply