- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I found a bug in ROI handling in ippiCopy_32f_C1R() function. In some cases it writes outside of specified ROI.
IPP library version 2016 Update 2. CPU is Intel Core i5 4460. OS is Windows 8.1 x64.
Here is the code that reproduces the bug:
#include <ippcore.h> #include <ippi.h> #include <stdio.h> int main() { ippInit(); const IppLibraryVersion* lib = ippiGetLibVersion(); printf("%s %s %d.%d.%d.%d\n", lib->Name, lib->Version, lib->major, lib->minor, lib->majorBuild, lib->build); const int width = 1024; const int height = 1024; // Initialize 2 images static float img1[width * height]; static float img2[width * height]; for (int i = 0; i < width * height; i++) { img1 = 1.0; img2 = 2.0; } const int bytesPerLine = width * sizeof(float); IppiSize roi = { width - 2, height - 2 }; // Copy (width-2)x(height-2) pixels area from img1 top left corner to img2 at (1, 1) // (leaving 1-pixel border near img2 edges untouched) ippiCopy_32f_C1R(img1, bytesPerLine, img2 + width + 1, bytesPerLine, roi); // Print values of 3x3 pixels area in the top left corner printf("%.1f %.1f %.1f\n", img2[0], img2[1], img2[2]); printf("%.1f %.1f %.1f\n", img2[0 + width * 1], img2[1 + width * 1], img2[2 + width * 1]); printf("%.1f %.1f %.1f\n", img2[0 + width * 2], img2[1 + width * 2], img2[2 + width * 2]); }
Expected result is that img2 contains 1-pixel border with value 2.0 and inner rectangle filled by 1.0.
Here is the output of the program:
ippIP AVX2 (l9) 9.0.2 (r49912) 9.0.2.49912 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0
Note value at column 1 of line 3 of the dumped matrix. It is expected to be 2.0. Actually other pixels in first and last columns are overwritten too, while they are expected to be left intact.
The same application works correctly on Intel Xeon W5580 CPU, probably it depends on AVX2 presence:
ippIP SSE4.2 (y8) 9.0.2 (r49912) 9.0.2.49912 2.0 2.0 2.0 2.0 1.0 1.0 2.0 1.0 1.0
The bug appears only on large enough images. According to my tests, the bug is not reproduced if image size is less than about 790000 pixels.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for report. we will check the problem on our side and will back to you soon.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, we confirm the issue on our side. the issue will be escalate. we will back to you as soon as any update.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page