Packed RGB formats &manvol; Packed RGB formats Packed RGB formats Description 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. Packed RGB Image Formats Identifier Code   Byte 0 in memory Byte 1 Byte 2 Byte 3     Bit 7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0 V4L2_PIX_FMT_RGB332 'RGB1' b1 b0 g2 g1 g0 r2 r1 r0 V4L2_PIX_FMT_RGB444 'R444' g3 g2 g1 g0 b3 b2 b1 b0 a3 a2 a1 a0 r3 r2 r1 r0 V4L2_PIX_FMT_RGB555 'RGBO' g2 g1 g0 r4 r3 r2 r1 r0 a b4 b3 b2 b1 b0 g4 g3 V4L2_PIX_FMT_RGB565 'RGBP' g2 g1 g0 r4 r3 r2 r1 r0 b4 b3 b2 b1 b0 g5 g4 g3 V4L2_PIX_FMT_RGB555X 'RGBQ' a b4 b3 b2 b1 b0 g4 g3 g2 g1 g0 r4 r3 r2 r1 r0 V4L2_PIX_FMT_RGB565X 'RGBR' b4 b3 b2 b1 b0 g5 g4 g3 g2 g1 g0 r4 r3 r2 r1 r0 V4L2_PIX_FMT_BGR24 'BGR3' b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 V4L2_PIX_FMT_RGB24 'RGB3' r7 r6 r5 r4 r3 r2 r1 r0 g7 g6 g5 g4 g3 g2 g1 g0 b7 b6 b5 b4 b3 b2 b1 b0 V4L2_PIX_FMT_BGR32 'BGR4' b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 a7 a6 a5 a4 a3 a2 a1 a0 V4L2_PIX_FMT_RGB32 'RGB4' r7 r6 r5 r4 r3 r2 r1 r0 g7 g6 g5 g4 g3 g2 g1 g0 b7 b6 b5 b4 b3 b2 b1 b0 a7 a6 a5 a4 a3 a2 a1 a0
Bit 7 is the most significant bit. The value of 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. <constant>V4L2_PIX_FMT_BGR24</constant> 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 Drivers may interpret these formats differently. Some RGB formats above are uncommon and were probably defined in error. Drivers may interpret them as in . Packed RGB Image Formats (corrected) Identifier Code   Byte 0 in memory Byte 1 Byte 2 Byte 3     Bit 7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0 V4L2_PIX_FMT_RGB332 'RGB1' r2 r1 r0 g2 g1 g0 b1 b0 V4L2_PIX_FMT_RGB444 'R444' g3 g2 g1 g0 b3 b2 b1 b0 a3 a2 a1 a0 r3 r2 r1 r0 V4L2_PIX_FMT_RGB555 'RGBO' g2 g1 g0 b4 b3 b2 b1 b0 a r4 r3 r2 r1 r0 g4 g3 V4L2_PIX_FMT_RGB565 'RGBP' g2 g1 g0 b4 b3 b2 b1 b0 r4 r3 r2 r1 r0 g5 g4 g3 V4L2_PIX_FMT_RGB555X 'RGBQ' a r4 r3 r2 r1 r0 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0 V4L2_PIX_FMT_RGB565X 'RGBR' r4 r3 r2 r1 r0 g5 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0 V4L2_PIX_FMT_BGR24 'BGR3' b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 V4L2_PIX_FMT_RGB24 'RGB3' r7 r6 r5 r4 r3 r2 r1 r0 g7 g6 g5 g4 g3 g2 g1 g0 b7 b6 b5 b4 b3 b2 b1 b0 V4L2_PIX_FMT_BGR32 'BGR4' b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 a7 a6 a5 a4 a3 a2 a1 a0 V4L2_PIX_FMT_RGB32 'RGB4' a7 a6 a5 a4 a3 a2 a1 a0 r7 r6 r5 r4 r3 r2 r1 r0 g7 g6 g5 g4 g3 g2 g1 g0 b7 b6 b5 b4 b3 b2 b1 b0
A test utility to determine which RGB formats a driver actually supports is available from the LinuxTV v4l-dvb repository. See &v4l-dvb; for access instructions.