Intel
® 
Integrated Performance Primitives 5.3
PrintEmail to a friendSupportNewsletterRSSDigg thisdel.icio.us
Product InformationEvaluation CenterSupport Resource

Buy Product ›

Free Evaluation ›

Free Non-Commercial Download for Linux* ›

Free Code Samples ›

Cryptography Download ›

Print this

Overview


 Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of multi-core-ready, highly optimized software functions for multimedia data processing, and communications applications.



Sign up now  for the Intel IPP 6.0 beta! The Intel IPP 6.0 beta introduces: new optimizations and support for Intel® Atom™ processors; improved support for statically-linked threaded applications; new data compression support for applications using zlib, gzip, bzip2, and LZO compression; new libraries for pipelined image processing; new unified image codec (UIC) frameworks and more!

Version 5.3 Available Now! Intel IPP 5.3 brings expanded functionality in data compression, image processing and more. For more details, please refer to the New Release information below.



Microsoft Visual Studio* Developers: Create Windows applications more rapidly from within Microsoft Visual Studio 2003, 2005 and 2008, with this versatile library of key algorithmic building-blocks for multimedia processing, data compression, encryption and more.

Intel IPP is one of the Intel® Performance Libraries, which provide optimizing software building blocks to complement Intel’s optimizing compilers and performance optimization tools. Intel IPP is available as a standalone product, or with the Intel® Compiler Professional Editions for a more complete and cost-effective solution.



Intel IPP’s thousands of functions cover essential, fundamental algorithms in the following domains:

Intel® IPP Flash Demo
View Download

Intel IPP Product Brief [PDF 579KB]


Figure 1. Intel Integrated Performance Primitives (Intel IPP) Product Components and Benefits to Application Developers

Intel IPP is validated for use with multiple generations of Intel and compatible AMD* processors, and is backed by world-class support through the Intel® Premier Support program, and by developer community forums.

Features
Multi-Core Processor Support

Figure 2. Multi-Core Processors Enable the True Parallel Execution of Multi-Threaded Software Applications

See an Introductory Video about Intel IPP and Multi-Threaded Applications.

Intel IPP 5.3 fully supports today’s multi-core computing platforms:

  • Multi-Core Optimized, Threaded Functions: Over 1700 critical functions for Matrix and Vector mathematics, Signal/Image Filtering and Convolutions, Image/JPEG Compression, Color Conversion and Computer Vision are internally threaded to automatically maximize performance on multi-core systems.
  • Multi-Core Optimized Code Samples: Many of the Intel IPP code samples are threaded to illustrate the effective use of Intel IPP functions in applications such as video encoding and decoding.
  • Fully Thread-Safe Functions: All Intel IPP functions are fully thread-safe, simplifying integration into threaded applications.
To learn more about threading and Intel IPP functions visit our threading Frequently Asked Questions (FAQ) page.

Back to top

Performance-Optimized Functions

Intel IPP functions are designed to deliver performance beyond what optimized compilers alone can deliver, by matching the function algorithms to low-level optimizations based on the processor’s available features such as Streaming SIMD Extensions (SSE, SSE2, SSE3, SSSE3, and SSE4) and other optimized instruction sets.

Function Domain List
Video CodingJPEG CodingAudio Coding
Image ProcessingSpeech CodingSpeech Recognition
Computer VisionSignal ProcessingVector/Matrix Operations
Color ConversionData CompressionCryptography
String ProcessingRay Tracing/Rendering (New!) 

Video Coding: Key algorithmic components for DV25/50/100, MPEG-2, MPEG-4, H.263, and MPEG-4 Part 10 (H.264) codecs. Figure 3 shows where Intel IPP video coding components (represented by the blue boxes) fit into the H.264 codec process flow. Functions include:

  • Motion Compensation
  • Motion Estimation
  • Modified Discrete Cosine Transforms
  • Quantization and Inverse Quantization
  • Entropy Coding


Figure 3. Intel Integrated Performance Primitives (Intel IPP) Components in the H.264 Codec Process Flow

The Video and Audio code samples illustrate sample codec implementations using Intel IPP functions.

Back to Function Domain List


Image and 2D Signal Processing: Intel IPP is the premier library of image and 2D signal processing algorithms, and includes a rich selection of algorithms operating on images and regions within images (ROIs):

Transforms:
Wavelet
Fourier (FFT/DFT, real/complex)
Windowing (Hamming, Bartlett)
Discrete Cosine (DCT)

