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

SqrIntegral and RectStdDev --> MultiThreading

willyketch
Beginner
206 Views

Hi,

I use ippiSqrIntegral_8u32f64f_C1R (... ) and ippiRectStdDev_32f_C1R(... ) in order to compute a map of local standard deviation on two processors thanks to IPP OPENMP. So, the results with ippiSqrIntegral_8u32s_C1R and ippiRectStdDev_32s_C1RSfs are very different !!! I don't know if it's due to type of data. In the first case we have Ipp64f* pSqr, and in the second case Ipp32s* pSqr. Please, can you help me to order data Ipp64f so that Ipp64f == Ipp32s, and having the same results?

Example of my code :

Ipp32f *pIntegralImg = ippiMalloc_32f_C1(i_width, i_height, &l_i_StepBytes_1);
Ipp32fc *pIntegralCarreImg = ippiMalloc_32fc_C1(i_width, i_height, &l_i_StepBytes_2);

Ipp64f *pIntegralCarreImg1 = (Ipp64f*)malloc(i_width*i_height*sizeof(Ipp64f));

IppiSize roiSize_2 = {i_width - Block.width , i_height - Block.height};
Ipp32f *pMAP_Local_StdMean = ippiMalloc_32f_C1(roiSize_2.width, roiSize_2.height, &l_i_StepBytes_3);

l_i_status = ippiSqrIntegral_8u32f64f_C1R(puc_img,
i_width,
pIntegralImg,
l_i_StepBytes_1,
pIntegralCarreImg1,
l_i_StepBytes_2,
roiSize,
0,
0);

l_i_status = ippiRectStdDev_32f_C1R (pIntegralImg,
l_i_StepBytes_1,
pIntegralCarreImg1,
l_i_StepBytes_2,
pMAP_Local_StdMean,
l_i_StepBytes_3,
roiSize_2,
Block);

Thanks you very much for your help.

Regardless,

willy

0 Kudos
1 Reply
Vladimir_Dudnik
Employee
206 Views
Hello,
could you please specify what IPP version and what platform do you use?
Regards,
Vladimir

0 Kudos
Reply