1279 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			1279 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
 | |
| 
 | |
| .. _pixfmt-rgb:
 | |
| 
 | |
| ***********
 | |
| RGB Formats
 | |
| ***********
 | |
| 
 | |
| These formats encode each pixel as a triplet of RGB values. They are packed
 | |
| formats, meaning that the RGB values for one pixel are stored consecutively in
 | |
| memory and each pixel consumes an integer number of bytes. When the number of
 | |
| bits required to store a pixel is not aligned to a byte boundary, the data is
 | |
| padded with additional bits to fill the remaining byte.
 | |
| 
 | |
| The formats differ by the number of bits per RGB component (typically but not
 | |
| always the same for all components), the order of components in memory, and the
 | |
| presence of an alpha component or additional padding bits.
 | |
| 
 | |
| The usage and value of the alpha bits in formats that support them (named ARGB
 | |
| or a permutation thereof, collectively referred to as alpha formats) depend on
 | |
| the device type and hardware operation. :ref:`Capture <capture>` devices
 | |
| (including capture queues of mem-to-mem devices) fill the alpha component in
 | |
| memory. When the device captures an alpha channel the alpha component will have
 | |
| a meaningful value. Otherwise, when the device doesn't capture an alpha channel
 | |
| but can set the alpha bit to a user-configurable value, the
 | |
| :ref:`V4L2_CID_ALPHA_COMPONENT <v4l2-alpha-component>` control is used to
 | |
| specify that alpha value, and the alpha component of all pixels will be set to
 | |
| the value specified by that control. Otherwise a corresponding format without
 | |
| an alpha component (XRGB or XBGR) must be used instead of an alpha format.
 | |
| 
 | |
| :ref:`Output <output>` devices (including output queues of mem-to-mem devices
 | |
| and :ref:`video output overlay <osd>` devices) read the alpha component from
 | |
| memory. When the device processes the alpha channel the alpha component must be
 | |
| filled with meaningful values by applications. Otherwise a corresponding format
 | |
| without an alpha component (XRGB or XBGR) must be used instead of an alpha
 | |
| format.
 | |
| 
 | |
| Formats that contain padding bits are named XRGB (or a permutation thereof).
 | |
| The padding bits contain undefined values and must be ignored by applications,
 | |
| devices and drivers, for both :ref:`capture` and :ref:`output` devices.
 | |
| 
 | |
| .. note::
 | |
| 
 | |
|    - In all the tables that follow, bit 7 is the most significant bit in a byte.
 | |
|    - 'r', 'g' and 'b' denote bits of the red, green and blue components
 | |
|      respectively. 'a' denotes bits of the alpha component (if supported by the
 | |
|      format), and 'x' denotes padding bits.
 | |
| 
 | |
| 
 | |
| Less Than 8 Bits Per Component
 | |
| ==============================
 | |
| 
 | |
| These formats store an RGB triplet in one, two or four bytes. They are named
 | |
| based on the order of the RGB components as seen in a 8-, 16- or 32-bit word,
 | |
| which is then stored in memory in little endian byte order (unless otherwise
 | |
| noted by the presence of bit 31 in the 4CC value), and on the number of bits
 | |
| for each component. For instance, the RGB565 format stores a pixel in a 16-bit
 | |
| word [15:0] laid out at as [R\ :sub:`4` R\ :sub:`3` R\ :sub:`2` R\ :sub:`1`
 | |
| R\ :sub:`0` G\ :sub:`5` G\ :sub:`4` G\ :sub:`3` G\ :sub:`2` G\ :sub:`1`
 | |
| G\ :sub:`0` B\ :sub:`4` B\ :sub:`3` B\ :sub:`2` B\ :sub:`1` B\ :sub:`0`], and
 | |
| stored in memory in two bytes, [R\ :sub:`4` R\ :sub:`3` R\ :sub:`2` R\ :sub:`1`
 | |
| R\ :sub:`0` G\ :sub:`5` G\ :sub:`4` G\ :sub:`3`] followed by [G\ :sub:`2`
 | |
| G\ :sub:`1` G\ :sub:`0` B\ :sub:`4` B\ :sub:`3` B\ :sub:`2` B\ :sub:`1`
 | |
| B\ :sub:`0`].
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \begingroup
 | |
|     \tiny
 | |
