Search code examples
jpeglossless-compressionintel-ipp

Using Intel IPP to decompress a lossless JPEG


I am trying to decompress the following lossless JPEG bitstream (ITU 81):

It seems to have been generated by:

$ strings -n 20 intel_ipp_lossless.jpg 
4Intel(R) IPP JPEG encoder [5.3.497] - Aug 12 2008

Which is compatible with:

IPP JPEG supportsfollowing compression modes defined by JPEG ISO/IEC 10918:

  1. Baseline, 8-bits, DCT based process, huffman entropy coding
  2. Extended baseline, 8- and 12-bits, DCT based process, huffman entropy coding
  3. Lossless, 1..16 bits, prediction based, huffman entropy coding

But I am having a hard time understanding how to use IPP:

When I look at the examples I cannot find anything related to JPEG decompression anymore.

Where/How can I use IPP JPEG decoder ?


Update: Seems like intel ipp forum is not very active anymore.


Solution

  • Turns out this is poorly documented, but some function (in particular the JPEG codec) has been removed. So you need to use the Legacy IPP library from:

    With documentation at:

    The difficult part is that the sample tar file is not accessible for new user as mentionned here:

    So I'll need to write my own JPEG decoder based of the following forum post (ippiDecodeHuffmanOne_JPEG_1u16s_C1 reference):


    Update: instead one should search for ipp samples such as w_ipp-samples_p_7.1.1.013.zip (or ipp-samples.8.0.0.005) on internet to have access to the JPEG compressor/decompressor.