Hi,
I need to get ResizeShift() method from IPP 6.1 replaced by IPP 9.0 equivalent method.
Output for IPP 9.0 using the following code does not match with IPP 6.1.
Input Parameters used:
srcRoi = {8, 8};
dstRoiSize = {448,448};
dstStep = 512 * sizeof(float); //original size of image is 512x512
srcStep = srcRoi.width * sizeof(float);
xFr = yFr = 0.0136986; //
xShift = yShift = 0.5;
IPP 6.1 call to ResizeShift:
ippiResizeShift_32f_C1R(src, srcSize, srcStep, srcRoi, dstStart, dstStep, dstRoiSize, xFr, yFr, xShift, yShift, IPPI_INTER_CUBIC);
IPP 9.0 call to Resize method:
int pSpecSize = 0, pInitBufSize = 0;
ippiResizeGetSize_32f(srcSize, dstRoiSize, ippCubic, 0/*antialiasing*/, &pSpecSize, &pInitBufSize);
IppiResizeSpec_32f* pSpec = (IppiResizeSpec_32f*)ippMalloc(pSpecSize);
Ipp8u* pBuffer = (Ipp8u*)ippMalloc(pInitBufSize);
ippiResizeCubicInit_32f(srcSize, dstRoiSize, 0.0f/*valueB*/, 0.5f/*valueC*/, pSpec, pBuffer);
ippiResizeGetBufferSize_32f(pSpec, dstRoiSize/*dstSize*/, 1/*numChannels*/, &pInitBufSize);
ippFree(pBuffer);
pBuffer = (Ipp8u*)ippMalloc(pInitBufSize);
ippiResizeCubic_32f_C1R(src, srcStep, dstStart, dstStep, { xShift, yShift }/*Offset*/, dstRoiSize/* dstSize*/, ippBorderInMem, 0/*borderValue*/, pSpec, pBuffer);
ippFree(pBuffer);
ippFree(pSpec);
Am i missing any preprocessing step required for IPP 9.0 ?
Files attached include :
ResizeCubicIn.png -> input image to IPP 6.1 & IPP 9.0 resize method calls.
ResizeCubicOut_IPP_90.png -> output image for IPP 9.0 resize() method
ResizeShiftOut_IPP61.png -> output image for IPP 6.1 resizeShift() mehtod.