We bought from Intel license for Intel C++ Composer XE for Mac OS X with IPPv7.
For jpeg image encodding we are using UIC jpeg encoder.
Before using this to save file in jpeg/jfif format we were using Graphics Magic libarary.
Problem is that with UIC jpeg encoder the file size is bigger than with Graphics Magic library fot the same quality.
Passed parameters for UIC jpeg encoder are:
params_jpeg.mode = JPEG_BASELINE;
params_jpeg.comment_size = 0;
params_jpeg.huffman_opt = 0;
params_jpeg.nthreads = 2;
params_jpeg.point_transform = 0;
params_jpeg.predictor = 1;
params_jpeg.quality = 20;
params_jpeg.restart_interval = 0;
params_jpeg.sampling = IS_411;
params_jpeg.tmode = 0;
The question is which parameters shall we setup to have at least the same size jpeg file as with Graphics Magic library.
I attached the files:
ananas_001.JPG - original image file
ipp_uic_20.jpg - image saved with Intel ipp uic - quality 20
graphics_magic_20.jpg - image saved with Graphics Magic library - quality 20
After running linux command line tool for jpeg optimisation (jpegoptim) on ipp_uic_20.jpg,
the size is reduced to 36653 bytes (13.44%) - without modyfing compression quality level.
Running the same command on graphics_magic_20.jpg gives no more optimisation gain.
As written in jpegoptim manual: jpegoptim is used to optimize/compress jpeg files.
Program supports lossless optimization, which is based on optimizing the Huffman tables.
And so called "lossy" optimization where in addition to optimizing Huffman tables user can specify upperlimit for image quality.
For our application the jpeg file size is extremely importand.