Filtering Functions:
General linear filtering
Convolution/Deconvolution (LR and FFT)
Box, Min, Max, Median
Wiener Filters
Fixed Filters (Prewitt, Sobel, Laplace, Gauss, Scharr, Roberts)
Sharpening/Hipass/Lowpass Filters

Geometric Transforms:
Resize, Mirror, Rotate, Shear
Affine transforms
Perspective transformations
Bilinear warping
Coordinate remapping
Image Statistics:
Sum, Integral, Tilted Integral
Mean, Min, Max, Histogram, StDev
Image Moments
Image Norms (L1, L2, infinity)
Image Quality Index calculation
Proximity Measures (Cross-correlations, Square Distance)
Threshold/Compare Operations

Image Arithmetic/Logic Operations:
Alpha composition
Arithmetic operations (add/sub/mul/div/sqrt/sqr/ln/exp/abs)
Logical operations (AND, OR, XOR, Shift, NOT)

Image Data Exchange/Initialization:
Copy/Set/Transpose
Channel swapping
Jaehne/Ramp/Zigzag initialization
Memory allocation for multiple image types

Back to Function Domain List


Computer Vision: Intel IPP includes optimized functions for many key computer-vision operations, for applications in security, machine control, media management, media annotation and more:

Feature Detection (Corner, Canny Edge Detection)
Distance Transforms
Image Gradients
Flood Filling
Motion Templates generation
Optical Flow calculation (Lucas-Kanade)
Pattern Recognition (Haar classifiers)
Pyramid functions (Gaussian/Laplacian pyramids)
Universal Pyramid functions
Camera Calibration
3D Reconstruction
Intel IPP based optimization is automatically included in the popular OpenCV open-source computer-vision library, for enhanced performance on real-time tasks, and Intel IPP was a key software component in the winner of the 2005 DARPA Grand Challenge.

Back to Function Domain List


Color Conversion: Today’s explosion of digital media in multiple formats brings the need to convert digital media among different color representations. Intel IPP provides a rich set of optimized color-conversion routines on 32/24/16-bit-per-pixel formats:

Color Model Conversion:
RGB, YUV, YCbCr, BGR, CbYCr, HSV,
LUV, Lab, YCC, HLS, SBGR, YCoCg,
YCCK, XYZ, CMYK

Color Format Conversions:
YCbCr422, YCbCr420, YCbCr411, CbYCr422, BGR565, BGR555, BGR565Dither
Lookup Table Conversions (Linear/Cublic/Palette)
Color to Greyscale Conversions (Fixed/Custom coefficients)
Image Bit Resolution Reductions
Color Twist Conversions (integer/float pixel values)
Gamma Corrections (Forward/Backward)

Back to Function Domain List


String Processing: Build optimized text database management, search and retrieval, or document indexing processing into your applications using Intel IPP’s optimized string operations.

Substring substitution/insertion
String concatenation/splitting
Upper/lower case conversions
String/Substring matching
Regular Expression matching
Hash value calculation

Back to Function Domain List


JPEG Coding: Key algorithmic components for JPEG, JPEG 2000, and Motion JPEG codecs. Figure 4 shows where Intel IPP JPEG coding components (represented by the blue boxes) fit into the JPEG and JPEG 2000 codec process flow.

Figure 4. Intel Integrated Performance Primitives (Intel IPP) Components in the JPEG and JPEG 2000 Codec Process Flow
Back to Function Domain List


Speech Coding: Intel IPP includes a comprehensive set of routines supporting the following speech codecs/functions:

G.722.1
G.722 Sub-Band ADPCM
G.723.1
G.726
G.728
Echo Cancellation
G.729
GSM-AMR
AMR-Wideband
GSM Full Rate
Companding

The freely-downloadable Intel IPP Universal Speech Class (USC) code samples illustrate the use of the low-level Intel IPP functions to build speech codecs.

Back to Function Domain List


Signal Processing: Includes signal processing features for the following:

Filtering and Convolution:
Finite Impulse Response (FIR)
Infinite Impulse Response (IIR)
Median filtering
Cyclic convolution
Auto/Cross-correlation

Transforms:
Fourier (FFT, DFT, Goertzel)
Discrete Cosine Transforms (DCT)
Hilbert Transforms
Wavelet Transforms (fixed/custom filters)
Power spectrum calculation

