Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Matthias_W_
Beginner
222 Views

Lossless JPEG Image Compression

Dear Ladies and Gentlemen,

we are using IPP 6.x for lossy JPEG compression. As far as I know we had never updated from this version. Now we would like to use "Lossless JPEG Compression". But now it is gone :( 

Is it possible to get an older Version of the IPP where the image compression code still exists? Or is it possible to use the old UIC library on top of the IPP 9.x legacy libraries together with IPP 2017 (Update x)?!

Please help,

Matthias Wild

 

0 Kudos
10 Replies
Jing_X_Intel
Employee
222 Views

Please visit https://software.intel.com/en-us/articles/how-to-build-former-intel-ipp-samples-with-ipp-90-legacy-libraries to download the legacy libraries.

Sergey_K_Intel
Employee
222 Views

Hi Matthias,

There is also a KB article https://software.intel.com/en-us/articles/how-to-build-former-intel-ipp-samples-with-ipp-90-legacy-libraries on how to build UIC with legacy libraries. It describes on of possible ways of doing that.

Matthias_W_
Beginner
222 Views

Thank you very much so far for quick response. I tried to compile 

    build.cmd --sample=image-codecs --arch=ia32 --ws=vs2012 --ipp=static --conf=release clean build

But now I'm stucked with this error

    fatal error LNK1181: cannot open input file 'svml_dispmd.lib'

Yes, the "svml_dispmd.lib" is missing. Only a "svml_dispmt.lib" is provided by the "ipp90legacy_win" package.

Any suggestion how to proceed?

Sincerely,

Matthias Wild

 

Sergey_K_Intel
Employee
222 Views

Hi Matthias,

Try to update "BuildFunctions.cmake" from "builder" directory. Change svml_dispmd with svml_dispmt on line 94. Remove "CMakeCache.txt" file after that and do build command.

Matthias_W_
Beginner
222 Views

Okay, I did that already. I changed the input library directly in the Visual Studio project. Next missing lib is:

     LINK : fatal error LNK1104: cannot open file 'libmmd.lib'

Once I change this lib to (libmmt.lib) I ended up with two unresolved externals.

From "libmmt.lib" (libm_error.obj) :

    error LNK2019: unresolved external symbol __iob referenced in function _write_message

and something from the project itself (ippimage.obj)

    error LNK2019: unresolved external symbol _legacy90ippiResizeGetBufSize@44 referenced in function "public: int __thiscall   CIppImage::Resize(unsigned char *,int,struct IppiSize)const " (?Resize@CIppImage@@QBEHPAEHUIppiSize@@@Z)

What next? ;)

Matthias

 

Sergey_K_Intel
Employee
222 Views

Hi Matthias,

Regarding last issue with "ippiResizeGetBufSize", simply comment this function call, because its result is never used.

Regarding the first, look here: https://software.intel.com/en-us/forums/intel-parallel-studio-beta-archived/topic/266345. There's something about __iob.

By the way, do you have other IPP installed (2017 or so)? You could take all missing libraries libmmd, svml_dispmd from there. Of course, they are not IPP's but belong to compiler. I don't know what you have.

Matthias_W_
Beginner
222 Views

Hello Sergey,

as far as I understand I have IPP 2017 installed. But I searched through the whole directory

    c:\Program Files (x86)\IntelSWTools

There are no files named "libmmd" or "svml_dispmd". Does it make sense?

BTW: I setup up "static" for IPP

    build.cmd --sample=image-codecs --arch=ia32 --ws=vs2012 --ipp=static --conf=release clean build

 but all projects are still set to "Multi-threaded DLL"

    /MDd or /MD

regrading the C/C++ Runtime. Is this the way it should be?

Matthias

Sergey_K_Intel
Employee
222 Views

Hi Matthias,

What IPP 2017 package do you have? Is it a part of bigger package, like Intel Parallel Studio?

If yes, the required libraries are in "compiler\lib" directory. For example:
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.2.187\windows\compiler\lib\ia32\libmmd.lib

If no, it can be a problem. I need to reproduce your building environment to advice anything.

Matthias_W_
Beginner
222 Views

Hello Sergey,

I have only two files in this folder:

     "libiomp5md.lib" and "libiompstubs5md.lib"

It seems to me that I have "IPP 2017 only" . No compiler, no additional packages.

Regards,

Matthias

 

Matthias_W_
Beginner
222 Views

And of cause the "IPP Legacy Libraries 9.0" :)

m.

Reply