Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6791 Discussions

Where are available codes of Intel® IPP UIC Sample Application – Picnic

Piotr_S_
Beginner
832 Views

Hello,

From where I can download free sample codes of 'Intel® IPP UIC Sample Application – Picnic' application ?? I'm intrested in usage of 'ippiInpaint_8u' function

On site:

https://software.intel.com/en-us/articles/unified-image-codec-sample-image-inpainting

should be link to free samples but there is nothig what I can download.

 

Thanks in advance for help

Piotr S.

0 Kudos
1 Reply
Ying_H_Intel
Employee
832 Views

Hi Piotr

The   sample is not available as they were legacy for years. You may get from intel registration center for the older version and sample.    https://registrationcenter.intel.com/

As for  the  'ippiInpaint_8u' , you may refer to ipp manual  https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation/  and there is sample ippiPyramidInitAlloc in the manual, you can modify them into a ippiInpait code.

Best Regards,

Ying

Example
void UsePyramids(Ipp32f *pSrc, IppiSize srcRoi, int srcStep, Ipp32f *pkernel, int kerSize) {
float rate = 2.0f;
IppiPyramid *gPyr; // pointer to Gaussian pyramid structure
IppiPyramid *lPyr; // pointer to Laplacian pyramid structure
// allocate pyramid structures
ippiPyramidInitAlloc (&gPyr, 1000, srcRoi, rate);
ippiPyramidInitAlloc (&lPyr, 1000, srcRoi, rate);
{
int i;
IppiPyramidDownState_32f_C1R **gState = (IppiPyramidDownState_32f_C1R**)&(gPyr->pState);
IppiPyramidUpState_32f_C1R **lState = (IppiPyramidUpState_32f_C1R**) &(lPyr->pState);
Ipp32f **gImage = (Ipp32f**)(gPyr->pImage);
Ipp32f **lImage = (Ipp32f**)(lPyr->pImage);
IppiSize *pRoi = gPyr->pRoi;
int *gStep = gPyr->pStep;
int *lStep = lPyr->pStep;
int level = gPyr->level;
Ipp32f *ptr;
int step;
// allocate structures to calculate pyramid layers
ippiPyramidLayerDownInitAlloc_32f_C1R (gState, srcRoi, rate, pkernel,
kerSize, IPPI_INTER_LINEAR);
ippiPyramidLayerUpInitAlloc_32f_C1R (lState, srcRoi, rate, pkernel,
kerSize, IPPI_INTER_LINEAR);
// build Gaussian pyramid with level+1 layers
gImage[0] = pSrc;
gStep[0] = srcStep;
for (i=1; i<=level;i++) {
gImage = ippiMalloc_32f_C1(pRoi.width,pRoi.height,gStep+i);
ippiPyramidLayerDown_32f_C1R (gImage[i-1], gStep[i-1], pRoi[i-1], gImage,
gStep, pRoi, *gState);
}
// build Laplacian pyramid with level layers
ptr = ippiMalloc_32f_C1(srcRoi.width,srcRoi.height,&step);
for (i=level-1; i>=0; i--) {
lImage = ippiMalloc_32f_C1(pRoi.width,pRoi.height,lStep+i);
ippiPyramidLayerUp_32f_C1R(gImage[i+1], gStep[i+1], pRoi[i+1], ptr, step, pRoi, *lState);
ippiSub_32f_C1R(ptr, step, gImage, gStep, lImage, lStep, pRoi);
}

0 Kudos
Reply