- Integrated Performance Primitives
Intel's Integrated Performance Primitives (Intel IPP) is a library of multi-core-ready, optimized software functions for multimedia and data processing applications, produced by
Intel .The library supports Intel and AMD processors and is available for Windows, Linux and Mac OS X operating systems. Intel IPP is a lightweight library that exposes data type, data structure and other options in the naming convention of each operation. By providing a huge number of functions, and keeping the interfaces lightweight, IPP is designed to provide building blocks for multimedia applications and data processing applications.
Several books have been published which reference IPP, and there is one Intel Press book dedicated to IPP. An updated version of the book was announced by Intel for October 2007.
Features
Intel IPP functions include:
* Video Decode/Encode
* Audio Decode/Encode
* JPEG/JPEG2000
* Computer Vision
* Cryptography
* Data Compression
* Image Color Conversion
* Image Processing
* Ray Tracing/Rendering
* Signal Processing
* Speech Coding
* Speech Recognition
* String Processing
* Vector/Matrix MathematicsThe library takes advantage of processor advances including MMX, SSE,
SSE2 ,SSE3 ,SSSE3 ,SSE4 andmulti-core processors.Organization
Intel IPP is divided into three major processing groups: Signal (with linear array or vector data), Image (with 2D arrays for typical color spaces) and Matrix (with nxm arrays for matrix operations).
Half the entry points are of the matrix type, a third are of the signal type and the remainder is ofthe image type. Intel IPP functions are divided into 4 data types: Data types include 8u (8-bit unsigned), 8s (8-bit signed), 16s, 32f (32-bit floating-point), 64f, etc. Typically, an application developer works with only one dominant data type for most processing functions, converting between input to processing to output formats at the end points.
IPP functions are predictable through strict naming conventions: Strict adherence to a structured naming convention makes it possible to rapidly identify and find desired operations. The numbers of Intel IPP function groups are typical of what are found in traditional Image, Signal and Matrix processing libraries.
History
Version 5.2 was introduced June 5, 2007, adding code samples for data compression, new video codec support, support for 64-bit applications on Mac OS X, support for Windows Vista applications, and new functions for ray-tracing and rendering.
Counterparts
*Sun:
mediaLib for Solaris
*Apple:vDSP ,vImage etc. forMac OS
*AMD :AMD Performance Library (APL)External links
* [http://intel.com/software/products/ipp Intel IPP Home Page]
* Stewart Taylor, [http://www.intel.com/intelpress/sum_ipp.htm "Intel Integrated Performance Primitives - How to Optimize Software Applications Using Intel IPP"] , Intel Press.
* [http://bouchez.info/myjpeg.html Jpeg Delphi implementation] using official JPEG Group C library or Intel Jpeg Library 1.5 (ijl.dll included)
Wikimedia Foundation. 2010.