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

ippiResizeSqrPixel_8u_C1R different results on 32-bit and 64bit systems

We areusing IPP libraries on both win32 and x64 systems. I have noticed that ippiResizeSqrPixel_8u_C1R is generating different results depending on the interpolation method. Some of the pixel values are different by a value of 1 so it seems like a rounding error. I have seen a similar roundingproblem reported on this forum for ippiFilterBox_8u_C1R and was supposed to be fixed with V7:

I have tried Version 6.1.6 and Version 7 to resize 1024x1280 images by factor of 0.5 and using different interpolation methods:

Version 6.1.6: IPPI_INTER_LANCZOS generates ~5 pixels that are different, IPPI_INTER_CUBIC, generates more than 800 different pixels. The results withIPPI_INTER_LINEAR were identical.

Version 7.0: the rounding error with IPPI_INTER_LANCZOS was slightly worse generating more than 20 pixels/image that are different. There was no rounding errors using IPPI_INTER_CUBIC and IPPI_INTER_LINEAR methods.

We are using the Lanczos method in our application and it is important that we have the same results on both systems.

win32 system: Windows Vista 32-bit, Intel Core 2 Quad CPU Q6600 @2.4GHz
x64 system: Windows 7 64-bit, Intel Xeon CPU E5540 @ 2.53GHz

Attached is a test app to reproduce the problem. The output pixel value at (4,4) is equal to 129 on win32 and 128 on x64 systems. Please let me know if you need more info.

0 Kudos
3 Replies
New Contributor I

Sorry for the answer delay.
Yes, we havetested and reproduced the problem.
It will be fixed in therelease IPP 7.0.2

Thanks for your attention to IPP,
0 Kudos

The problem has been fixed in the latest 7.0 Update2 which is available now. Please let us know if the any further issues will be discovered.


0 Kudos
I tested this againwith version 7.0 update 5 and I'm still seeing varying results between32-bit and 64-bit libraries. The problem seems to beprocessor specific. With the 6.1 version, if I take out all the processor specific dll's from the path and leave only the generic mx dll, I get the same results as the 32-bit. The mx dll's are no longer available with version 7.0 (although they are listed in the documentation).

Below are the CPU's that I tested:
Intel Xeon E5540 @2.53GHz
Intel Xeon E5503 @2GHz (2 processors)
Intel Xeon E5649 @2.53GHz (2 processors)
Intel Xeon X3450 @2.67 GHz

0 Kudos