Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference
Pixel and Planar Image Formats
Data storage for an image can be pixel-oriented or planar-oriented (planar). For images in pixel order, all channel values for each pixel are clustered and stored consecutively. Their layout depends on the color model and downsampling scheme.
Table Pixel-Order Image Formats lists all pixel-order image formats that are supported by the Intel IPP color conversion functions and shows the corresponding channel values order (here, group of underlined symbols represents one pixel and symbol A denotes alpha-channel value). The last column of this table gives an example of an Intel IPP color conversion function that uses the respective image format.
Pixel-Order Image Formats
Image Format |
Number of Channels |
Channel Values Order |
Example |
RGB RGB444 RGB555 RGB565 |
3 |
R0 G0 B0 R1 G1 B1 R2 G2 B2 |
ippiRGBTToYUV_8u_C3R ippiYCbCrToRGB444_8u16u_C3R ippiYCbCrToRGB555_8u16u_C3R ippiYCbCrToRGB565_8u16u_C3R |
RGB |
4 |
R0 G0 B0 A0 R1 G1 B1 A1 |
ippiRGBToYUV_8u_AC4R |
BGRBGR444BGR555BGR565 |
3 |
B0 G0 R0 B1 G1 R1 B2 G2 R2 |
ippiYCbCrToBGR_8u_P3C3R ippiYCbCrToBGR444_8u16u_C3R ippiYCbCrToBGR555_8u16u_C3R ippiYCbCrToBGR565_8u16u_C3R |
BGR |
4 |
B0 G0 R0 A0 B1 G1 R1 A1 |
ippiBGRToHLS_8u_AC4R |
YUV |
3 |
Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 |
ippiYUVToRGB_8u_C3R |
YUV |
4 |
Y0 U0 V0 A0 Y1 U1 V1 A1 |
ippiYUVToRGB_8u_AC4R |
4:2:2 YUV |
2 |
Y0 U0 Y1 V0 Y2 U1 Y3 V1 |
ippiYUV422T0RGB_8u_C2C3R |
YCbCr |
3 |
Y0 Cb0 Cr0 Y1 Cb1 Cr1 |
ippiYCbCrToRGB_8u_C3R |
YCbCr |
4 |
Y0 Cb0 Cr0 A0 Y1 Cb1 Cr1 A1 |
ippiYCbCrToRGB_8u_AC4R |
4:2:2 YCbCr |
2 |
Y0 Cb0 Y1 Cr0 Y2 Cb1 Y3 Cr1 |
ippiYCbCr422ToRGB_8u_C2C3R |
4:2:2 YCrCb |
2 |
Y0 Cr0 Y1 Cb0 Y2 Cr1 Y3 Cb1 |
ippiYCrCb422ToYCbCr422_8u_C2P3R |
4:2:2 CbYCr |
2 |
Cb0 Y0 Cr0 Y1 Cb1 Y2 Cr1 Y3 |
ippiCbYCr422ToRGB_8u_C2C3R |
XYZ |
3 |
X0 Y0 Z0 X1 Y1 Z1 X2 Y2 Z2 |
ippiXYZToRGB_8u_C3R |
XYZ |
4 |
X0 Y0 Z0 X1 Y1 Z1 X2 Y2 Z2 |
ippiXYZToRGB_16u_AC4R |
LUV |
3 |
L0 U0 V0 L1 U1 V1 L2 U2 V2 |
ippiLUVToRGB_16s_C3R |
LUV |
4 |
L0 U0 V0 A0 L1 U1 V1 A1 |
ippiLUVToRGB_32f_AC4R |
YCC |
3 |
Y0 C0 C0 Y1 C1 C1 Y2 C2 C2 |
ippiYCCToRGB_8u_C3R |
YCC |
4 |
Y0 C0 C0 A0 Y1 C1 C1 A1 |
ippiYCCToRGB_8u_AC4R |
HLS |
3 |
H0 L0 S0 H1 L1 S1 H2 L2 S2 |
ippiHLSToRGB_16u_C3R |
HLS |
4 |
H0 L0 S0 A0 H1 L1 S1 A0 |
ippiHLSToRGB_16u_AC4R |
HSV |
3 |
H0 S0 V0 H1 S1 V1 H2 S2 V2 |
ippiHSVToRGB_16s_C3R |
HSV |
4 |
H0 S0 V0 A0 H1 S1 C1 A1 |
ippiHSVToRGB_16s_AC4R |
Planar image formats supported by the Intel IPP color conversion functions are listed in Table “Planar Image Formats” along with examples of the Intel IPP functions using that format. Planes layout and their relative sizes are shown in Figure Plane Size and Layout: 3-planes Images and Figure Plane Size and Layout: 2-planes Images.
Image Format |
Number of Planes |
Plane 0 |
Plane 1 |
Plane 2 |
Figure |
Example |
RGB |
3 |
R |
G |
B |
see Figure below, a |
ippiRGBToYUV_8u_P3R |
YUV |
3 |
Y |
U |
V |
see Figure below, a |
ippiYUVToRGB_8u_P3R |
4:2:2 YUV |
3 |
Y |
U |
V |
see Figure below, b |
ippiYUV422ToRGB_8u_P3 |
4:2:0 YUV |
3 |
Y |
U |
V |
see Figure below, d |
ippiYUV420ToRGB_8u_P3C3R |
YCbCr |
3 |
Y |
Cb |
Cr |
see Figure below, a |
ippiYCbCrToRGB_8u_P3R |
4:2:2 YCbCr |
3 |
Y |
Cb |
Cr |
see Figure below, b |
ippiYCbCr422ToRGB_8u_P3C2R |
4:1:1 YCbCr |
3 |
Y |
Cb |
Cr |
see Figure below, c |
ippiYCbCr411ToRGB_8u_P3C2R |
4:1:1 YCbCr |
2 |
Y |
CbCr |
|
ippiYCbCr411ToRGB_8u_P2R |
|
4:2:0 YCbCr |
3 |
Y |
Cb |
Cr |
see Figure below, d |
ippiYCbCr420ToRGB_8u_P3C3R |
4:2:0 YCbCr |
2 |
Y |
CbCr |
|
ippiYCbCr420ToRGB_8u_P2R |
|
4:2:0 YCrCb |
3 |
Y |
Cr |
Cb |
see Figure below, d |
ippiYCrCb420ToYCbCr422_8u_P3R |