- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I installed ipp samples (7.1.1) correctly. And, I used UIC examples.
It works fine for only certain images. To be exact, it only worked for the images encoded using UIC.
For example, I had few "jpeg" images, and then using the IPP UIC tool, I enocded them to "jp2" format. Then I used the generated "jp2" format to convert it to different formst (e.g. "bmp", "png" or even back to "jpeg"). And they all worked fine.
But, then I tried to compare the performance with j2k-codec. So, since I had worked with j2k-coded before, I have bunch of "jp2" files, from past.
But, when I tried to use my old files (which had worked fine on "j2k-codec before), they didn't work with IPP UIC !!!
Those files that I tested, had actually been encoded by different tools; but they all are valid encoded streams and all can get decoded fine with j2k-codec.
I know that these files, are encoded fine, because I am able to open all these files with Photoshop.
I am uploading few of these files. And, I would appreicate if someone tells me whether this is a limmiation of IPP UIC, or I am missing something.
Thanks,
--Rudy
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
UPDATE:
Just as a suplement, I tried to walk through the debugger to see where it is breaking:
failure mode #1:
---------------------------------------------------------------------------------------------
When I try the files: "house_bad.jp2" and "rgb_bad.jp2"
In file "jpeg2k.cpp", line 355:
geometry.ReduceByGCD();
nOfComponents = geometry.NOfComponents();
nOfComponents is set to "4", and that is why it exits line 402:
switch(nOfComponents)
since 4 is not a valid case!!!
---------------------------------------------------------------------------------------------
failure mode #2:
---------------------------------------------------------------------------------------------
When I try the file: "pic3_in2pix_bad.jp2":
In file "jpeg2k.cpp", line 333:
isJP2 = IsJP2(in);
I doesn't recognize it as a valid JP2, and "isJP2 = 0"
And, accordingly, it exits on line 381:
if(ExcStatusOk != decoder->ReadData(imagePn.Buffer().DataPtr(),dataOrderPn))
return IE_RDATA;
---------------------------------------------------------------------------------------------
Thanks,
--Rudy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rudy,
Yes, you right, UIC's J2K doesn't support number of components other than 1 or 3. Regarding pic3_in2pix_bad.jp2, this file contains unknown type of marker 0xFF23 which is not recognized, so the decoding fails. By the way, Jasper and OpenJPEG don't decode this file too with diagnostics like:
[ERROR] Expected JP Marker
[ERROR] Failed to decode jp2 structure
ERROR -> j2k_to_image: failed to decode image!
UIC's J2K never been a product-like tool.
Regards,
Sergey
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page