In the context of OpenCV, what is `ippicv`?

Ray picture Ray · Jul 26, 2016 · Viewed 7.8k times · Source

While building OpenCV 3.1.0 on CentOS I've been getting a hash mismatch error caused by a file called ippicv_linux_20151201.tgz. After some research I have found that the two prevailing solutions suggested by several people (for example here) are the following.

  1. Build again with option -DWITH_IPP=OFF.
  2. Manually download the file ippicv_linux_20151201.tgz and put it in the right place.

Now solution 2 above didn't work for me, and I feel a bit nervous about solution 1. My fear is that building OpenCV with -DWITH_IPP=OFF might prevent some things from working properly later, thus making a time bomb. My question is what is IPP? Or ippicv? Or ICV? I'm not even sure what to ask here. I want to know what I'm about to disable in the build before I disable it.

Answer

majkel.mk picture majkel.mk · Oct 6, 2016

Intel IPP software building blocks are highly optimized instruction sets (using Intel AVX, AVX2 and SSE).It offers a special subset of functions for image processing and computer vision called the IPP-ICV libraries. More information can be found here. Also here you can find some information about speedup.

If real-time processing is not critical in your project or its performance is enough you can safely disable it.