Integrated Performance Primitives
From Wikipedia, the free encyclopedia
This article or section is written like an advertisement. Please help rewrite this article from a neutral point of view. Mark blatant advertising which would require a fundamental rewrite in order to become encyclopedic for speedy deletion, using {{db-spam}}. (December 2007) |
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.
Contents |
[edit] 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 Mathematics
The library takes advantage of processor advances including MMX, SSE, SSE2, SSE3, SSSE3, SSE4 and multi-core processors.
[edit] 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 of the 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.
[edit] 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.
[edit] Counterparts
[edit] External links
- Intel IPP Home Page
- Stewart Taylor, "Intel Integrated Performance Primitives - How to Optimize Software Applications Using Intel IPP", Intel Press.