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

ippiConvValid dont work

sadan_job
Beginner
344 Views

i am using fuction ippiConvValid in the next code

Conv(HGLOBAL& phDIBS, HGLOBAL& phDIBD)

{// where phDIBS is 32bpp bitmap

lpbi = (LPBITMAPINFOHEADER)phDIBS;

sizeS.height = lpbi->biHeight;

sizeS.width = lpbi->biWidth;

// pointer on asource

Ipp32f* pS = (Ipp32f*)GlobalLock(phDIBS);

// pointer on adest

Ipp32f* pD = (Ipp32f*)GlobalLock(phDIBD);

// malloc mem for 3x3 kernel

HGLOBAL hKern = ::GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT,

sizeof(Ipp32f)*9);

Ipp32f* pKernel = (Ipp32f*)GlobalLock(hKern);

sizeK.height = 3;

sizeK.width = 3;

int stepBytes;Ipp32f arr[9] = {0,0,0,0,1,0,0,0,0};

or(int y = 0; y < GlobalSize(pKernel)/sizeof(Ipp32f); y++)

{

*(pKernel+y) = arr;

}

ippiConvValid_32f_C3R(

(Ipp32f*)(pS+(

sizeof(BITMAPINFOHEADER)/sizeof(Ipp32f))),sizeS.width * sizeof(Ipp32f) , sizeS,(Ipp32f*)pKernel, 3 * sizeof(Ipp32f), sizeK,

(Ipp32f*)pD,sizeS.width *

sizeof(Ipp32f));

....

}

programm are broken in ippiConvValid

May be trable in ipp libs

0 Kudos
1 Reply
Vladimir_Dudnik
Employee
344 Views

Hello, actually I do not think your throuble is in IPP lib. It seems you consider 32bpp BMP as 32f per sample what is not correct.

Regards,
Vladimir

0 Kudos
Reply