Search
Support & Downloads
All of Support
This Category
Software Products
Performance Tools for Software Developers
Intel® IPP API changes and backward compatibility

API changes
Upgrading to the latest Intel® IPP version may cause backward compatibility problems when rebuilding applications that use Intel IPP 4.1.2 and earlier. There are several changes to versions 5.x and later:

  • APIs in the small matrix domain have been redesigned.
  • Color conversion functions were moved to a new color conversion domain, ippCC.
  • Some APIs have been redesigned to codec level or removed due to limited usage.
  • Subdirectory /bin/ipp20 was removed and the suffix "20" was removed from the stub libraries and DLL file names (Windows* only).
  • The ippalign.h and ippalign*.lib has been removed.

Solutions
If you are using any modified APIs, you must change existing application code to replace the older APIs with newly defined APIs and rebuild your application. The following solutions or work-arounds are provided when you upgrade Intel IPP from previous versions to 5.x or later versions:

  • For the interface changes in small matrix domain, please check the following simple wrapper that demonstrates how to backup the removed function: ippmLUDecomp_ma_32f_6x6. You can add such wrappers for all removed APIs in small matrix domain.

    IppStatus ippmLUDecomp_ma_32f_6x6_S2(const Ipp32f* pSrc, int srcStride0, int srcStride1, int srcStride2, int* pDstIndex, Ipp32f* pDst, int dstStride0, int dstStride1, int dstStride2, int count)
    {
    return ippmLUDecomp_ma_32f( pSrc, srcStride0, srcStride1, srcStride2, pDstIndex, pDst, dstStride0, dstStride1, dstStride2, 6, count);
    }

    If function arguments have changed, it is best to rename the function (for example by adding the prefix "New_") and add a wrapper e.g.

    IppStatus New_ippmLUDecomp_ma_32f(const Ipp32f* pSrc, int srcStride0, int srcStride1, int* pDstIndex, Ipp32f* pDst, int dstStride0, int dstStride1, int widthHeight, int count)
    {
    return ippmLUDecomp_ma_32f( pSrc, srcStride0, srcStride1, sizeof(Ipp32f), pDstIndex, pDst, dstStride0, dstStride1, sizeof(Ipp32f), widthHeight, count);
    }

  • For more information about new function definitions in the small matrix domain, please check the "Getting Started" section and new code snippets in the Small Matrices Reference Manual.
  • For other functions, please check the document linked below. It provides not only a list of changed APIs from old entry points to new ones, but also possible substitution or work-around API as well.

    icon  Removed APIs [PDF]
    File Name: removedAPIs.pdf
    Size: 30,332 bytes
    Date: 5/25/2006

    Note: PDF Files require Adobe Acrobat* Reader



       This link will take you off of the Intel Web site. Intel does not control the content of the destination Web Site.

  • The functions defined in ippalign.h, ippaligh*.lib were created for keeping the API compatibility of IPP for PCA and Intel IPP for IA in previous version. The functions are not used in IPP for IA versions any longer.

This applies to:
Intel® Integrated Performance Primitives (Intel® IPP) for Linux*
Intel® Integrated Performance Primitives (Intel® IPP) for Windows*

Solution ID: CS-022833
Date Created: 22-May-2006
Last Modified: 31-Dec-2007
Back to Top