Windowing/Sampling:
Upsampling/Downsampling
Windowing (Bartlett/Blackman/Hamming/Hann/Kaiser)
Array/Signal Initialization/Manipulation:
Move/Copy/Set/Zero
Tone/Triangle/Ramp/Jaehne Generation
Random vector generation (Uniform/Gaussian)
Array allocation
Real/Complex conversion
Polar/Cartesian conversion

Array/Signal statistics:
Sum/Max/Min/Mean/StdDev/Norm
Dot products
Thresholding
Viterbi decoding

Array Arithmetic/Logic Operations:
Arithmetic operations (add/sub/mul/div/sqrt/sqr/ln/exp/abs)
Logical operations (AND, OR, XOR, Shift, NOT)
Array sorting
Magnitude/Phase

Back to Function Domain List


Data Compression: In addition to video, audio and image compression with codecs, Intel IPP provides functions for lossless compression methods, such as those used in the popular “zlib” (inflate and deflate) and “libbzip2” libraries.

Burrows-Wheeler-Transform techniques:
Burrows-Wheeler Transform (BWT)
Generalized Interval Transform
Move-to-Front (MTF)
Run-length encoding (RLE)
Entropy coding:
Huffman coding
Variable-Length Coding (VLC)

Dictionary-based Compression:
LZSS encode/decode
LZ77 encode/decode

Back to Function Domain List


Audio Coding: Key algorithmic components for MP3,and AAC codecs. Figure 5 shows where Intel IPP JPEG coding components (represented by the blue boxes) fit into the AAC codec process flow. Functions include:

  • Huffman Coding
  • Spectral Data Pre-Quantization
  • Modified Discrete Cosine Transforms
  • Block Filtering
  • Frequency Domain Prediction
  • Spectral Band Replication
  • Fast Fourier Transforms


Figure 5. Intel Integrated Performance Primitives (Intel IPP) Components in the AAC Codec Process Flow

The Video and Audio code samples illustrate sample codec implementations using Intel IPP functions.

Back to Function Domain List


Speech Recognition: Build advanced speech recognition, Voice-over-IP, and voice annotation capabilities in applications, using Intel IPP’s broad range of speech-recognition capabilities:

Feature Processing
Model Evaluation
Model Estimation
Model Adaptation
Vector Quantization
Acoustic Echo Cancellation (AEC)
Polyphase Resampling
Advanced Aurora Functions
Ephraim-Malah Noise Suppression
Voice Activity Detection

Back to Function Domain List

Vector/Matrix Operations: Intel IPP contains a rich set of matrix and vector operations for a wide variety of applications, including physics modeling and 3D transform/lighting calculations.

Matrix algebra:
Eigenvalue/eigenvector calculation
Least Squares (QR decompositions/back-sub)
Linear Systems (LU/Cholesky)
Region-of-Interest (ROI) extraction
Fast copy of vectors/matrices
Vector algebra:
Dot products
L2 norm calculation
“saxpy” (ax + y) operations
Linear combination (ax + by)
Power/root functions
Exponential/Logarithmic/Erf/Erfc functions
Trigonometric/Hyperbolic functions
Polar/Cartesian conversion
For applications requiring high-performance linear algebra operations on very large data sets, the Intel® Math Kernel Library may also be of interest.

Back to Function Domain List

Cryptography: Use Intel IPP to quickly build robust, high-performance cryptographic modules and applications. Below are some of the many cryptographic building blocks included in Intel IPP’s cryptography functions.

Symmetric Ciphers:
Block Ciphers (AES/Rijndael, DES, Triple DES, Blowfish, Twofish)
Stream Ciphers (ARCFour)

One-way Hashing:
Generalized Hashing (MD5, SHA1-512)
Mask Generation (MD5, SHA1-512)

