Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

IPP/OpenCV distribution

reklar
Beginner
282 Views
Hi,

I have read through the documentation and I understand that at run time OpenCV finds and makes appropriate calls to IPP (if available). What I don't understand is how this model would work if you want to distribute binaries using IPP and OpenCV together.

For the sake of argument let's say I want to distribute a commercial application which uses some of OpenCV and further I have a license for IPP. How would I distribute a binary that would do the right thing, i.e., call the IPP functions where appropriate?

What exactly needs to be distributed with the app?

Thanks!

0 Kudos
3 Replies
Vladimir_Dudnik
Employee
282 Views
Hello,

for IPP we havedocumented list of redistributable files, it should be part of your install package, so you can check with this document.

By the way, the latest version of OpenCV 2.0 allow you to link with IPP static libraries.

Regards,
Vladimir
0 Kudos
reklar
Beginner
282 Views
Hello,

for IPP we havedocumented list of redistributable files, it should be part of your install package, so you can check with this document.

By the way, the latest version of OpenCV 2.0 allow you to link with IPP static libraries.

Regards,
Vladimir
So what is the recommended method of distributing an application with OpenCV and IPP? Is there a step by step guide somewhere?

For example, let's say I just want to include IPP color conversion routines via open cv calls ... what would need to be done to distribute the application? Thanks!
0 Kudos
PaulF_IntelCorp
Employee
282 Views
Quoting - reklar
So what is the recommended method of distributing an application with OpenCV and IPP? Is there a step by step guide somewhere?

For example, let's say I just want to include IPP color conversion routines via open cv calls ... what would need to be done to distribute the application? Thanks!

If you use the static IPP library everything you need from the IPP library will be included as part of your executable. For many situation this is the simplest way to build and deploy your app.

If you want to use the dynamic link model you'll have to distribute, at minimum, those shared libraries that your application requires, along with your executable. In that case you can either provide all the IPP shared libraries or determine which libraries are required and distribute only those with your app.

This KB article may be of value for figuring out which shared libraries your application needs:

This KB article talks in more details about redistribution of the IPP library components with your application:

Hope this answers your question,

Paul
0 Kudos
Reply