|     \setlength{\tabcolsep}{2pt}
 | |
| 
 | |
| .. tabularcolumns:: |p{2.8cm}|p{2.0cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
 | |
| 
 | |
| 
 | |
| .. flat-table:: RGB Formats With Less Than 8 Bits Per Component
 | |
|     :header-rows:  2
 | |
|     :stub-columns: 0
 | |
| 
 | |
|     * - Identifier
 | |
|       - Code
 | |
|       - :cspan:`7` Byte 0 in memory
 | |
|       - :cspan:`7` Byte 1
 | |
|       - :cspan:`7` Byte 2
 | |
|       - :cspan:`7` Byte 3
 | |
|     * -
 | |
|       -
 | |
|       - 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:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB332``
 | |
|       - 'RGB1'
 | |
| 
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ARGB444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ARGB444``
 | |
|       - 'AR12'
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-XRGB444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XRGB444``
 | |
|       - 'XR12'
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGBA444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBA444``
 | |
|       - 'RA12'
 | |
| 
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
| 
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGBX444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBX444``
 | |
|       - 'RX12'
 | |
| 
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
| 
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ABGR444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ABGR444``
 | |
|       - 'AB12'
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
| 
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-XBGR444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XBGR444``
 | |
|       - 'XB12'
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
| 
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-BGRA444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGRA444``
 | |
|       - 'BA12'
 | |
| 
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
| 
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-BGRX444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGRX444``
 | |
|       - 'BX12'
 | |
| 
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
| 
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ARGB555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ARGB555``
 | |
|       - 'AR15'
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - a
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-XRGB555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XRGB555``
 | |
|       - 'XR15'
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - x
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGBA555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBA555``
 | |
|       - 'RA15'
 | |
| 
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - a
 | |
| 
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGBX555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBX555``
 | |
|       - 'RX15'
 | |
| 
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - x
 | |
| 
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ABGR555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ABGR555``
 | |
|       - 'AB15'
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
| 
 | |
|       - a
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-XBGR555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XBGR555``
 | |
|       - 'XB15'
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
| 
 | |
|       - x
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-BGRA555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGRA555``
 | |
|       - 'BA15'
 | |
| 
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - a
 | |
| 
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-BGRX555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGRX555``
 | |
|       - 'BX15'
 | |
| 
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - x
 | |
| 
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGB565:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB565``
 | |
|       - 'RGBP'
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ARGB555X:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ARGB555X``
 | |
|       - 'AR15' | (1 << 31)
 | |
| 
 | |
|       - a
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-XRGB555X:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XRGB555X``
 | |
|       - 'XR15' | (1 << 31)
 | |
| 
 | |
|       - x
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGB565X:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB565X``
 | |
|       - 'RGBR'
 | |
| 
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-BGR666:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGR666``
 | |
|       - 'BGRH'
 | |
| 
 | |
|       - b\ :sub:`5`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - r\ :sub:`5`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
| 
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
| 
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
|       - x
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \endgroup
 | |
| 
 | |
| 
 | |
| 8 Bits Per Component
 | |
| ====================
 | |
| 
 | |
| These formats store an RGB triplet in three or four bytes. They are named based
 | |
| on the order of the RGB components as stored in memory, and on the total number
 | |
| of bits per pixel. For instance, RGB24 format stores a pixel with [R\ :sub:`7`
 | |
| R\ :sub:`6` R\ :sub:`5` R\ :sub:`4` R\ :sub:`3` R\ :sub:`2` R\ :sub:`1`
 | |
| R\ :sub:`0`] in the first byte, [G\ :sub:`7` G\ :sub:`6` G\ :sub:`5` G\ :sub:`4`
 | |
| G\ :sub:`3` G\ :sub:`2` G\ :sub:`1` G\ :sub:`0`] in the second byte and
 | |
| [B\ :sub:`7` B\ :sub:`6` B\ :sub:`5` B\ :sub:`4` B\ :sub:`3` B\ :sub:`2`
 | |
| B\ :sub:`1` B\ :sub:`0`] in the third byte. This differs from the DRM format
 | |
| nomenclature that instead use the order of components as seen in a 24- or
 | |
| 32-bit little endian word.
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \small
 | |
| 
 | |
| .. flat-table:: RGB Formats With 8 Bits Per Component
 | |
|     :header-rows:  1
 | |
|     :stub-columns: 0
 | |
| 
 | |
|     * - Identifier
 | |
|       - Code
 | |
|       - Byte 0 in memory
 | |
|       - Byte 1
 | |
|       - Byte 2
 | |
|       - Byte 3
 | |
|     * .. _V4L2-PIX-FMT-BGR24:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGR24``
 | |
|       - 'BGR3'
 | |
| 
 | |
|       - B\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGB24:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB24``
 | |
|       - 'RGB3'
 | |
| 
 | |
|       - R\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ABGR32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ABGR32``
 | |
|       - 'AR24'
 | |
| 
 | |
|       - B\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|       - A\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-XBGR32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XBGR32``
 | |
|       - 'XR24'
 | |
| 
 | |
|       - B\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|       - X\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-BGRA32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGRA32``
 | |
|       - 'RA24'
 | |
| 
 | |
|       - A\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-BGRX32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGRX32``
 | |
|       - 'RX24'
 | |
| 
 | |
|       - X\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-RGBA32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBA32``
 | |
|       - 'AB24'
 | |
| 
 | |
|       - R\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
|       - A\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-RGBX32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBX32``
 | |
|       - 'XB24'
 | |
| 
 | |
|       - R\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
|       - X\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-ARGB32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ARGB32``
 | |
|       - 'BA24'
 | |
| 
 | |
|       - A\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
|     * .. _V4L2-PIX-FMT-XRGB32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_XRGB32``
 | |
|       - 'BX24'
 | |
| 
 | |
|       - X\ :sub:`7-0`
 | |
|       - R\ :sub:`7-0`
 | |
|       - G\ :sub:`7-0`
 | |
|       - B\ :sub:`7-0`
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \normalsize
 | |
| 
 | |
| 
 | |
| 10 Bits Per Component
 | |
| =====================
 | |
| 
 | |
| These formats store a 30-bit RGB triplet with an optional 2 bit alpha in four
 | |
| bytes. They are named based on the order of the RGB components as seen in a
 | |
| 32-bit word, which is then stored in memory in little endian byte order
 | |
| (unless otherwise noted by the presence of bit 31 in the 4CC value), and on the
 | |
| number of bits for each component.
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \begingroup
 | |
|     \tiny
 | |
|     \setlength{\tabcolsep}{2pt}
 | |
| 
 | |
| .. tabularcolumns:: |p{3.2cm}|p{0.8cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
 | |
| 
 | |
| 
 | |
| .. flat-table:: RGB Formats 10 Bits Per Color Component
 | |
|     :header-rows:  2
 | |
|     :stub-columns: 0
 | |
| 
 | |
|     * - Identifier
 | |
|       - Code
 | |
|       - :cspan:`7` Byte 0 in memory
 | |
|       - :cspan:`7` Byte 1
 | |
|       - :cspan:`7` Byte 2
 | |
|       - :cspan:`7` Byte 3
 | |
|     * -
 | |
|       -
 | |
|       - 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-RGBX1010102:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBX1010102``
 | |
|       - 'RX30'
 | |
| 
 | |
|       - b\ :sub:`5`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - x
 | |
|       - x
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`9`
 | |
|       - b\ :sub:`8`
 | |
|       - b\ :sub:`7`
 | |
|       - b\ :sub:`6`
 | |
| 
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`9`
 | |
|       - g\ :sub:`8`
 | |
|       - g\ :sub:`7`
 | |
|       - g\ :sub:`6`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
| 
 | |
|       - r\ :sub:`9`
 | |
|       - r\ :sub:`8`
 | |
|       - r\ :sub:`7`
 | |
|       - r\ :sub:`6`
 | |
|       - r\ :sub:`5`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|     * .. _V4L2-PIX-FMT-RGBA1010102:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGBA1010102``
 | |
|       - 'RA30'
 | |
| 
 | |
|       - b\ :sub:`5`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`9`
 | |
|       - b\ :sub:`8`
 | |
|       - b\ :sub:`7`
 | |
|       - b\ :sub:`6`
 | |
| 
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`9`
 | |
|       - g\ :sub:`8`
 | |
|       - g\ :sub:`7`
 | |
|       - g\ :sub:`6`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
| 
 | |
|       - r\ :sub:`9`
 | |
|       - r\ :sub:`8`
 | |
|       - r\ :sub:`7`
 | |
|       - r\ :sub:`6`
 | |
|       - r\ :sub:`5`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|     * .. _V4L2-PIX-FMT-ARGB2101010:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ARGB2101010``
 | |
|       - 'AR30'
 | |
| 
 | |
|       - b\ :sub:`7`
 | |
|       - b\ :sub:`6`
 | |
|       - b\ :sub:`5`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`9`
 | |
|       - b\ :sub:`8`
 | |
| 
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`9`
 | |
|       - g\ :sub:`8`
 | |
|       - g\ :sub:`7`
 | |
|       - g\ :sub:`6`
 | |
| 
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
|       - r\ :sub:`9`
 | |
|       - r\ :sub:`8`
 | |
|       - r\ :sub:`7`
 | |
|       - r\ :sub:`6`
 | |
|       - r\ :sub:`5`
 | |
|       - r\ :sub:`4`
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \endgroup
 | |
| 
 | |
| 12 Bits Per Component
 | |
| ==============================
 | |
| 
 | |
| These formats store an RGB triplet in six or eight bytes, with 12 bits per component.
 | |
| Expand the bits per component to 16 bits, data in the high bits, zeros in the low bits,
 | |
| arranged in little endian order.
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \small
 | |
| 
 | |
| .. flat-table:: RGB Formats With 12 Bits Per Component
 | |
|     :header-rows:  1
 | |
| 
 | |
|     * - Identifier
 | |
|       - Code
 | |
|       - Byte 1-0
 | |
|       - Byte 3-2
 | |
|       - Byte 5-4
 | |
|       - Byte 7-6
 | |
|     * .. _V4L2-PIX-FMT-BGR48-12:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGR48_12``
 | |
|       - 'B312'
 | |
| 
 | |
|       - B\ :sub:`15-4`
 | |
|       - G\ :sub:`15-4`
 | |
|       - R\ :sub:`15-4`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-ABGR64-12:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_ABGR64_12``
 | |
|       - 'B412'
 | |
| 
 | |
|       - B\ :sub:`15-4`
 | |
|       - G\ :sub:`15-4`
 | |
|       - R\ :sub:`15-4`
 | |
|       - A\ :sub:`15-4`
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \normalsize
 | |
| 
 | |
| 16 Bits Per Component
 | |
| =====================
 | |
| 
 | |
| These formats store an RGB triplet in six bytes, with 16 bits per component
 | |
| stored in memory in little endian byte order. They are named based on the order
 | |
| of the RGB components as stored in memory. For instance, RGB48 stores R\
 | |
| :sub:`7:0` and R\ :sub:`15:8` in bytes 0 and 1 respectively. This differs from
 | |
| the DRM format nomenclature that instead uses the order of components as seen in
 | |
| the 48-bits little endian word.
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \small
 | |
| 
 | |
| .. flat-table:: RGB Formats With 16 Bits Per Component
 | |
|     :header-rows:  1
 | |
| 
 | |
|     * - Identifier
 | |
|       - Code
 | |
|       - Byte 0
 | |
|       - Byte 1
 | |
|       - Byte 2
 | |
|       - Byte 3
 | |
|       - Byte 4
 | |
|       - Byte 5
 | |
| 
 | |
|     * .. _V4L2-PIX-FMT-BGR48:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGR48``
 | |
|       - 'BGR6'
 | |
| 
 | |
|       - B\ :sub:`7-0`
 | |
|       - B\ :sub:`15-8`
 | |
|       - G\ :sub:`7-0`
 | |
|       - G\ :sub:`15-8`
 | |
|       - R\ :sub:`7-0`
 | |
|       - R\ :sub:`15-8`
 | |
| 
 | |
|     * .. _V4L2-PIX-FMT-RGB48:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB48``
 | |
|       - 'RGB6'
 | |
| 
 | |
|       - R\ :sub:`7-0`
 | |
|       - R\ :sub:`15-8`
 | |
|       - G\ :sub:`7-0`
 | |
|       - G\ :sub:`15-8`
 | |
|       - B\ :sub:`7-0`
 | |
|       - B\ :sub:`15-8`
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \normalsize
 | |
| 
 | |
| Deprecated RGB Formats
 | |
| ======================
 | |
| 
 | |
| Formats defined in :ref:`pixfmt-rgb-deprecated` are deprecated and must not be
 | |
| used by new drivers. They are documented here for reference. The meaning of
 | |
| their alpha bits ``(a)`` is ill-defined and they are interpreted as in either
 | |
| the corresponding ARGB or XRGB format, depending on the driver.
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \begingroup
 | |
|     \tiny
 | |
|     \setlength{\tabcolsep}{2pt}
 | |
| 
 | |
| .. tabularcolumns:: |p{2.6cm}|p{0.70cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
 | |
| 
 | |
| .. _pixfmt-rgb-deprecated:
 | |
| 
 | |
| .. flat-table:: Deprecated Packed RGB Image Formats
 | |
|     :header-rows:  2
 | |
|     :stub-columns: 0
 | |
| 
 | |
|     * - Identifier
 | |
|       - Code
 | |
|       - :cspan:`7` Byte 0 in memory
 | |
| 
 | |
|       - :cspan:`7` Byte 1
 | |
| 
 | |
|       - :cspan:`7` Byte 2
 | |
| 
 | |
|       - :cspan:`7` Byte 3
 | |
|     * -
 | |
|       -
 | |
|       - 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-RGB444:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB444``
 | |
|       - 'R444'
 | |
| 
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGB555:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB555``
 | |
|       - 'RGBO'
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - a
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-RGB555X:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB555X``
 | |
|       - 'RGBQ'
 | |
| 
 | |
|       - a
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
| 
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
|       -
 | |
|     * .. _V4L2-PIX-FMT-BGR32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_BGR32``
 | |
|       - 'BGR4'
 | |
| 
 | |
|       - b\ :sub:`7`
 | |
|       - b\ :sub:`6`
 | |
|       - b\ :sub:`5`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
|       - g\ :sub:`7`
 | |
|       - g\ :sub:`6`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
| 
 | |
|       - r\ :sub:`7`
 | |
|       - r\ :sub:`6`
 | |
|       - r\ :sub:`5`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
| 
 | |
|       - a\ :sub:`7`
 | |
|       - a\ :sub:`6`
 | |
|       - a\ :sub:`5`
 | |
|       - a\ :sub:`4`
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
|     * .. _V4L2-PIX-FMT-RGB32:
 | |
| 
 | |
|       - ``V4L2_PIX_FMT_RGB32``
 | |
|       - 'RGB4'
 | |
| 
 | |
|       - a\ :sub:`7`
 | |
|       - a\ :sub:`6`
 | |
|       - a\ :sub:`5`
 | |
|       - a\ :sub:`4`
 | |
|       - a\ :sub:`3`
 | |
|       - a\ :sub:`2`
 | |
|       - a\ :sub:`1`
 | |
|       - a\ :sub:`0`
 | |
| 
 | |
|       - r\ :sub:`7`
 | |
|       - r\ :sub:`6`
 | |
|       - r\ :sub:`5`
 | |
|       - r\ :sub:`4`
 | |
|       - r\ :sub:`3`
 | |
|       - r\ :sub:`2`
 | |
|       - r\ :sub:`1`
 | |
|       - r\ :sub:`0`
 | |
| 
 | |
|       - g\ :sub:`7`
 | |
|       - g\ :sub:`6`
 | |
|       - g\ :sub:`5`
 | |
|       - g\ :sub:`4`
 | |
|       - g\ :sub:`3`
 | |
|       - g\ :sub:`2`
 | |
|       - g\ :sub:`1`
 | |
|       - g\ :sub:`0`
 | |
| 
 | |
|       - b\ :sub:`7`
 | |
|       - b\ :sub:`6`
 | |
|       - b\ :sub:`5`
 | |
|       - b\ :sub:`4`
 | |
|       - b\ :sub:`3`
 | |
|       - b\ :sub:`2`
 | |
|       - b\ :sub:`1`
 | |
|       - b\ :sub:`0`
 | |
| 
 | |
| .. raw:: latex
 | |
| 
 | |
|     \endgroup
 | |
| 
 | |
| A test utility to determine which RGB formats a driver actually supports
 | |
| is available from the LinuxTV v4l-dvb repository. See
 | |
| `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
 | |
| instructions.
 |