Packed RGB formats — Packed RGB formats
These formats are designed to match the pixel formats of typical PC graphics frame buffers. They occupy 8, 16, 24 or 32 bits per pixel. These are all packed-pixel formats, meaning all the data for a pixel lie next to each other in memory.
When one of these formats is used, drivers shall report the
colorspace V4L2_COLORSPACE_SRGB
.
Table 2.6. Packed RGB Image Formats
Bit 7 is the most significant bit. The value of the a = alpha
bits is undefined when reading from the driver, ignored when writing
to the driver, except when alpha blending has been negotiated for a
Video Overlay or
Video Output Overlay or when the alpha component has been configured
for a Video Capture by means of V4L2_CID_ALPHA_COMPONENT
control.
Example 2.2. V4L2_PIX_FMT_BGR24
4 × 4 pixel
image
Byte Order. Each cell is one byte.
start + 0: | B00 | G00 | R00 | B01 | G01 | R01 | B02 | G02 | R02 | B03 | G03 | R03 |
start + 12: | B10 | G10 | R10 | B11 | G11 | R11 | B12 | G12 | R12 | B13 | G13 | R13 |
start + 24: | B20 | G20 | R20 | B21 | G21 | R21 | B22 | G22 | R22 | B23 | G23 | R23 |
start + 36: | B30 | G30 | R30 | B31 | G31 | R31 | B32 | G32 | R32 | B33 | G33 | R33 |
A test utility to determine which RGB formats a driver actually supports is available from the LinuxTV v4l-dvb repository. See http://linuxtv.org/repo/ for access instructions.