Intel® Integrated Performance Primitives (Intel® IPP) accelerates digital media, data processing, and communications applications. The primitives are a common interface for thousands of commonly used algorithms, future proofing your development by allowing the library code underneath to evolve with new processor improvements without changes in your application. Intel's hardware and compiler experts have provided high performance implementations of signal/image processing, computer vision, data compression, cryptography, string manipulation, audio processing, and video coding functions for several hardware/instruction set generations. As new instructions become available IPP is continually optimized, so code written with IPP will automatically take advantage of new CPU capabilities.
This can provide tremendous development and maintenance savings. Software developers can write programs with one optimized execution path, avoiding the alternative of multiple paths (SSE2, SSSE3, AVX, etc.) to achieve optimal performance across multiple generations of processors. The IPP implementations often have much better performance than is possible by simply compiling C code that is not specifically designed for the compiler and hardware. Intel develops optimizations for hardware platforms before they are available for general release, so they can be ready as soon as you deploy on new hardware. This can accelerate your development, allowing you to focus on new features instead of constantly revisiting low-level optimizations.
Intel® IPP provides a rich set of samples, including high-level multimedia application programming interfaces (APIs) as starting points for your development. These include audio, video, image, and speech codecs such as:
Audio: AAC, AC3, MP3
Video: H.264, MPEG2, MPEG4, VC-1
Image: JPEG, JPEG-2000
Speech: GSM-AMR, G.723
The high-level multimedia APIs are samples. They are provided as starting points and are not production-ready components.
In summary, the goal of the Intel® IPP software is to provide algorithmic building blocks for many types of applications with
a simple "primitive" C interface and data structures to enhance usability and portability
higher level APIs for more complex tasks like media processing, including related infrastructure around the performance critical operations supported by the primitives
faster time-to-market
primitives which evolve with Intel hardware
|
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804 |