Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Resize on planar data with IPP9.0

Liu__Ning
Beginner
131 Views

Hello All,

I find that ippiResize_8u_P3R is not there any more, which is currently used in our project. Therefore, I try to find an replacement, but from the website of Intel, I could only find the example to use ippiResizeLanczos_8u_C3R.

From the developer reference of IPP9.0, I found that the substitution of P3R (e.g. ippiResizeSqrPixel_16s_P3R)   is Use C1R flavor for each plane, can I use such method for replace the ippiResize_8u_P3R? Is there any example for showing how to  Use C1R flavor for each plane?

Thank you in advance!

Ning

0 Kudos
1 Reply
Liu__Ning
Beginner
131 Views

Or can I first use the following approach?

ippiCopy_8u_P3C3R

ippiResizeLinear_8u_C3R

ippiCopy_8u_C3P3R

Code is here,

srcStepTmp = src->widthStep * 3;
		pSrcTmp = iplMalloc(srcStepTmp * srcRoi.height);
		dstStepTmp = dst->widthStep * 3;
		pDstTmp = iplMalloc(dstStepTmp * dstRoiSize.height);
         for( i=0; i<3; i++ ) {
            pSrcPlane = pSrc;
            pDstPlane = pDst;
            pSrc += planeSize1;
            pDst += planeSize2;
         }
		 ippiCopy_8u_P3C3R(pSrcPlane, src->widthStep, pSrcTmp, srcStepTmp, roi);
		
			 ippiResizeGetSize_8u(srcSize, dstRoiSize, ippLinear, 0, &specSize, &initSize);
			 pInitBuf = ippsMalloc_8u(initSize);
			 pSpec = (IppiResizeSpec_32f*)ippsMalloc_8u(specSize);
			 ippiResizeLinearInit_8u(srcSize, dstRoiSize, pSpec);
			 ippiResizeGetBufferSize_8u(pSpec, dstRoiSize, dst->nChannels, &bufSize);
			 pBuffer = ippsMalloc_8u(bufSize);
			 ippiResizeLinear_8u_C3R(pSrcTmp, srcStepTmp, pDstTmp, dstStepTmp, dstOffset, dstRoiSize, ippBorderRepl, borderValue, pSpec, pBuffer);
			
		 ippiCopy_8u_C3P3R(pDstTmp, dstStepTmp, pDstPlane, dst->widthStep, dstRoiSize);

		 iplFree(pDstPlane);
		 iplFree(pSrcPlane);

 

Are there anything wrongly implemented?

 

Reply