Integrated Performance Primitives
Intel Integrated Performance Primitives (Intel IPP) is a multi-threaded software library of functions for multimedia and data processing applications, produced by Intel.

The library supports Intel and compatible processors and is available for Linux, macOS, Windows and Android operating systems. It is available separately or as a part of Intel oneAPI Base Toolkit.

Features
The library takes advantage of processor features including MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, AVX-512, AES-NI and multi-core processors.

Intel IPP includes functions for:
Video decode/encode
Audio decode/encode
JPEG/JPEG2000/JPEG XR
Computer vision
Cryptography
Data compression
Image color conversion
Image processing
Ray tracing and Rendering
Signal processing
Speech coding
Speech recognition
String processing
Vector and matrix mathematics

Organization
Intel IPP is divided into four major processing groups: Signal (with linear array or vector data), Image (with 2D arrays for typical color spaces), Data Compression and Cryptography.

Half the entry points are of the matrix type, a third are of the signal type and the remainder are of the image and cryptography types. Intel IPP functions are divided into 4 data types: Data types include 8u (8-bit unsigned), 8s (8-bit signed), 16s, 32f (32-bit floating-point), 64f, etc. Typically, an application developer works with only one dominant data type for most processing functions, converting between input to processing to output formats at the end points.

History
Version 2.0 files are dated April 22, 2002.
Version 3.0
Version 4.0 files are dated November 11, 2003. 4.0 runtime fully supports applications coded for 3.0 and 2.0.
Version 5.1 files are dated March 9, 2006. 5.1 runtime does not support applications coded for 4.0 or before.
Version 5.2 files are dated April 11, 2007. 5.2 runtime does not support applications coded for 5.1 or before. Introduced June 5, 2007, adding code samples for data compression, new video codec support, support for 64-bit applications on Mac OS X, support for Windows Vista, and new functions for ray-tracing and rendering.
Version 6.1 was released with the Intel C++ Compiler on June 28, 2009. Update 1 for version 6.1 was released on July 28, 2009. Update 2 files are dated October 19, 2009.
Version 7.1
Version 8.0
Version 8.1
Version 8.2
Version 9.0 Initial Release, August 25, 2015
Version 9.0 Update 1, December 1, 2015
Version 9.0 Update 2
Version 9.0 Update 3
Version 9.0 Update 4
Version 2017 Initial Release
Version 2017 Update 1
Version 2017 Update 2
Version 2017 Update 3, February 28, 2016
Version 2018 Initial Release
Version 2018 Update 1
Version 2018 Update 2
Version 2018 Update 2.1
Version 2018 Update 3
Version 2018 Update 3.1
Version 2018 Update 4, September 20, 2018
Version 2019 Initial Release
Version 2019 Update 1
Version 2019 Update 2
Version 2019 Update 3, February 14, 2019
Version 2019 Update 4
Version 2019 Update 5
Version 2020 Initial Release, December 12, 2019
Version 2020 Update 1, March 30, 2020
Version 2020 Update 2, July 16, 2020

Counterparts
Sun: mediaLib for Solaris
Apple: vDSP, vImage, Accelerate etc. for macOS
AMD: Framewave (formerly the AMD Performance Library or APL)
Khronos Group: OpenMAX DL

See also
 Intel oneAPI Base Toolkit
 Intel oneAPI HPC Toolkit
 Intel oneAPI IoT Toolkit
 Intel oneAPI Data Analytics Library (oneDAL)
 Intel oneAPI Math Kernel Library (oneMKL)
 Intel oneAPI Threading Building Blocks (oneTBB)
 Intel Advisor
 Intel Inspector
 Intel VTune Profiler
 Intel Developer Zone (Intel DZ; support and discussion)

References

External links

Intel oneAPI Base Toolkit Home Page
Stewart Taylor, "Intel Integrated Performance Primitives - How to Optimize Software Applications Using Intel IPP", Intel Press.
Jpeg Delphi implementation using official JPEG Group C library or Intel Jpeg Library 1.5 (ijl.dll included)
How To Install OpenCV using IPP (french)

C (programming language) libraries
C++ libraries
Intel software

Multimedia software