Intel® Intel® Software Development Products for Intel® Platforms and Technologies
Intel® Integrated Performance Primitives 6.0 for Windows*, Linux*, and Mac OS* X
 Overview

 New In This Release  Support
 Features

 Compatibility Print Print
 Performance-Optimized
 Functions
 System Requirements  

Overview
Intel® Integrated Performance Primitives 5.2<br>for Windows*, Linux*, and Mac OS*

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.

Version 6.0 Available Now! Intel IPP 6.0 brings expanded functionality in data compression, image processing, 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 component of the Intel® Compiler Professional, and Suite Editions, for a more complete and cost-effective solution, and as a standalone product.

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

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


Features
Multi-Core Processor Support
Figure 1. Multi-Core Processors
Figure 2. Multi-Core Processors Enable the True Parallel Execution of Multi-Threaded Software
Applications
Intel IPP 6.0 fully supports today’s multi-core computing platforms:
Multi-Core Optimized Functions: Many critical functions for Vector and Statistical mathematics, Signal Filtering, Fourier Transforms, Image/JPEG Compression and Color Conversion are internally threaded using OpenMP* for the highest 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.
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, SSE4, and SSE4.1) and other optimized instructions sets.

Intel® IPP Function Domain List
Image Processing
Video Coding
Data Compression
JPEG/JPEG 2000
Computer Vision
Vector/Matrix Operations
Color Conversion
Audio Coding
Cryptography
Ray-Tracing/Rendering
Speech Coding
String Processing
Signal Processing
Speech Recognition
Data Integrity(new!)
back to top 

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 2. Intel® Integrated Performance Primitives (Intel® IPP) Components in the H.264 Codec Process Flow
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)
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-corrrelations, Square Distance)
Threshold/Compare Operations
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
Image Arithmetic/Logic Operations:
Alpha composition
Arithmetic operations
(add/sub/mul/div/ sqrt/sqr/ln/exp/abs)
Logical operations (AND, OR, XOR, Shift, NOT)
Geometric Transforms:
Resize, Mirror, Rotate,, Shear
Affine transforms
Perspective transformations
Bilinear warping
Coordinate remapping
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: 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)
Pattern Recognition (Haar classifiers)
Distance Transforms
Pyramid functions (Gaussian/Laplacian pyramids)
Image Gradients
Universal Pyramid functions
Flood Filling
Camera Calibration
Motion Templates generation
3D Reconstruction[ST2]
Optical Flow calculation (Lucas-Kanade)
 
Back to Function Domain List 

Color Conversion:Intel IPP provides a rich set of optimized color-conversion routines on 32/24/16-bit-per-pixel formats:
Color Module Conversion:
RGB, YUV, YCbCr, BGR, CbYCr, HSV, LUV, Lab, YCC, HLS, SBGR, YCoCg, YCCK, XYZ, CMYK

Lookup Table Conversions (Linear/Cublic/Palette)

Color to Greyscale Conversions (Fixed/Custom coefficients)

Image Bit Resolution Reductions

Color Format Conversions:
YCbCr422, YCbCr420, YCbCr411, CbYCr422, BGR565, BGR555, BGR565Dither

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/Substring matching
String concatenation/splitting
Pyramid functions (Gaussian/Laplacian pyramids)
Upper/lower case conversions
Hash value calculation
Back to Function Domain List 

JPEG Coding: Key algorithmic components for JPEG, JPEG 2000, and Motion JPEG codecs. Figure 3 shows where Intel IPP JPEG coding components (represented by the blue boxes) fit into the JPEG and JPEG 2000 codec process flow.
Figure 3. Multi-Core Processors Components in 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: Includes functions for the following:
G.722.1
G729
G.722 Sub-Band ADPCM
GSM/AMR
G.723.1
AMR-Wideband
G.726
GSM Full Rate
G.728
Companding
Echo Cancellation
 
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
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
Transforms:
Fourier (FFT, DFT, Goertzel)
Discrete Cosine Transforms (DCT)
Hilbert Transforms
Wavelet Transforms (fixed/custom filters)
Power spectrum calculation
Array/Signal statistics :
Sum/Max/Min/Mean/StdDev/Norm
Dot products
Thresholding
Viterbi decoding
Windowing/Sampling:
Upsampling/Downsampling
Windowing (Bartlett/Blackman/ Hamming/Hann/Kaiser)
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 menthods, 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, AAC, and AC3 codecs. Figure 4 shows where Intel IPP JPEG coding components (represented by the blue boxes) fit into the AAC codec process flow. Functions include:
Huffman Coding
Motion Estimation
Modified Discrete Cosine Transforms
Block Filtering
Frequency Domain Prediction
Spectral Band Replication
Fast Fourier Transforms
Figure 4. Intel® Integrated Performance Primitives (Intel® IPP) Components in the AAC Codec Process Flow
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
Acoustic Echo Cancellation (AEC)
Model Evaluation
Polyphase Resampling
Model Estimation
Advanced Aurora Functions
Model Adaptation
Ephraim-Malah Noise Suppression
Vector Quantization
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
Note: 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)
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
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)
Intel IPP’s cryptography algorithms have been formally validated under the Cryptographic Algorithm Validation Program (CAVP):
Name:
Discrete Logarithm (Digital Signature Standard)
Integer Factoring (Digital Signature Standard)
Eliptic Curve Digital Signature Algorithm (ECDSA)
Random Number Generator
Standards/Certificate:
FIPS 186-2 / Cert 190
FIPS 186-2, ANSI X9.31-1998 / Cert 181
FIPS 186-2, ANSI X9.62-1998 / Cert 40
FIPS 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
 

