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

How to use IPP with IJG 8 ?

vanselm
Beginner
1,221 Views
Hello,
I have downloaded the evaluation version of Intel IPP (newest version) and would like to evaluate how much performance benefit it gives me, while using the IJG 8d version of libjpeg. However, the downloadable sample files "ipp_samples\\image_codecs\\ijg\\" use the old libjpeg version 6. Do I have to modify and extend the old libjpeg library on my own or do you provide the IPP adapted new version of ijg library? I would like to buy the IPP library, if it works with IJG 8 only. It must be libjpeg version 8, because I need "jpeg_mem_dest" and "jpeg_mem_src" functionalities.
Thanks,
Vitali
0 Kudos
5 Replies
Ying_H_Intel
Employee
1,221 Views
Hello Vanselm,

Sorry, no, we haven'tsuch updatinginIPP 7.0.7because we introduce a new sample named UIC (unified Image Codecs) , which is a collection of C++ classes designed for use with image processing applications. The UIC framework provides encode and decode support for the following image formats: BMP (Windows Bitmap), DDS (DirectDraw Surface), JPEG, JPEG2000, PNG, and PNM (Netpbm). See more information in Intel IPP - Unified Image Codecs(UIC). If possible, we recommendto use UIC to do JPEG codec.

If you want to try, you may modify IJG 8.0 code according to exist 6.0 version orI will check sergey and see if they have ready one.

Best Regards,
Ying
0 Kudos
Sergey_K_Intel
Employee
1,221 Views
Hi Vitali,
The Samples for IPP 7.1 package (its "image-codecs" section) contains IJG 8b (not 8d, though) patched with IPP image compression functions. We haven't analyzed differences between b and d and how these differences must be updated with IPP. But at least 8b is closer to what you want than IJG 6.
Regards,
Sergey
0 Kudos
vanselm
Beginner
1,221 Views
Hello Ying and Segey,
thank you for your quick responses.
As far as I could understand, the UIC library does not let me to compress and decompress in memory, but is intended to work with image files. Therefore, I prefer to use IJG.
@Sergey: It is a good news that there is already adapted 8th version of IJG. Unfortunately, I could not find it on Intel's site. There are only IPP 7.0 examples (http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-code-samples/). How can I get the IPP 7.1 examples? Thank you.
best regards,
Vitali
0 Kudos
vanselm
Beginner
1,221 Views
Hello,
I have found the samples for IPP 7.1 Beta version.
The question is: if I buy the license, which is currently available for IPP 7.0 only, may I use the IPP 7.1 Beta version and redistribute it together with our commercial software?
Another question: When will be released the stable version of IPP 7.1 ?
Thank you for the response in advance.
Best regards,
Vitali
0 Kudos
levicki
Valued Contributor I
1,221 Views
As far as I could understand, the UIC library does not let me to compress and decompress in memory

You did not understand it then :)

[cpp] Ipp8u *Stream; // TODO: set this to point to your image in memory CMemBuffInput buffer; JPEGDecoder decoder; ImageColorSpec colorSpec; ImageSamplingGeometry geometry; buffer.Open(Stream, StreamLength); s = decoder.Init(); // TODO: check for errors here decoder.AttachStream(buffer); s = decoder.ReadHeader(colorSpec, geometry); // TODO: check for errors here // ... [/cpp] if I buy the license, which is currently available for IPP 7.0 only, may I use the IPP 7.1 Beta version and redistribute it together with our commercial software?

No. Version 7.1 will require a new license so I advise you to hold off with your purchase and either purchase IPP 7.1 standalone or Intel Parallel Composer 2013. Not to mention that it would be atrocious to distribute beta code to your clients.

When will be released the stable version of IPP 7.1 ?

It will be released in a few weeks.

0 Kudos
Reply