I would definetely recommend you to migrate to UIC image codecs. For UIC JPEG and JPEG2000 we provide threaded implementation of both encoders and decoders. We also work on implementation of JPEG-XR codec in UIC and you will be able to evaluate it in upcoming IPP 7.0 beta release.
I tried UIC JPEG codec byembeddingit in our application, that compiles with VS 2003. It wasn't any improvement over IJL performance and also it gives a lot of "deprecatedfunction" warnings(level 4) on IPP's functions.
the reason of warining on deprecated IPP functions is that we have introduced new ippiResizeSqrPixel function in IPP and this intended to substitute our old ippiResize function. The warnings are to inform our customers ahead for the possible changes which they need to adopt. And in UIC we still use old function we will fix that in IPP 7.0 version.
For the performance reason you may want to try to link with prebuilt UIC libraries which we made available as a separate download. The difference is that we prebuilt UIC with Intel Compiler and enable OpenMP threading in JPEG and JPEG2000 which is not available in old IJL library.
We are using static version of IPP libraries throughipp_px.h. Is there a way to do it with precompiled UIC? We need to link it inside the project which exposes number of IPP bitmaps functions compiles IJL API and IPP_zlib API, and links with static merged IPP libs.
I'm sorry, I didn't make it clear. We are using static IPP libraries for generic processor type because size of our distribution should be small enough. So, my "real question" should be if it linked against static or dynamic libraries. As for ipp_px.h - we probably going to make custom selection of processors types + generic type for others. If you can recommend what types are most common/make sense to include, - it will be great!
Also we have some problem with moving to IPP_zlib. Sometime it fails(mem. access violation) on memcpy inside of deflate(). The code which using it didn't change, and it worked OK with zlib for a long time.We compileIPP_zlib in VS2003.
I would recommend you to create separate thread for issues you met with IPP zlib to not mix those two discussions. We actually put significant effort in improving performance and quality of IPP zlib and bzip2 high-level libraries. Please check if you use the latest (IPP 6.1 update 5) version of IPP data compression libraries.
Regarding your UIC question: by default UIC is linked with IPP static libraries and libiomp5 dynamic library. I can't suggest on what cpu you need to support in your software, this is completely your decision, which you most probably will made based on target customer needs and their expected system configuration.
I would also recommend you to compile IPP samples with Intel compiler (although it is not mandatory) in case you are interested in performance (and you probably do, otherwise why do you come to performance libraries product, isn't it?)