Data Integrity: Error correcting codes are vitally important to preserving the integrity of data in transmission, storage and encoding. For example transmission lines can be unreliable and introduce data errors, spurious signals can occur when saving data to a compact disk, and errors can occur when reading bar codes. Using error correcting codes like Reed-Solomon is a good way to correct these errors.

Error Correcting Codes:

Reed-Solomon
Back to Function Domain List 

New In This Release
Expanded Optimizations for latest Intel Microarchitectures
Intel® Core™ i7 processor support
Intel® Atom™ Processor support
High-level Data Compression library Support for LZO high-speed algorithm, and improved performance for zlib, gzip, and bzip2 algorithms.
Deferred Mode Image Processing (DMIP) Layer, introduced as a sample on top of Intel IPP libraries, provides solutions for pipelined image operations on larger images, utilizes in memory optimization and improves performance in multi-threading environment.
Unified Image Codec (UIC) framework sample library to standardize plug-and-play interfaces for various image codecs (JPEG, JPEG2000, etc.)
Threaded Static Libraries are added to cover all functional domains
Data Integrity Functional Domain: Reed-Solomon error correcting codes to preserve integrity of data in transmission, storage and encoding.
New functions in existing domains
Signal Processing: Walsh-Hadamard and Discrete Hartley transforms plus higher performance complex and real discrete Fourier transforms (DFT) for various input sizes and input/output formats. (ippGen)
Image processing: ippiCopy and ippiTranspose functions
Image processing: 3D transforms - resizing, affine transform and remapping
Video coding enhancement: denoising, deinterlasing, demosaicing
Cryptography : Reed-Solomon Algorithm
New features and enhancement in Intel IPP samples
Microsoft* RT audio support
Speech coding standard G729.1 codec support
Video AVS codec support for decoding
Image search descriptors (MPEG7), color layout, edge histogram
Super resolution technology, optical flow
ALS decoder profile support in AAC decoding
back to top 

Architecture, Operating System, and Compiler Compatibility
Please refer to the section below for installation requirements and system requirements that match your application’s target platform.
back to top 

System Requirements

Application Target Platforms
Please refer to the section below that matches your application's target computing platform:
32-bit Intel Architecture Platforms
Intel® Core i7™ processor family
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, e.g. AMD Athlon*/Opteron* processors
64-bit Intel® 64-based platforms
Intel® Core i7™ processor family

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, e.g. AMD Athlon*/Opteron* processors
64-bit Intel® Itanium® 2 processor Family Platforms
Intel® Itanium® 2 processors
Intel® XScale® Microarchitecture-based Platforms
Intel® IXP4xx Processors with Intel XScale® technology
Intel Atom architecture platforms
Intel Atom processor
Intel Centrino Atom processor
back to top 

32-bit IA-32 Intel® Architecture-Based and Compatible Platforms
  OS Version Supported Compilers
Microsoft Windows*
Windows* XP
Windows Vista*
Windows Server* 2003
Windows Server* 2008
Intel® C++ Compiler for Windows* OS version 10.1 and 11.0
Microsoft Visual Studio* 2005 and 2008
Microsoft* Visual C++*.NET 2003

Microsoft* Windows Software Development Kit for Microsoft* Windows Vista

Linux*

Linux system with glibc 2.2.4, 2.2.5, 2.2.93, 2.3.2 or 2.3.3 and the 2.4.X or 2.6.X Linux kernel as represented by the following distributions:

Red Hat Enterprise Linux* OS 2.1, 3, or 4
SUSE* Linux 8.2, 9.1
SUSE Linux Enterprise Server* 8 or 9
Debian* 4.0r1

Ubuntu* 7.10

Asianux* Server 3.0

Red Flag* 5.0

Note: Not all distributions listed are validated and not all distributions are listed.
Intel® C++ Compiler version 10.1 and 11.0 for Linux * for IA-32 processors
Linux Developer tools component installed, including GCC, g++ and related tools
Mac OS* X
Mac OS X 10.4.3 or later

