Calling Intel IPP functions is as simple as calling any other C function:
For select the ippi function for your application, please refer to Intel® IPP Reference Manual Vol.2: Image Processing
For link ippi library in your application, please refere to Linking Your Application with Intel® IPP
The multiple versions of optimized code for each function are concealed under a single entry point.
In some imaging pipelines, the interpretations of YUV images and RGB images are flipped relative to each other. The Intel IPP YUVToRGB function does not flip the image. However, Intel IPP does provide routines to perform the flip operation. One solution is to apply the function ippiMirror to flip the result before or after calling the YUVToRGB color conversion function. If the conversion ippiYUV422ToRGB_8u_C2C3R result in an BGR image, please use call ippiYCrCb422ToRGB_8u_C2C3R or ippiYCbCr422ToBGR_8u_C2C3R instead of call ippiYUV422ToRGB_8u_C2C3R
Create a new 32-bit (4-channel) image and copy the 24-bit (3-channel) image to the 32-bit image:
Use the routine ippiYUV422ToRGB_8u_P3C3R to convert raw YUV to RGB.
and some new ipp color conversion (ippcc) function are avaiable
To read an image file, you must understand the structure of the file format you are working with. From this information, you can determine the properties of the image and then store the image data into an Intel IPP buffer. The following is a general outline for loading an image:
Read more about Intel IPP image and data type support in the Image Processing Reference Manual, Chapter 2.
The Intel IPP contains several functions to measure quality differences between images, including the Cross Correlation ( ippiCrossCorrNorm) and Square Distance ( ippiSqrDistanceNorm) functions. Please refer to Image Proximity Measures for more details.
Intel IPP filtering functions assume that all outstanding ROI data exists. The application is required to check that ROI values are set such that all required border pixels exist in the image. If the pixels do not exist then a runtime error will occur. For more information, please refer to the following documents:
Please check the Release Notes
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 reserverd 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