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

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

Chao_Y_Intel
Moderator
670 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
670 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.

0 Kudos
Pavel_V_Intel
Employee
670 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.

0 Kudos
BMart1
New Contributor II
670 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.

0 Kudos
Pavel_V_Intel
Employee
670 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.

0 Kudos
BMart1
New Contributor II
670 Views

Thanks for the warning about IppChannels.

0 Kudos
BMart1
New Contributor II
670 Views

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

0 Kudos
Chao_Y_Intel
Moderator
670 Views

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

Regards,
Chao

0 Kudos
Reply