Function Naming: Image Processing Domain
Take a look at the name of a random Intel® Integrated Performance Primitive (Intel® IPP) function for image processing and see how much it tells you. Click on the components that make up the name of the function to learn what they signify.
The prefix tells you that this particular function belongs to the Intel IPP package and, more specifically, to the ippi domain where expected data is a two-dimensional image.
The function base name and modifier communicate to you that in this case the function performs the operation of converting an RGB image into the YUV format.
In the case when the operation is performed with a constant, the letter "C" appears adjacent to the function base name.
The function name also includes the data type and the data size in the <bits><u|s|f><c> format:
For example, 8u in the function name indicates 8-bit unsigned integer, or unsigned char, 16s indicates 16-bit signed integer, or short, and 32f stands for 32-bit floating point, or simply float.
In functions that use different input and output types, the data types combine like in ippiConvert_8u32f_C1R(). As you may see from the function name, the function does precisely what its name suggests, converts one data type, 8-bit unsigned integers, into another, 32-bit float.
Finally, the descriptor field further describes the data associated with the operation. As you see here, this function uses three discrete interleaved channels and a region of interest. This field may contain implied parameters and/or indicate additional required parameters. To minimize the number of code branches in the function and thus reduce potentially unnecessary execution overhead, most of the general functions were split into separate primitive functions, with some of their parameters entering the primitive function name as descriptors.
The following descriptors are used in image processing functions: