Hello, I hope somebody can help me with the following. I am using Intel IPP 6.1, and I am running on Windows 7 x64 (16GB of memory). I am trying to use the "ippiCrossCorrValid_NormLevel_8u32f_C1R" function; however, it returns the following error:ippStsMemAllocErr (Not enough memory allocated for the operation). I have searched in the forum; however I haven't been able to find anything with regard to this problem. The relevant part of my code is something like (the pointers to the sample and template have been defined previously without any problem):
IppStatus ippsta;
IppSize ippszSam = {16443,3284};
int iStepSam = ippszSam.width;
IppSize ippszTmpl = {4899,3280};
int iStepTmpl = ippszTmpl.width;
int iXncc = ippszSam.width - ippszTmpl.width + 1; // result width
int iYncc = ippszSam.height - ippszTmpl.height + 1; // result height
int iStepncc = iXncc * sizeof(float); // result step size
IppiSize ippszncc = { iXncc , iYncc };
std::vector vfNCC( iXncc * iYncc ); // result container
float* pfNCC = &(vfNCC[0]);
// Calling the correlation routine
ippsta = ippiCrossCorrValid_NormLevel_8u32f_C1R( pucSam, iStepSam, ippszSam,
pucTemplate, iStepTmpl, ippszTmpl,
pfNCC, iStepncc );
I have seen in the following page that the maximum allowed size for an image should be ~2^29:
http://software.intel.com/en-us/articles/mkl-ipp-choosing-an-fft/
However, in this case, even if the Sample image is converted to float, it will require less than 2^28 bytes (16443 x 3284 x 4 bytes).
Therefore, I don't have it clear why the IPP function is returning the "ippStsMemAllocErr" status. So, I would like to ask a couple of things:
1. For the above function, and the above image sizes, what is the number of bytes allocated in memory? Is my assumption correct?
2. Is the maximum allowed size actually ~2^29 bytes?
If so, why is the call to the IPP functions returning an error?
If not, then which is the maximum allowed size when dealing with images?
If there is any other information that I may have missed, please kindly let me know.
Thank you very much in advance for your kind cooperation.
Best regards,
Luis


