Intel Integrated Performance Primitives: How to Optimize Software Applications Using Intel IPP

Intel Integrated Performance Primitives: How to Optimize Software Applications Using Intel IPP

by Stewart Taylor

Paperback

$50.00 $59.95 Save 17% Current price is $50, Original price is $59.95. You Save 17%.

Product Details

ISBN-13: 9780971786134
Publisher: Intel Press
Publication date: 12/28/2003
Series: Engineer to Engineer
Pages: 400
Product dimensions: 7.42(w) x 9.04(h) x 1.13(d)

Table of Contents

Acknowledgementsix
Chapter 1Introduction1
What Are the Intel Integrated Performance Primitives?2
A Broad Multimedia and Computational Library ("Integrated")2
A Software Optimization Layer ("Performance")3
An Extensive Set of Low-Level Operations ("Primitives")4
A Cross-Platform API5
Why This Book?6
Who's the Reader?6
What are the Contents?7
CD-ROM8
Chapter 2Using Intel Integrated Performance Primitives (Intel IPP)9
Linkage Options Overview9
Dynamic Linkage13
Usage14
Distribution15
Static Linkage with Dispatching15
Usage17
Distribution18
Custom Dynamic Linkage19
Usage20
Distribution22
Static Linkage Without Dispatching22
Usage24
Distribution25
Linkage Model Comparison26
Linkage Features Summary27
Chapter 3Architecture and Interface31
The Three Input Types31
Fundamental Data Types33
Signals and Arrays34
Images36
Matrices40
Objects40
Sizes41
Descriptors41
Core Functions44
Domains44
Multi-step Operations45
Init Sequence46
InitAlloc Sequence47
Return Values48
Arguments50
Structures51
Fundamental Type Structures51
Basic Structures51
Multi-step Operation Structures52
Chapter 4Basic Techniques53
Measuring Performance with CoreGetCpuClocks54
Copying Data56
Converting Types and Layouts58
Converting Data Types with Convert58
Rearranging Data with Real, Imag, RealToCplx and CplxToReal60
Initializing Arrays62
Initializing One-Dimensional Arrays with ippsVectorRamp63
Initializing Two-dimensional Arrays with ippiImageRamp65
Removing Loops and Branches65
Removing Branches with Threshold66
Removing Loops with Compare and Logical Operations71
Removing Loops with Compare and Copy with Mask74
Performing Arithmetic Efficiently76
Performing Arithmetic Between Integers and Floating Point Values with AddWeighted and AddProduct76
Performing Linear Combinations of Two Sources with Alpha Composition77
Performing Linear Combinations of Three Sources with ColorToGray and ColorTwist79
Optimizing Table-Based Functions Using a Look-Up Table80
Further Reading83
Chapter 5Digital Filtering85
A Quick Course in Filtering85
The Idea of Filters86
The Frequency Domain and Fourier Transforms90
Fourier Transform Properties95
Filtering in the Frequency Domain97
Time-Domain Filters97
Filtering in Intel IPP102
Signal Generation103
Frequency Domain Filtering104
Time Domain Filtering114
Other Topics131
Infinite Impulse Response Filters131
Windowing131
Filter Design134
Nonlinear Filters134
Further Reading135
Chapter 6Audio Processing137
Audio sources137
Generating Audio137
Wave Audio143
Audio Analysis146
Phase and Shift146
The Short-Time Fourier Transform150
Spectral Analysis153
Goertzel Transform155
Cepstrum157
Audio Manipulation163
Echoes with Infinite Impulse Response Filters164
Resampling with Multi-Rate FIR166
Spectral Manipulation171
Signal Stretching174
Faux Stereo176
Further Reading180
Chapter 7Audio Coding181
Audio Coding Basics181
MP3183
MP3 Codec Components183
MP3 in Intel Integrated Performance Primitives (Intel IPP)188
AAC198
AAC vs. MP3199
Profiles199
Implementing AAC199
Other Topics206
Further Reading206
Chapter 8Image Processing207
Images in Intel Integrated Performance Primitives (Intel IPP)207
Image Definition and Rectangle of Interest208
Allocation, Initialization, and Copying211
Image Objects214
The Image8u Object215
The ROI Class223
The Mask Class225
Chapter 9Image Filtering and Manipulation233
Image Filtering233
Rectangles of Interest and Borders234
Filter Class239
Filters and Tiling248
General Filters249
Fixed Filters254
Convolution259
Other Filter Functions263
Geometric Transforms265
Geometric Transform Conventions265
Resizing269
Rotation273
Affine Transform281
Geometric Transforms and Tiling288
Other Transforms in Intel Integrated Performance Primitives (Intel IPP))291
Further Reading293
Chapter 10JPEG and MPEG295
Overview of Coding295
Coding in Intel Integrated Performance Primitives (Intel IPP)297
JPEG297
JPEG Codec Components298
JPEG in Intel IPP302
Independent JPEG Group Library308
JPEG sample319
JPEG 2000324
JPEG 2000 Codec Components324
JPEG 2000 in Intel IPP328
JPEG 2000 sample329
MPEG-2333
MPEG-2 Components333
MPEG-2 in Intel IPP337
Other Topics344
Further Reading344
Chapter 11Graphics and Physics345
Background346
Geometry for Graphics and Physics346
3DS structure and 3DS object348
3DS OpenGL Viewer351
Object Viewer Application355
Programming Methodology356
Geometry362
Transforming the Model362
Projection364
Drawing in the View368
Ray Tracing368
Calculating the Plane Equation369
Pre-calculating the Planes for Each Side of the Triangle376
Intersecting a Ray and a Plane381
Determining Whether a Point is Inside a Triangle382
Physics385
Calculating Center of Mass385
Line Segment-Triangle Intersection392
Triangle-Triangle Intersection394
Further Reading397
Chapter 12Special-Purpose Domains399
Strings399
C Strings401
C++ Standard Template Library Strings403
MFC Strings405
Cryptography408
Big Numbers408
Public-Key Cryptography411
Other Cryptographic Support in Intel Integrated Performance Primitives (Intel IPP)416
Computer Vision416
Edge Detection417
Multi-resolution Analysis420
Template Matching424
Further Reading430
References431
Index433

What People are Saying About This

Davis Frank

Filled with comprehensive real-world examples. I’m recommending this book to my entire software team.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews