Intel® Integrated Performance Primitives v4.1 for Linux* on Intel® Personal Internet Client Architecture
Processors with Intel® Wireless MMXTM Technology Release Notes
July 20, 2004
Ordering Number: 303280-001
6.1 Installed Files and Libraries
8.1 Software Changes (Compared to Version 4.0)
8.1.1 What Has Been
Added In This Release
10. Technical Support and Feedback
This package contains the Intel® Integrated
Performance Primitives (Intel® IPP) Version 4.1 for
Linux* on Intel® Personal Internet Client Architecture (Intel®
PCA) Processors with Intel® Wireless MMXTM Technology.
This release version includes the following features that are described in Features of Intel® IPP:
·
Part I Signal processing – Signal
processing primitives
·
Part II Video Codecs – H.263 video decoder,
H.264 video decoder and MPEG-4 video codec primitives
·
Part III Audio Codecs – MP3 audio codec
and AAC audio decoder primitives
·
Part IV Image Codecs – JPEG and JPEG 2000
image codec primitives
·
Part V Image processing – Image processing
primitives
·
Part VI Speech Codecs – GSM-AMR
wideband codec, GSM-AMR narrowband codec,
and G.723.1/A codec primitives
·
Part VII Cryptography – FIPS standardized
symmetric/asymmetric ciphers, hash/HMAC/DAA algorithm
·
Part VIII Speech recognition – Feature
extraction and vector quantization, voice activity detection, acoustic echo
cancellation, and noise reduction primitives
Intel® IPP Version 4.1 is
based on the Intel® IPP Version 4.0, but adds new audio codec
primitives, speech codec primitives, video codec primitives, signal processing and image processing primitives. See Features
of Intel® IPP for more information.
Intel®
IPP Version 4.1 has been developed under the following environment:
·
Development
Tools –
(1) iwmmxt_le-gcc (GCC)
3.3 (MontaVista),glibc 2.3.2 and binutils 2.14 20030612.
(2) arm-linux-gcc (GCC) 3.3.2, glibc 2.3.2 and
binutils 2.14.90.0.7 20031029.
·
Processor
– Intel®
PCA Processors with Intel® Wireless MMXTM Technology, such as the Intel® PXA27x
processor family (PXA27x processor).
·
Reference
board – Platforms that support Intel® PCA Processors with
Intel® Wireless MMXTM
Technology, such as the Intel® PXA27x Processor Development Kit.
·
Operating
system –
(1) Montavista CEE consumer
electronic 3.0: Linux* kernel version 2.4.20_mvlcee30_mainstone.
(2) Linux Preview Kit for
Intel® PXA27x Processor Development Kit 04-28-2004: Linux* kernel version
2.4.21-rmk1-pxa1-intc2.
The software is aimed at the above environment.
However, efforts have been made to keep the software in the ANSI C style
whenever possible. Although Intel® IPP functions were tested, no
warranty, expressed or implied, is associated with these functions and all the
associated materials in this package. The user assumed all risk. See the
License Agreement for details.
See the Intel® Integrated
Performance Primitives on Intel® Personal Internet Client
Architecture Processors Reference Manual.
Other related documentation that may be helpful while
reading this document are listed in the reference section of the Intel®
Integrated Performance Primitives on Intel® Personal Internet Client
Architecture Processors Reference Manual (order
number 278893).
Intel® IPP version 4.1 is organized into the
following parts:
Parts |
Features |
Part I -Signal processing primitives |
· Vector Initialization, Arithmetic, Thresholding, and Statistics · Filtering · Convolution · Transforms · Sample generation · Windowing · Kodiak |
Part II -Video codecs: H.263 video decoder, H.264 video decoder and MPEG-4 video codec primitives |
· Variable length decoding (VLD) and inverse zigzag positioning · Variable length encoding (VLE) and forward zigzag positioning (MPEG-4 only) · Inverse quantization · Forward quantization · Inverse discrete cosine transforms (IDCT) · Forward discrete cosine transforms (DCT) · Motion vector decoding and padding · Motion vector encoding (MPEG-4 Only) · Texture padding (MPEG-4 Only) · Overlapped block motion compensation (OBMC) · Coefficient prediction · Block based decoding · Block based encoding (MPEG-4 only) · Deblocking filtering · Motion compensation and reconstruction · Motion estimation · Binary alpha block (BAB) decoding (MPEG-4 only) · Context-based adaptive variable length decoding (CAVLC) (H.264 only) · 1/4 luma and 1/8 chroma sample interpolation (H.264 only) · Inverse 4x4 and 2x2 integer transform (H.264 only) |
Part III
-Audio codecs: MP3
audio codec and AAC audio decoder primitives |
· Frame packing and unpacking operations · Huffman encoding and decoding · Quantization and requantization module · Modified discrete cosine transform and inverse transform (MDCT and IMDCT) · Pseudo quadrature mirror analysis and synthesis filter bank (PQMF) · Psychoacoustic model · Long term prediction · Perceptual noise substitution · Temporal noise shaping · Middle/Side stereo module · Intensity stereo module · Temporal noise shaping(TNS) module |
Part IV -Image codecs: JPEG and JPEG 2000 image codec primitives |
· Color conversion · Discrete cosine transform (DCT)/quantization and IDCT/dequantization · Huffman encoding and decoding · Baseline sequential DCT-based encoding and decoding · Progressive DCT-based encoding and decoding · Reversible and irreversible discrete wavelet transform (DWT) |
Part V: Image processing Primitives |
· General arithmetic and logical operations · Filtering · Linear transforms · Color space conversion · Morphological operations · Statistics · Camera image processing |
Part VI: Speech codecs:
GSM-AMR
wideband codec, GSM-AMR narrowband codec, and G.723.1/A codec primitives
|
· Linear prediction (LP) analysis · Adaptive-codebook search · Fixed-codebook search · Discontinuous transmission · Filtering · Post-filtering |
Part VII: Cryptography – FIPS standardized symmetric/asymmetric ciphers, hash/HMAC/DAA algorithm
|
· DES ECB/CBC/CFB modes · TDES ECB/CBC/CFB modes · AES ECB/CBC/CFB modes · RIJNDAEL 128 ECB/CBC/CFB modes · RIJNDAEL 192 ECB/CBC/CFB modes · RIJNDAEL 256 ECB/CBC/CFB modes · Blowfish ECB/CBC/CFB modes · Twofish ECB/CBC/CFB modes · DAA DES/ TDES /Rijndeal128/192/256 /Blowfish /Twofish · SHA1/SHA256/384/512 /MD5 message digest · HMAC SHA1/SHA256/384/512 /MD5 · Variable length big number arithmetic · Modulus inversion, exponentiation · Pseudo-random number · Prime generation and test · RSA key generation and key check, RSA encryption/decryption · DSA key generation and key check, DSA signature/verification |
Part VIII: Speech recognition – Feature extraction, Vector guantization, voice activity detection, acoustic echo cancellation and noise reduction primitives |
· Feature extraction · Vector quantization · Voice activity detection · Noise reduction · Acoustic echo cancellation |
The installation file has the following components:
Each binary library has a release version and a debug
version. In the debug version, the functions check the input arguments and
provide error codes when incorrectly used. In the release version, input
arguments are not fully checked, and incorrect usage may result in
unpredictable behavior.
For more information, see the Intel®
Integrated Performance Primitives on Intel® Personal Internet Client
Architecture Processors Reference Manual.
Filename |
Description |
ipp.h |
Contains references to all include
files. |
ippdefs.h |
Contains Intel® IPP Common
Types and Macro Definitions. |
ippSP.h |
Contains the header file for the signal-processing domain. This header file contains the "C" prototype for every primitive in this domain and associated structures, constants, etc. |
ippVC.h |
Contains the header file for the video
codec domain. This header file contains the "C" prototype for every
primitive in this domain and associated structures, constants, etc. |
ippAC.h |
Contains the header file for the audio
codec domain. This header file contains the "C" prototype for every
primitive in this domain and associated structures, constants, etc. |
ippJP.h |
Contains the header file for the image codec domain. This
header file contains the "C" prototype for every primitive in this
domain and associated structures, constants, etc. |
ippIP.h |
Contains the header file for the image-processing
domain. This header file contains the "C" prototype for every
primitive in this domain and associated structures, constants, etc. |
ippSC.h |
Contains the header file for the speech codec domain. This header file contains the "C" prototype for every primitive in this domain and associated structures, constants, etc. |
ippCP.h |
Contains the header file for the cryptography domain. This header file contains the "C" prototype for every primitive in this domain and associated structures, constants, etc. |
ippSR.h |
Contains the header file for the speech recognition domain. This header file contains the "C" prototype for every primitive in this domain and associated structures, constants, etc. |
Filename |
Description |
ippSP_WMMX41LNX_r.a |
Release version of signal processing binary library file |
ippSP_WMMX41LNX_d.a |
Debug version of signal processing binary library file |
ippVC_WMMX41LNX_r.a |
Release version of video codec binary library file |
ippVC_WMMX41LNX_d.a |
Debug version of video codec binary library file |
ippAC_WMMX41LNX_r.a |
Release version of audio codec binary library file |
ippAC_WMMX41LNX_d.a |
Debug version of audio codec binary library file |
ippJP_WMMX41LNX_r.a |
Release version of image codec binary library file |
ippJP_WMMX41LNX_d.a |
Debug version of image codec binary library file |
ippIP_WMMX41LNX_r.a |
Release version of image processing binary library file |
ippIP_WMMX41LNX_d.a |
Debug version of image processing binary library file |
ippSC_WMMX41LNX_r.a |
Release version of speech codec binary library file |
ippSC_WMMX41LNX_d.a |
Debug version of speech codec binary library file |
ippCP_WMMX41LNX_r.a |
Release version of cryptographic primitives binary library file |
ippCP_WMMX41LNX_d.a |
Debug version of cryptographic primitives binary library file |
ippSR_WMMX41LNX_r.a |
Release version of speech recognition binary library file |
ippSR_WMMX41LNX_d.a |
Debug version of speech recognition binary library file |
The following documentation is included with this kit:
·
ipplic.htm:
license agreement
·
relnote_l_ipp_pca_wmmx_4_1.htm
(this file)
·
redist.txt:
redistributable file list
·
ippman_pca.pdf: reference manual
The following sample code is provided to illustrate
the usage of Intel® IPP in different applications:
·
Adaptive
Noise Cancellation
·
Filtering
·
OSCR
Timer
·
Artificial
Reverberation
·
Signal
Generation
·
Vector
Manipulation
Note:
The sample code may or may not represent the
best implementation method. The sample code should not be used in benchmarks
systems or any other purposes other than understanding the usage of Intel®
IPP functions. See the license agreement for more information.
Intel® IPP Version 4.1 requires:
·
Host
machine: An Intel® Pentium® 4 processor 1.5 GHz based PC with 512MB RAM, or better
·
Host
machine operating system: Red Hat* Linux* Release 7.2, or higher version.
·
Development
tools:
(1) iwmmxt_le-gcc 3.3
(MontaVista), glibc 2.3.2 and binutils 2.14 20030612.
(2) arm-linux-gcc (GCC)
3.3.2, glibc 2.3.2 and binutils 2.14.90.0.7 20031029.
Red Hat* RPM version 4.0.3
or higher version.
·
Target
platform: Platforms that support Intel®
PCA Processors with Intel® Wireless MMXTM Technology, such as the Intel® PXA27x Processor Development
Kit.
To install the Intel® IPP for Linux*
package:
1.
Use
tar to extract the Intel® IPP package
into an appropriate directory.
Note: Write access on the
target directory is required to complete this step.
2.
Execute the install script "./install" that was
extracted into the tar target directory during step 1. Any previously
installed Intel® software products will be listed, followed by a menu of newly
available products for installation. If the installation script has been
run successfully, then one of the line items will read as follows: "Intel®
Integrated Performance Primitives Version 4.1 for Linux on Intel® PCA
Processors with Intel® Wireless MMXTM Technology."
Note: Root (superuser) access
is required to complete this step.
3.
Select the IPP package line item from the above list in order to
complete the installation procedure. The installation script will take
care of all dependencies. It is strongly recommended that the rpm
options
-ivh
--force be
used in order to force any required updates of existing and
potentially obsolete files. The recommended installation path is /opt/intel/ipp41/pca_wmmx. After installation, the packages installed
will be displayed, followed by a new installation menu. Enter 'x' to exit the install script.
Intel® IPP uses Macrovision's*
FLEXlm* electronic licensing technology. License management should be
transparent. However, if you have any problems during installation, please
verify that a current license file (*.lic) is located in the same directory as
the install file. If you still have problems, please submit an issue to http://premier.intel.com. See the
"Technical Support and Feedback" section of this document for
details.
Cryptography primitives are contained in a separate
package. The cryptography package can be obtained through http://premier.intel.com.
Before installing the cryptography package, the Intel® IPP package must be installed.
To integrate Intel® IPP into your
development environment, the *.h and *.a files must be included in your search
path.
The following files reside in these
directories (where ~ is the directory chosen during the installation process):
~/ipp41/pca_wmmx |
· Main directory. · relnote_l_ipp_pca_wmmx_4_1.htm - release notes (this file) ·
ipplic.htm - license agreement document · redist.txt - redistributable file list · ippman_pca.pdf – reference manual · uninstall.sh – uninstallation file |
~/ipp41/pca_wmmx/include |
· Directory for C "include" files. · ipp.h - master Intel® IPP include file · ippdefs.h - master Intel® IPP definition include file · ipp*.h - include files for each domain accessed through ipp.h |
~/ipp41/pca_wmmx/lib |
· Directory for binary library components. |
~/ipp41/pca_wmmx/lib |
· Directory for one set of binary library components compatible with the toolchain from MontaVista CEE 3.0 gold release. · *.a - chosen static library files |
~/ipp41/pca_wmmx/lib |
· Directory for one set of binary library components compatible with the toolchain: arm-linux-gcc 3.3.2. · *.a - chosen static library files |
~/ipp41/pca_wmmx/example |
· Directory for sample code |
~/ipp41/pca_wmmx/examples/AdaptiveNoiseCanc
|
· Directory for sample code of adaptive noise cancellation. · readme.txt - brief overview · Makefile_mvlcee – Linux makefile using the toolchain from MontaVista CEE 3.0 gold release. · Makefile_pvkit – Linux makefile using the toolchain: arm-linux-gcc 3.3.2. · *.h - include files · *.c - source code files |
~/ipp41/pca_wmmx/examples/Filtering
|
· Directory for sample code of filtering. · readme.txt - brief overview · Makefile_mvlcee – Linux makefile using the toolchain from MontaVista CEE 3.0 gold release. · Makefile_pvkit – Linux makefile using the toolchain: arm-linux-gcc 3.3.2. · *.h - include files · *.c - source code files |
~/ipp41/pca_wmmx/examples/OSCRTimer |
· Directory for sample code of OSCR timer for Intel® PCA Processors with Intel® Wireless MMXTM Technology. · readme.txt - brief overview · *.h - include files · *.c - source code files · *.o – object files |
~/ipp41/pca_wmmx/examples/Reverb |
· Directory for sample code of artificial reverberation · readme.txt - brief overview · Makefile_mvlcee – Linux makefile using the toolchain from MontaVista CEE 3.0 gold release. · Makefile_pvkit – Linux makefile using the toolchain: arm-linux-gcc 3.3.2. · *.h - include files · *.c - source code files |
~/ipp41/pca_wmmx/examples/SigGen |
· Directory for sample code of signal generation. · readme.txt - brief overview · Makefile_mvlcee – Linux makefile using the toolchain from MontaVista CEE 3.0 gold release. · Makefile_pvkit – Linux makefile using the toolchain: arm-linux-gcc 3.3.2. · *.h - include files · *.c - source code files |
~/ipp41/pca_wmmx/examples/VectorManip |
· Directory for sample code of vector manipulation. · readme.txt - brief overview · Makefile_mvlcee – Linux makefile using the toolchain from MontaVista CEE 3.0 gold release. · Makefile_pvkit – Linux makefile using the toolchain: arm-linux-gcc 3.3.2. · *.h - include files · *.c - source code files |
None known at the time of printing of this document.
Users of Intel®
IPP version 4.0 for the Intel® Personal Internet Client Architecture
Processors with Intel® Wireless MMX™ Technology
should note the changes listed in the following
sections.
The following new APIs are available and described in the Intel® Integrated Performance
Primitives on Intel® Personal Internet Client Architecture
Processors Reference Manual:
Section |
New Intel® IPP APIs |
Audio codec |
ippsDecodeChanPairElt_MPEG4_AAC |
Video codec |
ippiInterpolateLuma_H264_8u_C1R ippiInterpolateChroma_H264_8u_C1R ippiPredictIntra_4x4_H264_8u_C1R ippiPredictIntra_16x16_H264_8u_C1R ippiPredictIntraChroma8x8_H264_8u_C1R ippiTransformDequantLumaDCFromPair_H264_8u16s_C1 ippiTransformDequantChromaDCFromPair_H264_8u16s_C1 ippiDequantTransformResidualFromPairAndAdd_H264_8u_C1 ippiFilterDeblockingLuma_VerEdge_H264_8u_C1IR ippiFilterDeblockingLuma_HorEdge_H264_8u_C1IR ippiFilterDeblockingChroma_VerEdge_H264_8u_C1IR ippiFilterDeblockingChroma_HorEdge_H264_8u_C1IR ippiDecodeCoeffsToPairCAVLC_H264_1u8u ippiDecodeChromaDCCoeffsToPairCAVLC_H264_1u8u |
Image Processing |
ippiYCbCr420RszCscRotRGB_8u_P3C3R ippiYCbCr420RszRot_8u_P3R ippiYCbCr422RszRot_8u_P3R |
Signal Processing |
ippsFFTFwd_CToC_32sc_Sfs ippsFFTInitAlloc_C_32sc ippsFFTGetBufSize_C_32sc ippsFFTFree_C_32sc ippsFFTFwd_RToCCS_16s32s_Sfs ippsFFTInv_CCSToR_32s16s_Sfs ippsFFTInv_CCSToR_32s_Sfs ippsFFTInitAlloc_R_16s32s ippsFFTInitAlloc_R_32s ippsFFTGetBufSize_R_16s32s ippsFFTGetBufSize_R_32s ippsFFTFree_R_16s32s ippsFFTFree_R_32s |
The changed primitives are described in the related chapters
of the
Intel®
Integrated Performance Primitives on Intel® Personal Internet Client
Architecture Processors Reference Manual (Order number
278893).
Please refer to the Intel® Integrated
Performance Primitives license file for the license agreement details.
MPEG-4, H.263, MP3, GSM/AMR, G.723.1/A, JPEG, JPEG
2000, and AAC are international standards promoted by ISO, IEC, ITU, ETSI and
other organizations. Implementations of these standards, or the standard
enabled platforms may require licenses from various entities, including Intel
Corporation.
Your feedback is very
important to us. To receive technical support and product updates for the
tools provided in this product you need to register at the Intel®
Registration Center and click on "Create New Account".
Note:
If you are having trouble registering or are unable to access your Premier
Support account, contact developer.support@intel.com.
Please do not email your technical issue to developer.support@intel.com as it is not a secure medium.
To submit an issue via the
Intel® Premier Support website please
perform the following steps:
1.
Ensure that Java* and JavaScript* are enabled in your
browser.
2.
Go to https://premier.intel.com/.
3.
Type in your Login and Password. Both are
case-sensitive.
4.
Click the "Submit" button.
5.
Read the Confidentiality Statement and click the "I Accept" button.
6.
Click on the "Go" button next to the "Product" drop-down list.
7.
Click on the "Submit Issue" link in the left navigation bar.
8.
Choose "Development Environment (tools, SDV, EAP)" from the "Product Type" drop-down list.
9.
If this is a software or license-related issue choose "Intel
IPP for Linux*" from the "Product Name" drop-down list.
10. Enter your question and
complete the fields in the windows that follow to successfully submit the
issue.
Please follow these
guidelines when forming your problem report or product suggestion:
1.
Describe your difficulty or suggestion.
For problem reports please be as specific as possible, so that we may reproduce
the problem. Please include a small test case if possible.
2.
Describe your system configuration information.
Be sure to include specific information that may be applicable to your setup:
operating system, name, and version number of installed applications, and
anything else that may be relevant to helping us address your concern.
INFORMATION
IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO
LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL
PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S
TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY
WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO
SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY
PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life
saving, or life sustaining applications. Intel may make changes to specifications
and product descriptions at any time, without notice.
Designers must not rely on the absence or characteristics of any features
or instructions marked "reserved" or "undefined." Intel
reserves these for future definition and shall have no responsibility
whatsoever for conflicts or incompatibilities arising from future changes to
them.
MPEG is an international standard compression/decompression of digital
audio and digital video promoted by ISO. Implementations of MPEG CODECs, or
MPEG enabled platforms may require licenses from various entities, including
Intel Corporation.
This document and the software described in it are furnished under license
and may only be used or copied in accordance with the terms of the license. The
information in this document is furnished for informational use only, is
subject to change without notice, and should not be construed as a commitment
by Intel Corporation. Intel Corporation assumes no responsibility or liability
for any errors or inaccuracies that may appear in this document or any software
that may be provided in association with this document. Except as permitted by
such license, no part of this document may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means without the express written
consent of Intel Corporation. Contact your local Intel sales office or your
distributor to obtain the latest specifications.
Copies of documents which have an ordering number and are referenced in
this document, or other Intel literature may be obtained by calling
1-800-548-4725 or by visiting Intel's website at http://www.intel.com.
Copyright © Intel Corporation, 2004
Intel, Intel IPP, Intel PCA, Intel XScale, and Pentium 4 are
trademarks or registered trademarks of Intel Corporation or its subsidiaries in
the
* Other brands and names are the property of their respective
owners.