Intel® Integrated Performance Primitives v4.1 for Linux* on Intel® Personal Internet Client Architecture Processors Release Notes

July 20, 2004

 

Ordering Number: 302548-002

Contents

1.      Description.. 1

2.      Related Documents.. 3

3.      Features of Intel® IPP.. 3

4.      Kit Contents.. 5

4.1     Global Header Files. 5

4.2     Library Components. 6

4.3     Supporting Documents. 6

4.4     Sample Code. 7

5.      System Requirements.. 7

6.      Installation.. 7

6.1     Installed Files and Libraries. 8

7.      Known Problems.. 10

8.      Changes Since Last Release. 10

8.1     Software Changes. 10

8.1.1          What Has Been Added In This Release. 10

8.2     Documentation Changes. 10

9.      License Definitions.. 10

10.        Technical Support and Feedback.. 11

11.        Copyright.. 11

1.                      Description

This package contains Intel® Integrated Performance Primitives (Intel® IPP) Version 4.1 for Linux* on Intel® Personal Internet Client Architecture (Intel® PCA) Processors. 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 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

The Intel® IPP Version 4.1 builds on the Intel® IPP Version 4.0 by adding new video codec primitives.  For more information, see the Changes Since Last Release section.

 Intel® IPP Version 4.1 was developed under the following environment:

·         Development Tools –
(1)
xscale_le-gcc (GCC) 3.2.1 20020930 (MontaVista), glibc 2.2.5 and binutils 2.12.1.
(2)
arm-linux-gcc (GCC) 3.3.2, glibc 2.3.2 and binutils 2.14.90.0.7 20031029.

·         Processor – Intel® PXA250, PXA255, PXA262, and PXA263 Processors with Intel XScale® technology

·         Reference board – Intel® DBPXA250, DBPXA255, DBPXA262, or DBPXA263 Development Platform

·         Operating system –
(1)
Montavista Professional Edition 3.0:  Linux* kernel version 2.4.18_mvlcee30_dbpxa250.
(2)
Linux Preview Kit for Intel® DBPXA255 Development Platform 04-28-2004: Linux* kernel version 2.4.19-rmk2-pxa2.

The software is aimed at the above environment. However, efforts were 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 assumes all risk. See the license agreement for details.


2.                     Related Documents

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).

3.                     Features of Intel® IPP

 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

Part VI: Speech codecs: GSM-AMR 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

 

4.                     Kit Contents

The installation file has the following components:

·         Global Header Files

·         Library Components

·         Supporting Documents

·         Sample Code

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 the functions are not used correctly. 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.

4.1     Global Header Files

  

Filename

Description

ipp.h

Header file containing the references to all include files.

ippdefs.h

Header file containing the Intel® IPP Common Types and Macro Definitions.

ippSP.h

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

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

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 

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

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

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

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

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.

 

4.2     Library Components

 

Filename

Description

ippSP_XSC41LNX_r.a

Release version of signal processing binary library file.

ippSP_XSC41LNX_d.a 

Debug version of signal processing binary library file.

ippVC_XSC41LNX_r.a

Release version of video codec binary library file.

ippVC_XSC41LNX_d.a

Debug version of video codec binary library file.

ippAC_XSC41LNX_r.a

Release version of audio codec binary library file.

ippAC_XSC41LNX_d.a

Debug version of audio codec binary library file.

ippJP_XSC41LNX_r.a

Release version of image codec binary library file.

ippJP_XSC41LNX_d.a

Debug version of image codec binary library file.

ippIP_XSC41LNX_r.a

Release version of image processing binary library file.

ippIP_XSC41LNX_d.a

Debug version of image processing binary library file.

ippSC_XSC41LNX_r.a

Release version of speech codec binary library file.

ippSC_XSC41LNX_d.a

Debug version of speech codec binary library file.

ippCP_XSC41LNX_r.a

Release version of cryptographic primitives binary library file.

ippCP_XSC41LNX_d.a

Debug version of cryptographic primitives binary library file.

ippSR_XSC41LNX_r.a

Release version of speech recognition binary library file.

ippSR_XSC41LNX_d.a

