- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Im testing IPP Jpeg decoder from the latest available samples with the latest IPP libs.
X86 version is crashing on some images when I change INPUT_BUF_SIZE to something different from the default value. I have a large number of test images and it looks like crashing jpeg depends on input buffer size.
X64 version is crashing always, even with the default buffer value. I could not tune buffer size to read all my jpegs.
The problem can be reproduced with djpeg application from samples with changing the following value:
[cpp]#define INPUT_BUF_SIZE 100096 [/cpp]
Im getting access violation in jdhuff.c:1001 when memmove tries to use overflowed value as data size.
[cpp] /* Decode a single block's worth of coefficients */ if(state.ipp_need_update == 1) { // fails here memmove(state.ipp_buffer, state.ipp_buffer + state.ipp_bytes_decoded, state.ipp_bytes_in_buffer - state.ipp_bytes_decoded); state.ipp_bytes_in_buffer = state.ipp_bytes_in_buffer - state.ipp_bytes_decoded - ipp_bytes_left - state.sync_shift; //... [/cpp]
Im attaching crashing jpeg for x86 version.
My configuration:
Windows 7 x64
IPP version: 7.0.6.300
w_ipp-samples_p_7.0.6.060
Thanks,
Eugene
Im testing IPP Jpeg decoder from the latest available samples with the latest IPP libs.
X86 version is crashing on some images when I change INPUT_BUF_SIZE to something different from the default value. I have a large number of test images and it looks like crashing jpeg depends on input buffer size.
X64 version is crashing always, even with the default buffer value. I could not tune buffer size to read all my jpegs.
The problem can be reproduced with djpeg application from samples with changing the following value:
[cpp]#define INPUT_BUF_SIZE 100096 [/cpp]
Im getting access violation in jdhuff.c:1001 when memmove tries to use overflowed value as data size.
[cpp] /* Decode a single block's worth of coefficients */ if(state.ipp_need_update == 1) { // fails here memmove(state.ipp_buffer, state.ipp_buffer + state.ipp_bytes_decoded, state.ipp_bytes_in_buffer - state.ipp_bytes_decoded); state.ipp_bytes_in_buffer = state.ipp_bytes_in_buffer - state.ipp_bytes_decoded - ipp_bytes_left - state.sync_shift; //... [/cpp]
Im attaching crashing jpeg for x86 version.
My configuration:
Windows 7 x64
IPP version: 7.0.6.300
w_ipp-samples_p_7.0.6.060
Thanks,
Eugene
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Eugene,
Could you specify exactlty what sample you use and how?
> djpeg -bmp test.jpg test.bmp ?
or, other command?
Regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sergey,
Thanks for your attention.
Im using djpeg as you wrote without additional commands:
djpeg.exe -bmp C:\temp\1233\picccszk_CL.jpg C:\temp\1233\out.bmp
It works great with default INPUT_BUF_SIZE, but fails when I set it to 100096 and try to read the attached JPEG.
When I change INPUT_BUF_SIZE constant to something other than 100096, failing jpeg file is changing too.
Best regards,
Eugene
Thanks for your attention.
Im using djpeg as you wrote without additional commands:
djpeg.exe -bmp C:\temp\1233\picccszk_CL.jpg C:\temp\1233\out.bmp
It works great with default INPUT_BUF_SIZE, but fails when I set it to 100096 and try to read the attached JPEG.
When I change INPUT_BUF_SIZE constant to something other than 100096, failing jpeg file is changing too.
Best regards,
Eugene
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page