- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm switching to the new Composer 2015 package containing IPP 8.2. I ran into a 'bug' straight away. A crucial part of my application suddenly didn't work anymore. Cause: see the title. I use mirrored borders...:-(. I cannot find any information on this change, and I am also worried that there will be more of this kind of surprises. Is there a list of functions of which the functionality has been limited?
Btw. I am worried about the future of IPP. I seems Intel is planning to deprecate the about the whole product. I also think that Intel should supply examples of how to code alternatives for deprecated functions in the documentation.
Regards,
Rob
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rob,
this function supports several border types - in mem, replicate and const. Mirror border is not supported by any other IPP function with border suffix. Is such border support critical for you? Any border type except of real border in mem generates some synthetic pixels in the output image. Your concerns on the whole product deprecation are not based on the real state of things.
regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
You got me there, I looked in the documentation of the GaussianBorder function instead of the GaussBorder function. What remains is that my function which has worked perfectly fine for years with different IPP versions, the latest being 7.0.6. suddenly fails. The parameters are absolutely correct, my alternative( the opencv implementation) also works fine with the same input.The 8.2 implementation gives an result with only zeros. This than seems a bug.
Regards,
Rob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Rob,
how we can reproduce the problem? Can you prepare the example and check how it will work on our side?
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gennady,
Here is a silly VS2013 program that replicates the problem:
Btw: the filter does not return zeros, but probably does nothing: the destination is filled with all -431602080's. But it does not give an error.ippBorderConst will work correctly.
int N = 4;
void Show(Ipp32f pBuf[4*4])
{
for (int i = 0; i < N*N; ++i)
{
printf("%f, ", pBuf);
}
printf("\n");
}
int _tmain(int argc, _TCHAR* argv[])
{
Ipp32f pSrc[4*4];
Ipp32f pDst[4*4];
int step = N * sizeof(Ipp32f);
IppiSize roiSize = { N, N };
IppStatus stat = ippStsNoErr;
int kernelSize = 7;
for (int i = 0; i < N*N; ++i)
{
pSrc = 1;
}
Show(pSrc);
int bufSize;
stat = ippiFilterGaussGetBufferSize_32f_C1R(roiSize, 7, &bufSize);
Ipp8u* pBuf = new Ipp8u[bufSize];
if (stat != ippStsNoErr)
{
printf(" ERROR calculating buffer size !!! \n");
return 1;
}
stat = ippiFilterGaussBorder_32f_C1R(pSrc, step, pDst, step, roiSize,
kernelSize, 5.0f,
ippBorderMirror, 0, pBuf);
if (stat != ippStsNoErr)
{
printf(" ERROR applying filter !!! \n");
return 1;
}
Show(pDst);
delete pBuf;
return 0;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for the example - we will check
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, the issue is reproduced on out side. it's escalated. we will let you know when the problem would be fixed.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page