Data Authentication:
Keyed Hash (HMAC-MD5, HMAC-SHA1-512)
Data Authentication Functions (DES, TDES, Rijndael, Blowfish, Twofish)
Asymmetric Cryptography:
Elliptic curve cryptography (GF(p) and GF(2m)
RSA algorithm (RSA-OAEP, RSA-SSA)
Discrete-Logarithm Cryptography
Big-Number arithmetic
Montgomery reduction
Pseudo-random number generation
Prime number generation

Intel IPP’s cryptographic functions have been validated according to the Cryptographic Algorithm Validation Program (CAVP).

NameStandards/Certificate
Discrete Logarithm (Digital Signature Standard)FIPS 186-2 / Cert 190
Integer Factoring (Digital Signature Standard)FIPS 186-2, ANSI X9.31-1998 / Cert 181
Eliptic Curve Digital Signature Algorithm (ECDSA)FIPS 186-2, ANSI X9.62-1998 / Cert 40
Random Number GeneratorFIPS 186-2 / Cert 245

Note: To access the Cryptography Library, you must request access from Intel.

Back to Function Domain List

Ray-Tracing and Rendering: Core operations used in ray-tracing, realistic image rendering, and physics applications:

Bounding-box calculations
Object-ray intersections
Shadow/Reflection calculations

Back to Function Domain List

Back to top

New in This Release
Expanded Data Compression Functions and Code Samples

The Data Compression code samples have been expanded, and now include compression/decompression utilities that are command-line compatible with gzip and bzip2. Scripting applications can use these sample applications to accelerate server-side data management applications, and more. In addition, Intel IPP 5.3 now includes full support for Run-Length Encoding (RLE) data compression.

Optimized for the 45-nm Intel® Core™ 2 Processor Family

Intel IPP 5.3 delivers new performance optimizations specially targetted at the 45-nm Intel® Core™2 processor family. The 45-nm Intel Core 2 processor family includes new features such as Intel® Streaming SIMD Extensions 4 (Intel® SSE4), a set of 47 new instructions representing the most significant improvement to the Intel® 64 instruction set architecture since 2001.

New Operating System Support Intel IPP 5.3 expands the range of supporting operating systems, including:

  • Apple* Mac OS* X 10.5
  • Ubuntu* and Debian* Linux distributions
JPEG and JPEG2000 Codec support for Microsoft .NET*

Intel IPP 5.3 now provides code samples for JPEG and JPEG2000 encoding/.decoding under the Microsoft* .NET* framework.

Compatibility
Operating Systems
Intel IPP 5.3 supports Windows Vista and 64-bit Mac OS X applications. Code re-use and cross-platform operating system development is simplified by having one library API for Windows*, Linux* and Mac OS* X.

Development Environments
Intel IPP is fully compatible with other development tools from Intel, such as compilers, performance and threading analyzers, and other Intel Performance Libraries. In addition, Intel IPP is easily used and integrated with popular development tools and environments, such as Microsoft Visual Studio*, Xcode*, Eclipse*, and the GNU Compiler Collection (GCC).

Processors
  • Multi-core processors, including Intel® Core™2 Quad, Intel® Core™2 Extreme, Intel® Core™2 Duo, Intel® Core™ Duo, Intel® Xeon® and Intel® Pentium® D processors
  • Intel® 64 architecture-based systems, including Intel Core 2 processors, Intel Xeon processors, Intel Pentium D processors, and compatible AMD processors.
  • IA-32 architecture-based processors, including Intel® Core™ processor family, Intel® Pentium® processors, and compatible AMD processors.
  • Intel XScale® microarchitecture-based processors, including Intel® IXP4xx processors.

Back to top

Technical Support
Every purchase of an Intel® Software Development Product includes a year of support services, which provides access to Intel Premier Support and all product updates during that time. Intel Premier Support gives you online access to technical notes, application notes, and documentation. Install the product, and then register to get support and product update information.

Back to top

System Requirements
Please refer to the section below for installation requirements and system requirements that match your application’s target platform.

Application Target Platforms

32-bit Intel® architecture Platforms
Intel® Core™ 2 processor family( including 45nm processors)
Intel Core processor family
Intel® Pentium® M processors
Intel ultra-mobile processors (A100, A110, and 45 nm processors)
Intel Pentium D processor
Intel® Pentium® 4 processor
Intel® Xeon® processors(3000, 5000, 7000 series)
Other compatible processors such as AMD Athlon* and Opteron* processors
64-bit Intel 64 architecture-based platforms
Intel Core 2 processor family(including 45nm processors)
Intel ultra-mobile processors (45 nm processors)
Intel Pentium D processor
Intel Pentium 4 processor
Intel Xeon processors(3000, 5000, 7000 series)
Other compatible processors such as AMD Athlon and Opteron processors
64-bit IA-64 architecture-based platforms
Intel® Itanium® processors
Intel XScale microarchitecture-based platforms
Intel IXP4xx Processors with Intel XScale® technology

32-bit IA-32 Architecture-Based and Compatible Platforms
(Intel Core 2 processor family, Intel Core processor family, Intel Pentium processors, and compatible AMD processors)

 OS VersionSupported Compilers
Microsoft WindowsWindows XP, SP1 or SP2

Windows Vista

Windows Server* 2003
Intel® C++ Compiler 10.1 ,10.0, 9.1 for Windows

Microsoft Visual C++* 2003, 2005

Microsoft eMbedded Visual C++ 4.0 with
Service Pack 4
LinuxUbuntu 6.04, 7.10

Debian 3.1r5, 4.0

Red Hat Enterprise Linux* 3, 4 and 5

Red Hat Fedora Core 4, 5

SUSE Linux Enterprise Server* 9 or 10

Red Flag DC Server 5.0

Mandriva 10.1

MontaVista 3.1, 4.0
Linux Standard Base 3.1
Intel C++ Compiler version 10.1, 10.0, 9.1 for Linux or later

Linux Developer Tools installed, including gcc, g++, and related tools
Mac OS X10.4.3 or laterIntel C++ Compiler 10.1, 10.0, 9.1 for Mac OS X, including Professional Edition

GNU Compiler Collection 4.0 or later

64-bit Intel 64 Architecture-Based Platforms
(Intel Core 2 processor family, Intel Pentium D processors, Intel Xeon processors, and processors from AMD compatible with Intel 64 architecture)

 OS VersionSupported Compilers
Microsoft WindowsWindows XP 64-bit Edition

Windows Server 2003

Windows XP 64-bit Edition
Intel C++ Compiler 10.1, 10.0, 9.1 for Windows

Windows Server 2003 with Service Pack 1 SDK
LinuxUbuntu* 6.04, 7.10

Debian* 3.1r5, 4.0

Red Hat Enterprise Linux* 3, 4 and 5

Red Hat Fedora Core 4, 5

SUSE Linux Enterprise Server* 9 or 10

Red Flag Linux DC Server 5.0

Mandriva 10.1

Linux Standard Base 3.1
Intel C++ Compiler 9.0 for Linux or later

Linux Developer Tools installed, including gcc, g++, and related tools
Mac OS X10.4.6 or laterIntel C++ Compiler 10.1 and 10.0 for Mac OS X

GNU Compiler Collection 4.0 or later

64-bit IA-64 Architecture-Based Platforms
(Intel Itanium processors)



Linux Standard Base 3.1
 OS VersionSupported Compilers
Microsoft WindowsWindows Server 2003Intel C++ Compiler 10.1, 10.0, and 9.1 for Windows

Microsoft Platform SDK February 2003
LinuxUbuntu* 6.10, 7.10

Debian* 3.1r5, 4.0

Red Hat Enterprise Linux 3, 4 and 5

SUSE Linux Enterprise Server 9 or 10

Mandriva 10.1
SGI Propack 4.0, 5.0
Intel C++ Compiler 9.0 for Linux or later

Linux Developer Tools installed, including gcc, g++, and related tools

Embedded Applications on Intel XScale Microarchitecture-based Platforms
(Intel IXP4xx Product Line of Network Processors)

 OS VersionSupported Compilers
Microsoft WindowsWindows CE 6.0Microsoft eMbedded Visual C++* 4.0 with Service Pack 4
LinuxMontaVista Linux* 4.0 CEE LE

MontaVista Linux 3.1 Pro BE
iwmmxt_le-gcc (MontaVista) for LE applications

xscale_be-gcc (MontaVista) for BE applications

Installation Requirements

 Supported Software / Hardware
Operating SystemsMicrosoft Windows:
  • Windows Vista
  • Windows XP, SP1 or SP2
  • Windows Server 2003, SP1 or SP2

Linux:
  • Ubuntu 6.04, 7.10
  • Debian 3.1r5, 4.0
  • Red Hat Enterprise Linux* 3, 4 and 5
  • Red Hat Fedora Core 4, 5
  • SUSE Linux Enterprise Server* 9 or 10
  • Red Flag DC Server 5.0
  • Mandriva 10.1

Mac OS X:
  • Version 10.4.3 or later
Processor RequirementsIA-32 architecture-based and compatible platforms:
  • Intel® Pentium® III processor or later, 400MHz or faster
  • Any Intel Core family processor
  • Any Intel Xeon processor
  • Compatible AMD processors

Intel 64 architecture-based and compatible platforms:
  • Any Intel Core family processor
  • Any Intel Xeon processor
  • Any Intel Pentium D processor
  • Compatible AMD processors

Intel Itanium processor-based platforms:
  • Any Intel Itanium processor
Minimum Disk Space for Install400 MB for each Application Target Platform


Intel® Software
Network
Intel® Software Network
  • It’s free and easy to become a member, so join today!


     
    Tell us what you think