Intel C++ Compiler 10.1 and 11.0 for Mac OS X, including Professional Edition
GNU Compiler Collection 4.0 or later
back to top 

64-bit Intel® 64  Architecture-Based and Compatible Platforms
  OS Version Supported Compilers
Microsoft Windows*
Windows* XP
Windows* Vista
Windows* Server 2003
Windows* Server 2008
Intel® C++ Compiler for Windows*OS version 10.1 and 11.0 for processors with Intel® 64
Microsoft* Visual Studio* 2005
Microsoft* Visual Studio* 2008
Microsoft* Platform SDK, Version 3790.1830 (April 2005)
Microsoft* Platform SDK R2, Version 3790.2075 (March 2006)
Linux*

Linux system with glibc 2.2.4, 2.2.5, 2.2.93, 2.3.2 or 2.3.3 and the 2.4.X or 2.6.X Linux kernel as represented by the following distributions:

Red Hat Enterprise Linux* OS 3 or 4
SUSE Linux Enterprise Server* 9
Debian* 4.0r1

Ubuntu* 7.10

Asianux* Server 3.0

Red Flag* 5.0

Note: Not all distributions listed are validated and not all distributions are listed.
Intel C++ Compiler 10.1 & 11.0 for Linux or later
Linux Developer Tools installed, including GCC, g++, and related tools
Mac OS* X
Mac OS X 10.4.6 or later
Intel C++ Compiler 10.1 and 11.0 for Mac OS X
GNU Compiler Collection 4.0 or later
back to top 

64-bit Intel® Itanium® 2 Processor family Platforms
  OS Version Supported Compilers
Microsoft Windows*
Microsoft* Windows Server* 2003
Microsoft* Windows Server* 2008
Intel® C++ Compiler for Windows* OS version 10.1 and 11.0 for Intel Itanium Processors
Microsoft* Platform SDK, Version 3790.1830 (April 2005)
Microsoft* Platform SDK R2, Version 3790.2075 (March 2006)
Linux

Linux system with glibc 2.2.4, 2.2.5, 2.2.93, 2.3.2 or 2.3.3 and the 2.4.X or 2.6.X Linux kernel as represented by the following distributions.

Red Hat Enterprise Linux* OS 2.1, 3, or 4
SUSE Linux Enterprise Server* 8 or 9
Debian* 4.0r1

Ubuntu* 7.10

Asianux* Server 3.0

Red Flag* 5.0

Note: Not all distributions listed are validated and not all distributions are listed.
Intel C++ Compiler 10.1 & 11.0 for Linux
inux Developer Tools installed, including GCC, g++, and related tools
back to top 

Intel® Atom Architecture-based Platforms
  OS Version Supported Compilers
Linux
Linux system with glibc 2.2.4, 2.2.5, 2.2.93, 2.3.2 or 2.3.3 and the 2.4.X or 2.6.X Linux kernel as represented by the following distributions.

Ubuntu* 7.10

Red Flag* 5.0

Note: Not all distributions listed are validated and not all distributions are listed.
Intel® C++ Compiler version 10.1 & 11.0 for Linux* OS for IA-32 processors
Linux Developer tools component installed, including GCC, g++ and related tools
back to top 

Installation Requirements
  Supported Software / Hardware
Operating Systems
Linux*:

Ubuntu* 7.10

Red Flag* 5.0

Minimum Processor Requirements
IA-32 Intel® Architecture & 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 or Compatible Platforms:
Any Intel® Core™ Family processor

Any Intel® Pentium® D processor

Any Intel® Xeon® processor

Compatible AMD* processors

Intel® Itanium® 2 Platforms:

Any Intel Itanium 2 processor

Intel® Atom Processor-based Platforms:

Any Intel® Atom Family processor

Minimum Disk Space for Install
900 MB, plus 300 MB of temporary space during installation for each Application Target Platform
back to top 

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 

Intel provides both the tools and support to enhance the performance, functionality and efficiency of software applications.
Compatible with leading Windows* and Linux* development environments, Intel® Software Development Products are the fastest and easiest way to take advantage of the latest features of Intel processors. Intel Software Development Products are designed for use in the full development cycle, and include Intel® Performance Libraries, Intel Compilers (C++, Fortran for Windows, Linux, and Mac OS* X), Intel® VTune™ Analyzer, and Intel® Threading Tools and Intel® Cluster Tools.
The Intel® Premier Customer Support Web site provides expert technical support for all Intel software products, product updates and related downloads. For additional product information visit: www.intel.com/software/products.
Intel, the Intel logo, Itanium, Pentium, Intel Centrino, Intel Xeon, Intel XScale, VTune, Celeron, Intel NetBurst, and MMX are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other brands and names may be claimed as the property of others. Visit our Legal Information Web site for more information.
Copyright © 2008, Intel Corporation
back to top