Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
6621 Discussions

Intel® IPP integration wrappers, the easy-to-use APIs for Intel IPP functions

Chao_Y_Intel
Employee
270 Views

Dear Users,

Intel® IPP Introduced the new integration wrappers, which provides the easy-to-use APIs to add Intel® IPP functions into your applications. 

Intel® IPP integration wrappers provides both the C and C++ interfaces:

  • C interface aggregates Intel IPP functions of similar functionality with various data types and channels into one function. Initialization steps required by several Intel IPP functions are implemented in one initialization function for each functionality. To reduce the size of your code and save time required for integration, the wrappers handle all memory management and Intel IPP function selection routines.

  • C++ interface wraps around the C interface to provide default parameters, easily initialized objects as parameters, exception handling, and objects for complex Intel IPP functions with automatic memory management for specification structures.

The integration wrappers also provide easy interfaces to support external threading of Intel® IPP functions.

Please check the article “Integration Wrappers for Intel® Integrated Performance Primitives (Intel® IPP)” to learn more information.

A technical preview of Integration Wrappers functionality is now available. Check here to find the downloading instructions, and documentation.

Your feedback on these APIs matters. If you have any questions or feedback, please post comments below, or contact us by the Intel Premier Support.

0 Kudos
7 Replies
BMart1
New Contributor II
270 Views
int main()
{
    ipp::IwiImage i0;
    Check(i0.Alloc({ 12, 12 }, ipp8u, ippC1));
    ipp::IwiImage i1(i0);

}

and

int main()
{
    ipp::IwiImage i0;
    Check(i0.Alloc({ 0, 0 }, ipp8u, ippC1));
}

crash.

Pavel_V_Intel
Employee
270 Views

Hello Bruno,

What version of wrappers are you using? I need it to check the first case.

Second case should throw ipp::IwException object by design.

BMart1
New Contributor II
270 Views

I'm using version 2017.0.2. I suspect the first case is because c++ IwiImage has a constructor that takes a C IwiImage const&, but doesn't count as a copy ctor, which is then autogenerated by the compiler.

Pavel_V_Intel
Employee
270 Views

Yes, copy constructor for C++ object is missing. We will fix this.

Thank you.

Note that IppChannels is not a valid enumerator to set channels for Integration Wrappers. They use simple int channels number.

BMart1
New Contributor II
270 Views

Thanks for the warning about IppChannels.

BMart1
New Contributor II
270 Views

IwiImage should have const and non const versions of ptr()

Chao_Y_Intel
Employee
270 Views

thanks,  Bruno for the feedback.  I will track for the future improvement.

Regards,
Chao

Reply