Debug version of speech recognition binary library file.

4.3     Supporting Documents

The following documentation is included with this kit:

·         ipplic.htm (license agreement)

·         relnote_l_ipp_pca_4_1.htm (this file)

·         redist.txt: redistributable file list

·         ippman_pca.pdf: reference manual

4.4     Sample Code

The following sample code illustrates the usage of Intel® IPP in different applications:

·         Digital Filtering

·         Random Signal Generation

·         Sinusoidal Signal Generation

·         Vector Manipulation

·         Artificial Audio Reverberation

·         Adaptive Noise Cancellation

Note:    The sample code may or may not represent the best implementation Intel® IPP primitives. Therefore, the sample code must not be used in benchmarks or any other purposes other than understanding the usage of Intel® IPP functions. See the license agreement for more information. 

 

5.                     System Requirements

The Intel® IPP Version 4.1 for the Intel® PXA25x and PXA26x Processors software 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)
xscale_le-gcc (GCC) 3.2.1 20020930 (MontaVista), glibc 2.2.5 and binutils 2.12.1.
(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: Intel® DBPXA250, DBPXA255, DBPXA262, or DBPXA263 Development Platform

 

6.                     Installation

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.  

1.        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." 
Note: Root (superuser) access is required to complete this step.

2.        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_xsc.    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.

6.1     Installed Files and Libraries

The following files reside in these directories (where ~ is the directory chosen during the installation process):

 

~/ipp41/pca_xsc

·          Main directory.

·          relnote_l_ipp_pca_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_xsc/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_xsc/lib

·          Directory for binary library components.

~/ipp41/pca_xsc/lib/mvlpe/

·          Directory for one set of binary library components compatible with the toolchain from MontaVista PE 3.0 gold release.

·          *.a - chosen static library files

~/ipp41/pca_xsc/lib/pvkit/

·          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_xsc/examples

·          Directory for sample code

~/ipp41/pca_xsc/examples/AdaptiveNoiseCanc

 

·          Directory for sample code of adaptive noise cancellation.

·          readme.txt - brief overview

·          Makefile_mvlpe – Linux makefile using the toolchain from MontaVista PE 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_xsc/examples/Filtering

 

·          Directory for sample code of filtering.

·          readme.txt - brief overview

·          Makefile_mvlpe – Linux makefile using the toolchain from MontaVista PE 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_xsc/examples/OSCRTimer

·          Directory for sample code of OSCR timer for Intel® PCA Processors.

·          readme.txt - brief overview

·          *.h - include files

·          *.c - source code files

·          *.o – object files

~/ipp41/pca_xsc/examples/Reverb

·          Directory for sample code of artificial reverberation

·          readme.txt - brief overview

·          Makefile_mvlpe – Linux makefile using the toolchain from MontaVista PE 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_xsc/examples/SigGen

·          Directory for sample code of signal generation.

·          readme.txt - brief overview

·          Makefile_mvlpe – Linux makefile using the toolchain from MontaVista PE 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_xsc/examples/VectorManip

·          Directory for sample code of vector manipulation.

·          readme.txt - brief overview

·          Makefile_mvlpe – Linux makefile using the toolchain from MontaVista PE 3.0 gold release.

·          Makefile_pvkit – Linux makefile using the toolchain: arm-linux-gcc 3.3.2.

·          *.h - include files

·          *.c - source code files

 

7.                     Known Problems

There are no known problems at the time of printing of this document.

8.                     Changes Since Last Release 

8.1     Software Changes

Users of Intel® IPP version 4.0 for the Intel® Personal Internet Client Architecture Processors should note the changes stated in the following sections.

8.1.1                         What Has Been Added In This Release

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

 

8.2     Documentation Changes

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).

 

9.                     License Definitions

Please refer to the Intel® Integrated Performance Primitives license file for the license agreement details.

MPEG-1, MPEG-2, MPEG-4, H.263, MP3, GSM/AMR, JPEG, JPEG 2000, Aurora, 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.

10.               Technical Support and Feedback

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.

11.               Copyright

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 United States and other countries.

* Other brands and names are the property of their respective owners.