linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] v4l: Documentation: Raw Bayer formats are not RGB formats
@ 2019-08-13 11:36 Sakari Ailus
  2019-08-13 12:31 ` Hans Verkuil
  0 siblings, 1 reply; 3+ messages in thread
From: Sakari Ailus @ 2019-08-13 11:36 UTC (permalink / raw)
  To: linux-media; +Cc: hverkuil

The raw Bayer formats have been listed under the label of RGB formats but
in fact they're quite different. The latter are readily usable as such
whereas the former require quite bit of image processing before useful.

Split them into RGB and raw Bayer formats.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 Documentation/media/uapi/v4l/pixfmt-bayer.rst |   29 +
 .../media/uapi/v4l/pixfmt-packed-rgb.rst      | 1306 ----------------
 Documentation/media/uapi/v4l/pixfmt-rgb.rst   | 1318 ++++++++++++++++-
 Documentation/media/uapi/v4l/pixfmt.rst       |    1 +
 4 files changed, 1327 insertions(+), 1327 deletions(-)
 create mode 100644 Documentation/media/uapi/v4l/pixfmt-bayer.rst
 delete mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst

diff --git a/Documentation/media/uapi/v4l/pixfmt-bayer.rst b/Documentation/media/uapi/v4l/pixfmt-bayer.rst
new file mode 100644
index 0000000000000..641d075696c78
--- /dev/null
+++ b/Documentation/media/uapi/v4l/pixfmt-bayer.rst
@@ -0,0 +1,29 @@
+.. Permission is granted to copy, distribute and/or modify this
+.. document under the terms of the GNU Free Documentation License,
+.. Version 1.1 or any later version published by the Free Software
+.. Foundation, with no Invariant Sections, no Front-Cover Texts
+.. and no Back-Cover Texts. A copy of the license is included at
+.. Documentation/media/uapi/fdl-appendix.rst.
+..
+.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
+
+.. _pixfmt-rgb:
+
+*****************
+Raw Bayer Formats
+*****************
+
+
+.. toctree::
+    :maxdepth: 1
+
+    pixfmt-srggb8
+    pixfmt-srggb10
+    pixfmt-srggb10p
+    pixfmt-srggb10alaw8
+    pixfmt-srggb10dpcm8
+    pixfmt-srggb10-ipu3
+    pixfmt-srggb12
+    pixfmt-srggb12p
+    pixfmt-srggb14p
+    pixfmt-srggb16
diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst b/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
deleted file mode 100644
index 738bb14c0ee28..0000000000000
--- a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
+++ /dev/null
@@ -1,1306 +0,0 @@
-.. Permission is granted to copy, distribute and/or modify this
-.. document under the terms of the GNU Free Documentation License,
-.. Version 1.1 or any later version published by the Free Software
-.. Foundation, with no Invariant Sections, no Front-Cover Texts
-.. and no Back-Cover Texts. A copy of the license is included at
-.. Documentation/media/uapi/fdl-appendix.rst.
-..
-.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
-
-.. _packed-rgb:
-
-******************
-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.
-
-.. 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}|
-
-
-.. _rgb-formats:
-
-.. flat-table:: 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-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`
-
-      -
-      -
-      -
-      -
-      - 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`
-      -
-      -
-      -
-      -
-
-      - 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`
-
-      -
-      -
-      -
-      -
-      - 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`
-      -
-      -
-      -
-      -
-
-      - 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`
-
-      -
-      - 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`
-      -
-
-      - 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`
-
-      -
-      - 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`
-      -
-
-      - 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)
-
-      -
-      - 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-BGR24:
-
-      - ``V4L2_PIX_FMT_BGR24``
-      - 'BGR3'
-
-      - 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`
-      -
-    * .. _V4L2-PIX-FMT-RGB24:
-
-      - ``V4L2_PIX_FMT_RGB24``
-      - 'RGB3'
-
-      - 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`
-      -
-    * .. _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`
-      -
-      -
-      -
-      -
-      -
-      -
-
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-    * .. _V4L2-PIX-FMT-ABGR32:
-
-      - ``V4L2_PIX_FMT_ABGR32``
-      - 'AR24'
-
-      - 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-XBGR32:
-
-      - ``V4L2_PIX_FMT_XBGR32``
-      - 'XR24'
-
-      - 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`
-
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-    * .. _V4L2-PIX-FMT-BGRA32:
-
-      - ``V4L2_PIX_FMT_BGRA32``
-      - 'RA24'
-
-      - a\ :sub:`7`
-      - a\ :sub:`6`
-      - a\ :sub:`5`
-      - a\ :sub:`4`
-      - a\ :sub:`3`
-      - a\ :sub:`2`
-      - a\ :sub:`1`
-      - a\ :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`
-
-      - 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`
-    * .. _V4L2-PIX-FMT-BGRX32:
-
-      - ``V4L2_PIX_FMT_BGRX32``
-      - 'RX24'
-
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-
-      - 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`
-    * .. _V4L2-PIX-FMT-RGBA32:
-
-      - ``V4L2_PIX_FMT_RGBA32``
-      - 'AB24'
-
-      - 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`
-
-      - 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-RGBX32:
-
-      - ``V4L2_PIX_FMT_RGBX32``
-      - 'XB24'
-
-      - 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`
-
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-    * .. _V4L2-PIX-FMT-ARGB32:
-
-      - ``V4L2_PIX_FMT_ARGB32``
-      - 'BA24'
-
-      - 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`
-    * .. _V4L2-PIX-FMT-XRGB32:
-
-      - ``V4L2_PIX_FMT_XRGB32``
-      - 'BX24'
-
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-      -
-
-      - 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
-
-.. note:: Bit 7 is the most significant bit.
-
-The usage and value of the alpha bits (a) in the ARGB and ABGR formats
-(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 outputs an alpha channel the alpha component
-will have a meaningful value. Otherwise, when the device doesn't output
-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.
-
-The XRGB and XBGR formats contain undefined bits (-). Applications,
-devices and drivers must ignore those bits, for both
-:ref:`capture` and :ref:`output` devices.
-
-**Byte Order.**
-Each cell is one byte.
-
-
-.. raw:: latex
-
-    \small
-
-.. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
-
-.. flat-table:: RGB byte order
-    :header-rows:  0
-    :stub-columns: 0
-    :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
-
-    * - start + 0:
-      - B\ :sub:`00`
-      - G\ :sub:`00`
-      - R\ :sub:`00`
-      - B\ :sub:`01`
-      - G\ :sub:`01`
-      - R\ :sub:`01`
-      - B\ :sub:`02`
-      - G\ :sub:`02`
-      - R\ :sub:`02`
-      - B\ :sub:`03`
-      - G\ :sub:`03`
-      - R\ :sub:`03`
-    * - start + 12:
-      - B\ :sub:`10`
-      - G\ :sub:`10`
-      - R\ :sub:`10`
-      - B\ :sub:`11`
-      - G\ :sub:`11`
-      - R\ :sub:`11`
-      - B\ :sub:`12`
-      - G\ :sub:`12`
-      - R\ :sub:`12`
-      - B\ :sub:`13`
-      - G\ :sub:`13`
-      - R\ :sub:`13`
-    * - start + 24:
-      - B\ :sub:`20`
-      - G\ :sub:`20`
-      - R\ :sub:`20`
-      - B\ :sub:`21`
-      - G\ :sub:`21`
-      - R\ :sub:`21`
-      - B\ :sub:`22`
-      - G\ :sub:`22`
-      - R\ :sub:`22`
-      - B\ :sub:`23`
-      - G\ :sub:`23`
-      - R\ :sub:`23`
-    * - start + 36:
-      - B\ :sub:`30`
-      - G\ :sub:`30`
-      - R\ :sub:`30`
-      - B\ :sub:`31`
-      - G\ :sub:`31`
-      - R\ :sub:`31`
-      - B\ :sub:`32`
-      - G\ :sub:`32`
-      - R\ :sub:`32`
-      - B\ :sub:`33`
-      - G\ :sub:`33`
-      - R\ :sub:`33`
-
-.. raw:: latex
-
-    \normalsize
-
-Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
-must not be used by new drivers. They are documented here for reference.
-The meaning of their alpha bits ``(a)`` are ill-defined and 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}|
-
-.. _rgb-formats-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.
diff --git a/Documentation/media/uapi/v4l/pixfmt-rgb.rst b/Documentation/media/uapi/v4l/pixfmt-rgb.rst
index 48ab800248352..738bb14c0ee28 100644
--- a/Documentation/media/uapi/v4l/pixfmt-rgb.rst
+++ b/Documentation/media/uapi/v4l/pixfmt-rgb.rst
@@ -7,24 +7,1300 @@
 ..
 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
 
-.. _pixfmt-rgb:
-
-***********
-RGB Formats
-***********
-
-
-.. toctree::
-    :maxdepth: 1
-
-    pixfmt-packed-rgb
-    pixfmt-srggb8
-    pixfmt-srggb10
-    pixfmt-srggb10p
-    pixfmt-srggb10alaw8
-    pixfmt-srggb10dpcm8
-    pixfmt-srggb10-ipu3
-    pixfmt-srggb12
-    pixfmt-srggb12p
-    pixfmt-srggb14p
-    pixfmt-srggb16
+.. _packed-rgb:
+
+******************
+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.
+
+.. 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}|
+
+
+.. _rgb-formats:
+
+.. flat-table:: 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-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`
+
+      -
+      -
+      -
+      -
+      - 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`
+      -
+      -
+      -
+      -
+
+      - 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`
+
+      -
+      -
+      -
+      -
+      - 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`
+      -
+      -
+      -
+      -
+
+      - 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`
+
+      -
+      - 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`
+      -
+
+      - 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`
+
+      -
+      - 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`
+      -
+
+      - 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)
+
+      -
+      - 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-BGR24:
+
+      - ``V4L2_PIX_FMT_BGR24``
+      - 'BGR3'
+
+      - 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`
+      -
+    * .. _V4L2-PIX-FMT-RGB24:
+
+      - ``V4L2_PIX_FMT_RGB24``
+      - 'RGB3'
+
+      - 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`
+      -
+    * .. _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`
+      -
+      -
+      -
+      -
+      -
+      -
+
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+    * .. _V4L2-PIX-FMT-ABGR32:
+
+      - ``V4L2_PIX_FMT_ABGR32``
+      - 'AR24'
+
+      - 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-XBGR32:
+
+      - ``V4L2_PIX_FMT_XBGR32``
+      - 'XR24'
+
+      - 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`
+
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+    * .. _V4L2-PIX-FMT-BGRA32:
+
+      - ``V4L2_PIX_FMT_BGRA32``
+      - 'RA24'
+
+      - a\ :sub:`7`
+      - a\ :sub:`6`
+      - a\ :sub:`5`
+      - a\ :sub:`4`
+      - a\ :sub:`3`
+      - a\ :sub:`2`
+      - a\ :sub:`1`
+      - a\ :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`
+
+      - 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`
+    * .. _V4L2-PIX-FMT-BGRX32:
+
+      - ``V4L2_PIX_FMT_BGRX32``
+      - 'RX24'
+
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+
+      - 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`
+    * .. _V4L2-PIX-FMT-RGBA32:
+
+      - ``V4L2_PIX_FMT_RGBA32``
+      - 'AB24'
+
+      - 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`
+
+      - 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-RGBX32:
+
+      - ``V4L2_PIX_FMT_RGBX32``
+      - 'XB24'
+
+      - 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`
+
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+    * .. _V4L2-PIX-FMT-ARGB32:
+
+      - ``V4L2_PIX_FMT_ARGB32``
+      - 'BA24'
+
+      - 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`
+    * .. _V4L2-PIX-FMT-XRGB32:
+
+      - ``V4L2_PIX_FMT_XRGB32``
+      - 'BX24'
+
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+      -
+
+      - 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
+
+.. note:: Bit 7 is the most significant bit.
+
+The usage and value of the alpha bits (a) in the ARGB and ABGR formats
+(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 outputs an alpha channel the alpha component
+will have a meaningful value. Otherwise, when the device doesn't output
+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.
+
+The XRGB and XBGR formats contain undefined bits (-). Applications,
+devices and drivers must ignore those bits, for both
+:ref:`capture` and :ref:`output` devices.
+
+**Byte Order.**
+Each cell is one byte.
+
+
+.. raw:: latex
+
+    \small
+
+.. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
+
+.. flat-table:: RGB byte order
+    :header-rows:  0
+    :stub-columns: 0
+    :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
+
+    * - start + 0:
+      - B\ :sub:`00`
+      - G\ :sub:`00`
+      - R\ :sub:`00`
+      - B\ :sub:`01`
+      - G\ :sub:`01`
+      - R\ :sub:`01`
+      - B\ :sub:`02`
+      - G\ :sub:`02`
+      - R\ :sub:`02`
+      - B\ :sub:`03`
+      - G\ :sub:`03`
+      - R\ :sub:`03`
+    * - start + 12:
+      - B\ :sub:`10`
+      - G\ :sub:`10`
+      - R\ :sub:`10`
+      - B\ :sub:`11`
+      - G\ :sub:`11`
+      - R\ :sub:`11`
+      - B\ :sub:`12`
+      - G\ :sub:`12`
+      - R\ :sub:`12`
+      - B\ :sub:`13`
+      - G\ :sub:`13`
+      - R\ :sub:`13`
+    * - start + 24:
+      - B\ :sub:`20`
+      - G\ :sub:`20`
+      - R\ :sub:`20`
+      - B\ :sub:`21`
+      - G\ :sub:`21`
+      - R\ :sub:`21`
+      - B\ :sub:`22`
+      - G\ :sub:`22`
+      - R\ :sub:`22`
+      - B\ :sub:`23`
+      - G\ :sub:`23`
+      - R\ :sub:`23`
+    * - start + 36:
+      - B\ :sub:`30`
+      - G\ :sub:`30`
+      - R\ :sub:`30`
+      - B\ :sub:`31`
+      - G\ :sub:`31`
+      - R\ :sub:`31`
+      - B\ :sub:`32`
+      - G\ :sub:`32`
+      - R\ :sub:`32`
+      - B\ :sub:`33`
+      - G\ :sub:`33`
+      - R\ :sub:`33`
+
+.. raw:: latex
+
+    \normalsize
+
+Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
+must not be used by new drivers. They are documented here for reference.
+The meaning of their alpha bits ``(a)`` are ill-defined and 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}|
+
+.. _rgb-formats-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.
diff --git a/Documentation/media/uapi/v4l/pixfmt.rst b/Documentation/media/uapi/v4l/pixfmt.rst
index 29be001796dbc..a7d4cd43a298f 100644
--- a/Documentation/media/uapi/v4l/pixfmt.rst
+++ b/Documentation/media/uapi/v4l/pixfmt.rst
@@ -31,6 +31,7 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_FBUF>`.)
     pixfmt-intro
     pixfmt-indexed
     pixfmt-rgb
+    pixfmt-bayer
     yuv-formats
     hsv-formats
     depth-formats
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] v4l: Documentation: Raw Bayer formats are not RGB formats
  2019-08-13 11:36 [PATCH 1/1] v4l: Documentation: Raw Bayer formats are not RGB formats Sakari Ailus
@ 2019-08-13 12:31 ` Hans Verkuil
  2019-08-13 13:22   ` Sakari Ailus
  0 siblings, 1 reply; 3+ messages in thread
From: Hans Verkuil @ 2019-08-13 12:31 UTC (permalink / raw)
  To: Sakari Ailus, linux-media

On 8/13/19 1:36 PM, Sakari Ailus wrote:
> The raw Bayer formats have been listed under the label of RGB formats but
> in fact they're quite different. The latter are readily usable as such
> whereas the former require quite bit of image processing before useful.
> 
> Split them into RGB and raw Bayer formats.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Fantastic! This has been annoying me for a long time.
Very nice improvement.

However, I get this warning when building the docs:

Documentation/media/uapi/v4l/pixfmt-bayer.rst:14: WARNING: duplicate label pixfmt-rgb, other instance in Documentation/media/uapi/v4l/pixfmt-rgb.rst

> ---
>  Documentation/media/uapi/v4l/pixfmt-bayer.rst |   29 +
>  .../media/uapi/v4l/pixfmt-packed-rgb.rst      | 1306 ----------------
>  Documentation/media/uapi/v4l/pixfmt-rgb.rst   | 1318 ++++++++++++++++-
>  Documentation/media/uapi/v4l/pixfmt.rst       |    1 +
>  4 files changed, 1327 insertions(+), 1327 deletions(-)
>  create mode 100644 Documentation/media/uapi/v4l/pixfmt-bayer.rst
>  delete mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
> 
> diff --git a/Documentation/media/uapi/v4l/pixfmt-bayer.rst b/Documentation/media/uapi/v4l/pixfmt-bayer.rst
> new file mode 100644
> index 0000000000000..641d075696c78
> --- /dev/null
> +++ b/Documentation/media/uapi/v4l/pixfmt-bayer.rst
> @@ -0,0 +1,29 @@
> +.. Permission is granted to copy, distribute and/or modify this
> +.. document under the terms of the GNU Free Documentation License,
> +.. Version 1.1 or any later version published by the Free Software
> +.. Foundation, with no Invariant Sections, no Front-Cover Texts
> +.. and no Back-Cover Texts. A copy of the license is included at
> +.. Documentation/media/uapi/fdl-appendix.rst.
> +..
> +.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
> +
> +.. _pixfmt-rgb:

So this should become _pixfmt-bayer

> +
> +*****************
> +Raw Bayer Formats
> +*****************

There should also be a short description here, as is done with the other
formats.

Regards,

	Hans

> +
> +
> +.. toctree::
> +    :maxdepth: 1
> +
> +    pixfmt-srggb8
> +    pixfmt-srggb10
> +    pixfmt-srggb10p
> +    pixfmt-srggb10alaw8
> +    pixfmt-srggb10dpcm8
> +    pixfmt-srggb10-ipu3
> +    pixfmt-srggb12
> +    pixfmt-srggb12p
> +    pixfmt-srggb14p
> +    pixfmt-srggb16
> diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst b/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
> deleted file mode 100644
> index 738bb14c0ee28..0000000000000
> --- a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
> +++ /dev/null
> @@ -1,1306 +0,0 @@
> -.. Permission is granted to copy, distribute and/or modify this
> -.. document under the terms of the GNU Free Documentation License,
> -.. Version 1.1 or any later version published by the Free Software
> -.. Foundation, with no Invariant Sections, no Front-Cover Texts
> -.. and no Back-Cover Texts. A copy of the license is included at
> -.. Documentation/media/uapi/fdl-appendix.rst.
> -..
> -.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
> -
> -.. _packed-rgb:
> -
> -******************
> -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.
> -
> -.. 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}|
> -
> -
> -.. _rgb-formats:
> -
> -.. flat-table:: 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-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`
> -
> -      -
> -      -
> -      -
> -      -
> -      - 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`
> -      -
> -      -
> -      -
> -      -
> -
> -      - 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`
> -
> -      -
> -      -
> -      -
> -      -
> -      - 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`
> -      -
> -      -
> -      -
> -      -
> -
> -      - 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`
> -
> -      -
> -      - 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`
> -      -
> -
> -      - 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`
> -
> -      -
> -      - 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`
> -      -
> -
> -      - 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)
> -
> -      -
> -      - 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-BGR24:
> -
> -      - ``V4L2_PIX_FMT_BGR24``
> -      - 'BGR3'
> -
> -      - 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`
> -      -
> -    * .. _V4L2-PIX-FMT-RGB24:
> -
> -      - ``V4L2_PIX_FMT_RGB24``
> -      - 'RGB3'
> -
> -      - 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`
> -      -
> -    * .. _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`
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -    * .. _V4L2-PIX-FMT-ABGR32:
> -
> -      - ``V4L2_PIX_FMT_ABGR32``
> -      - 'AR24'
> -
> -      - 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-XBGR32:
> -
> -      - ``V4L2_PIX_FMT_XBGR32``
> -      - 'XR24'
> -
> -      - 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`
> -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -    * .. _V4L2-PIX-FMT-BGRA32:
> -
> -      - ``V4L2_PIX_FMT_BGRA32``
> -      - 'RA24'
> -
> -      - a\ :sub:`7`
> -      - a\ :sub:`6`
> -      - a\ :sub:`5`
> -      - a\ :sub:`4`
> -      - a\ :sub:`3`
> -      - a\ :sub:`2`
> -      - a\ :sub:`1`
> -      - a\ :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`
> -
> -      - 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`
> -    * .. _V4L2-PIX-FMT-BGRX32:
> -
> -      - ``V4L2_PIX_FMT_BGRX32``
> -      - 'RX24'
> -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -
> -      - 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`
> -    * .. _V4L2-PIX-FMT-RGBA32:
> -
> -      - ``V4L2_PIX_FMT_RGBA32``
> -      - 'AB24'
> -
> -      - 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`
> -
> -      - 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-RGBX32:
> -
> -      - ``V4L2_PIX_FMT_RGBX32``
> -      - 'XB24'
> -
> -      - 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`
> -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -    * .. _V4L2-PIX-FMT-ARGB32:
> -
> -      - ``V4L2_PIX_FMT_ARGB32``
> -      - 'BA24'
> -
> -      - 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`
> -    * .. _V4L2-PIX-FMT-XRGB32:
> -
> -      - ``V4L2_PIX_FMT_XRGB32``
> -      - 'BX24'
> -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -      -
> -
> -      - 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
> -
> -.. note:: Bit 7 is the most significant bit.
> -
> -The usage and value of the alpha bits (a) in the ARGB and ABGR formats
> -(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 outputs an alpha channel the alpha component
> -will have a meaningful value. Otherwise, when the device doesn't output
> -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.
> -
> -The XRGB and XBGR formats contain undefined bits (-). Applications,
> -devices and drivers must ignore those bits, for both
> -:ref:`capture` and :ref:`output` devices.
> -
> -**Byte Order.**
> -Each cell is one byte.
> -
> -
> -.. raw:: latex
> -
> -    \small
> -
> -.. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
> -
> -.. flat-table:: RGB byte order
> -    :header-rows:  0
> -    :stub-columns: 0
> -    :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
> -
> -    * - start + 0:
> -      - B\ :sub:`00`
> -      - G\ :sub:`00`
> -      - R\ :sub:`00`
> -      - B\ :sub:`01`
> -      - G\ :sub:`01`
> -      - R\ :sub:`01`
> -      - B\ :sub:`02`
> -      - G\ :sub:`02`
> -      - R\ :sub:`02`
> -      - B\ :sub:`03`
> -      - G\ :sub:`03`
> -      - R\ :sub:`03`
> -    * - start + 12:
> -      - B\ :sub:`10`
> -      - G\ :sub:`10`
> -      - R\ :sub:`10`
> -      - B\ :sub:`11`
> -      - G\ :sub:`11`
> -      - R\ :sub:`11`
> -      - B\ :sub:`12`
> -      - G\ :sub:`12`
> -      - R\ :sub:`12`
> -      - B\ :sub:`13`
> -      - G\ :sub:`13`
> -      - R\ :sub:`13`
> -    * - start + 24:
> -      - B\ :sub:`20`
> -      - G\ :sub:`20`
> -      - R\ :sub:`20`
> -      - B\ :sub:`21`
> -      - G\ :sub:`21`
> -      - R\ :sub:`21`
> -      - B\ :sub:`22`
> -      - G\ :sub:`22`
> -      - R\ :sub:`22`
> -      - B\ :sub:`23`
> -      - G\ :sub:`23`
> -      - R\ :sub:`23`
> -    * - start + 36:
> -      - B\ :sub:`30`
> -      - G\ :sub:`30`
> -      - R\ :sub:`30`
> -      - B\ :sub:`31`
> -      - G\ :sub:`31`
> -      - R\ :sub:`31`
> -      - B\ :sub:`32`
> -      - G\ :sub:`32`
> -      - R\ :sub:`32`
> -      - B\ :sub:`33`
> -      - G\ :sub:`33`
> -      - R\ :sub:`33`
> -
> -.. raw:: latex
> -
> -    \normalsize
> -
> -Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
> -must not be used by new drivers. They are documented here for reference.
> -The meaning of their alpha bits ``(a)`` are ill-defined and 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}|
> -
> -.. _rgb-formats-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.
> diff --git a/Documentation/media/uapi/v4l/pixfmt-rgb.rst b/Documentation/media/uapi/v4l/pixfmt-rgb.rst
> index 48ab800248352..738bb14c0ee28 100644
> --- a/Documentation/media/uapi/v4l/pixfmt-rgb.rst
> +++ b/Documentation/media/uapi/v4l/pixfmt-rgb.rst
> @@ -7,24 +7,1300 @@
>  ..
>  .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
>  
> -.. _pixfmt-rgb:
> -
> -***********
> -RGB Formats
> -***********
> -
> -
> -.. toctree::
> -    :maxdepth: 1
> -
> -    pixfmt-packed-rgb
> -    pixfmt-srggb8
> -    pixfmt-srggb10
> -    pixfmt-srggb10p
> -    pixfmt-srggb10alaw8
> -    pixfmt-srggb10dpcm8
> -    pixfmt-srggb10-ipu3
> -    pixfmt-srggb12
> -    pixfmt-srggb12p
> -    pixfmt-srggb14p
> -    pixfmt-srggb16
> +.. _packed-rgb:
> +
> +******************
> +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.
> +
> +.. 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}|
> +
> +
> +.. _rgb-formats:
> +
> +.. flat-table:: 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-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`
> +
> +      -
> +      -
> +      -
> +      -
> +      - 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`
> +      -
> +      -
> +      -
> +      -
> +
> +      - 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`
> +
> +      -
> +      -
> +      -
> +      -
> +      - 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`
> +      -
> +      -
> +      -
> +      -
> +
> +      - 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`
> +
> +      -
> +      - 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`
> +      -
> +
> +      - 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`
> +
> +      -
> +      - 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`
> +      -
> +
> +      - 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)
> +
> +      -
> +      - 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-BGR24:
> +
> +      - ``V4L2_PIX_FMT_BGR24``
> +      - 'BGR3'
> +
> +      - 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`
> +      -
> +    * .. _V4L2-PIX-FMT-RGB24:
> +
> +      - ``V4L2_PIX_FMT_RGB24``
> +      - 'RGB3'
> +
> +      - 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`
> +      -
> +    * .. _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`
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +    * .. _V4L2-PIX-FMT-ABGR32:
> +
> +      - ``V4L2_PIX_FMT_ABGR32``
> +      - 'AR24'
> +
> +      - 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-XBGR32:
> +
> +      - ``V4L2_PIX_FMT_XBGR32``
> +      - 'XR24'
> +
> +      - 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`
> +
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +    * .. _V4L2-PIX-FMT-BGRA32:
> +
> +      - ``V4L2_PIX_FMT_BGRA32``
> +      - 'RA24'
> +
> +      - a\ :sub:`7`
> +      - a\ :sub:`6`
> +      - a\ :sub:`5`
> +      - a\ :sub:`4`
> +      - a\ :sub:`3`
> +      - a\ :sub:`2`
> +      - a\ :sub:`1`
> +      - a\ :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`
> +
> +      - 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`
> +    * .. _V4L2-PIX-FMT-BGRX32:
> +
> +      - ``V4L2_PIX_FMT_BGRX32``
> +      - 'RX24'
> +
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +
> +      - 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`
> +    * .. _V4L2-PIX-FMT-RGBA32:
> +
> +      - ``V4L2_PIX_FMT_RGBA32``
> +      - 'AB24'
> +
> +      - 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`
> +
> +      - 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-RGBX32:
> +
> +      - ``V4L2_PIX_FMT_RGBX32``
> +      - 'XB24'
> +
> +      - 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`
> +
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +    * .. _V4L2-PIX-FMT-ARGB32:
> +
> +      - ``V4L2_PIX_FMT_ARGB32``
> +      - 'BA24'
> +
> +      - 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`
> +    * .. _V4L2-PIX-FMT-XRGB32:
> +
> +      - ``V4L2_PIX_FMT_XRGB32``
> +      - 'BX24'
> +
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +      -
> +
> +      - 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
> +
> +.. note:: Bit 7 is the most significant bit.
> +
> +The usage and value of the alpha bits (a) in the ARGB and ABGR formats
> +(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 outputs an alpha channel the alpha component
> +will have a meaningful value. Otherwise, when the device doesn't output
> +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.
> +
> +The XRGB and XBGR formats contain undefined bits (-). Applications,
> +devices and drivers must ignore those bits, for both
> +:ref:`capture` and :ref:`output` devices.
> +
> +**Byte Order.**
> +Each cell is one byte.
> +
> +
> +.. raw:: latex
> +
> +    \small
> +
> +.. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
> +
> +.. flat-table:: RGB byte order
> +    :header-rows:  0
> +    :stub-columns: 0
> +    :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
> +
> +    * - start + 0:
> +      - B\ :sub:`00`
> +      - G\ :sub:`00`
> +      - R\ :sub:`00`
> +      - B\ :sub:`01`
> +      - G\ :sub:`01`
> +      - R\ :sub:`01`
> +      - B\ :sub:`02`
> +      - G\ :sub:`02`
> +      - R\ :sub:`02`
> +      - B\ :sub:`03`
> +      - G\ :sub:`03`
> +      - R\ :sub:`03`
> +    * - start + 12:
> +      - B\ :sub:`10`
> +      - G\ :sub:`10`
> +      - R\ :sub:`10`
> +      - B\ :sub:`11`
> +      - G\ :sub:`11`
> +      - R\ :sub:`11`
> +      - B\ :sub:`12`
> +      - G\ :sub:`12`
> +      - R\ :sub:`12`
> +      - B\ :sub:`13`
> +      - G\ :sub:`13`
> +      - R\ :sub:`13`
> +    * - start + 24:
> +      - B\ :sub:`20`
> +      - G\ :sub:`20`
> +      - R\ :sub:`20`
> +      - B\ :sub:`21`
> +      - G\ :sub:`21`
> +      - R\ :sub:`21`
> +      - B\ :sub:`22`
> +      - G\ :sub:`22`
> +      - R\ :sub:`22`
> +      - B\ :sub:`23`
> +      - G\ :sub:`23`
> +      - R\ :sub:`23`
> +    * - start + 36:
> +      - B\ :sub:`30`
> +      - G\ :sub:`30`
> +      - R\ :sub:`30`
> +      - B\ :sub:`31`
> +      - G\ :sub:`31`
> +      - R\ :sub:`31`
> +      - B\ :sub:`32`
> +      - G\ :sub:`32`
> +      - R\ :sub:`32`
> +      - B\ :sub:`33`
> +      - G\ :sub:`33`
> +      - R\ :sub:`33`
> +
> +.. raw:: latex
> +
> +    \normalsize
> +
> +Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
> +must not be used by new drivers. They are documented here for reference.
> +The meaning of their alpha bits ``(a)`` are ill-defined and 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}|
> +
> +.. _rgb-formats-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.
> diff --git a/Documentation/media/uapi/v4l/pixfmt.rst b/Documentation/media/uapi/v4l/pixfmt.rst
> index 29be001796dbc..a7d4cd43a298f 100644
> --- a/Documentation/media/uapi/v4l/pixfmt.rst
> +++ b/Documentation/media/uapi/v4l/pixfmt.rst
> @@ -31,6 +31,7 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_FBUF>`.)
>      pixfmt-intro
>      pixfmt-indexed
>      pixfmt-rgb
> +    pixfmt-bayer
>      yuv-formats
>      hsv-formats
>      depth-formats
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] v4l: Documentation: Raw Bayer formats are not RGB formats
  2019-08-13 12:31 ` Hans Verkuil
@ 2019-08-13 13:22   ` Sakari Ailus
  0 siblings, 0 replies; 3+ messages in thread
From: Sakari Ailus @ 2019-08-13 13:22 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media

Hi Hans,

On Tue, Aug 13, 2019 at 02:31:05PM +0200, Hans Verkuil wrote:
> On 8/13/19 1:36 PM, Sakari Ailus wrote:
> > The raw Bayer formats have been listed under the label of RGB formats but
> > in fact they're quite different. The latter are readily usable as such
> > whereas the former require quite bit of image processing before useful.
> > 
> > Split them into RGB and raw Bayer formats.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> Fantastic! This has been annoying me for a long time.
> Very nice improvement.
> 
> However, I get this warning when building the docs:
> 
> Documentation/media/uapi/v4l/pixfmt-bayer.rst:14: WARNING: duplicate label pixfmt-rgb, other instance in Documentation/media/uapi/v4l/pixfmt-rgb.rst

Oops. I built the documentation but somehow missed this. I'll fix it.

> 
> > ---
> >  Documentation/media/uapi/v4l/pixfmt-bayer.rst |   29 +
> >  .../media/uapi/v4l/pixfmt-packed-rgb.rst      | 1306 ----------------
> >  Documentation/media/uapi/v4l/pixfmt-rgb.rst   | 1318 ++++++++++++++++-
> >  Documentation/media/uapi/v4l/pixfmt.rst       |    1 +
> >  4 files changed, 1327 insertions(+), 1327 deletions(-)
> >  create mode 100644 Documentation/media/uapi/v4l/pixfmt-bayer.rst
> >  delete mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
> > 
> > diff --git a/Documentation/media/uapi/v4l/pixfmt-bayer.rst b/Documentation/media/uapi/v4l/pixfmt-bayer.rst
> > new file mode 100644
> > index 0000000000000..641d075696c78
> > --- /dev/null
> > +++ b/Documentation/media/uapi/v4l/pixfmt-bayer.rst
> > @@ -0,0 +1,29 @@
> > +.. Permission is granted to copy, distribute and/or modify this
> > +.. document under the terms of the GNU Free Documentation License,
> > +.. Version 1.1 or any later version published by the Free Software
> > +.. Foundation, with no Invariant Sections, no Front-Cover Texts
> > +.. and no Back-Cover Texts. A copy of the license is included at
> > +.. Documentation/media/uapi/fdl-appendix.rst.
> > +..
> > +.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
> > +
> > +.. _pixfmt-rgb:
> 
> So this should become _pixfmt-bayer

Yes.

I'll also replace _packed-rgb by _pixfmt-rgb and remove the oddly-placed
"_rgb-formats:" line in what becomes pixfmt-rgb.rst, and change the
references.

> 
> > +
> > +*****************
> > +Raw Bayer Formats
> > +*****************
> 
> There should also be a short description here, as is done with the other
> formats.

The raw Bayer formats are used by image sensors before much if any processing is
performed on the image. The formats contain green, red and blue components, with
alternating lines of red and green, and blue and green pixels in different
orders. See also `the Wikipedia article on Bayer filter
<https://en.wikipedia.org/wiki/Bayer_filter>`__.

> 
> Regards,
> 
> 	Hans
> 
> > +
> > +
> > +.. toctree::
> > +    :maxdepth: 1
> > +
> > +    pixfmt-srggb8
> > +    pixfmt-srggb10
> > +    pixfmt-srggb10p
> > +    pixfmt-srggb10alaw8
> > +    pixfmt-srggb10dpcm8
> > +    pixfmt-srggb10-ipu3
> > +    pixfmt-srggb12
> > +    pixfmt-srggb12p
> > +    pixfmt-srggb14p
> > +    pixfmt-srggb16
> > diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst b/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
> > deleted file mode 100644
> > index 738bb14c0ee28..0000000000000
> > --- a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
> > +++ /dev/null
> > @@ -1,1306 +0,0 @@
> > -.. Permission is granted to copy, distribute and/or modify this
> > -.. document under the terms of the GNU Free Documentation License,
> > -.. Version 1.1 or any later version published by the Free Software
> > -.. Foundation, with no Invariant Sections, no Front-Cover Texts
> > -.. and no Back-Cover Texts. A copy of the license is included at
> > -.. Documentation/media/uapi/fdl-appendix.rst.
> > -..
> > -.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
> > -
> > -.. _packed-rgb:
> > -
> > -******************
> > -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.
> > -
> > -.. 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}|
> > -
> > -
> > -.. _rgb-formats:
> > -
> > -.. flat-table:: 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-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`
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      - 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`
> > -      -
> > -      -
> > -      -
> > -      -
> > -
> > -      - 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`
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      - 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`
> > -      -
> > -      -
> > -      -
> > -      -
> > -
> > -      - 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`
> > -
> > -      -
> > -      - 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`
> > -      -
> > -
> > -      - 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`
> > -
> > -      -
> > -      - 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`
> > -      -
> > -
> > -      - 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)
> > -
> > -      -
> > -      - 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-BGR24:
> > -
> > -      - ``V4L2_PIX_FMT_BGR24``
> > -      - 'BGR3'
> > -
> > -      - 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`
> > -      -
> > -    * .. _V4L2-PIX-FMT-RGB24:
> > -
> > -      - ``V4L2_PIX_FMT_RGB24``
> > -      - 'RGB3'
> > -
> > -      - 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`
> > -      -
> > -    * .. _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`
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -    * .. _V4L2-PIX-FMT-ABGR32:
> > -
> > -      - ``V4L2_PIX_FMT_ABGR32``
> > -      - 'AR24'
> > -
> > -      - 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-XBGR32:
> > -
> > -      - ``V4L2_PIX_FMT_XBGR32``
> > -      - 'XR24'
> > -
> > -      - 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`
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -    * .. _V4L2-PIX-FMT-BGRA32:
> > -
> > -      - ``V4L2_PIX_FMT_BGRA32``
> > -      - 'RA24'
> > -
> > -      - a\ :sub:`7`
> > -      - a\ :sub:`6`
> > -      - a\ :sub:`5`
> > -      - a\ :sub:`4`
> > -      - a\ :sub:`3`
> > -      - a\ :sub:`2`
> > -      - a\ :sub:`1`
> > -      - a\ :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`
> > -
> > -      - 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`
> > -    * .. _V4L2-PIX-FMT-BGRX32:
> > -
> > -      - ``V4L2_PIX_FMT_BGRX32``
> > -      - 'RX24'
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -
> > -      - 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`
> > -    * .. _V4L2-PIX-FMT-RGBA32:
> > -
> > -      - ``V4L2_PIX_FMT_RGBA32``
> > -      - 'AB24'
> > -
> > -      - 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`
> > -
> > -      - 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-RGBX32:
> > -
> > -      - ``V4L2_PIX_FMT_RGBX32``
> > -      - 'XB24'
> > -
> > -      - 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`
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -    * .. _V4L2-PIX-FMT-ARGB32:
> > -
> > -      - ``V4L2_PIX_FMT_ARGB32``
> > -      - 'BA24'
> > -
> > -      - 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`
> > -    * .. _V4L2-PIX-FMT-XRGB32:
> > -
> > -      - ``V4L2_PIX_FMT_XRGB32``
> > -      - 'BX24'
> > -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -      -
> > -
> > -      - 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
> > -
> > -.. note:: Bit 7 is the most significant bit.
> > -
> > -The usage and value of the alpha bits (a) in the ARGB and ABGR formats
> > -(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 outputs an alpha channel the alpha component
> > -will have a meaningful value. Otherwise, when the device doesn't output
> > -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.
> > -
> > -The XRGB and XBGR formats contain undefined bits (-). Applications,
> > -devices and drivers must ignore those bits, for both
> > -:ref:`capture` and :ref:`output` devices.
> > -
> > -**Byte Order.**
> > -Each cell is one byte.
> > -
> > -
> > -.. raw:: latex
> > -
> > -    \small
> > -
> > -.. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
> > -
> > -.. flat-table:: RGB byte order
> > -    :header-rows:  0
> > -    :stub-columns: 0
> > -    :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
> > -
> > -    * - start + 0:
> > -      - B\ :sub:`00`
> > -      - G\ :sub:`00`
> > -      - R\ :sub:`00`
> > -      - B\ :sub:`01`
> > -      - G\ :sub:`01`
> > -      - R\ :sub:`01`
> > -      - B\ :sub:`02`
> > -      - G\ :sub:`02`
> > -      - R\ :sub:`02`
> > -      - B\ :sub:`03`
> > -      - G\ :sub:`03`
> > -      - R\ :sub:`03`
> > -    * - start + 12:
> > -      - B\ :sub:`10`
> > -      - G\ :sub:`10`
> > -      - R\ :sub:`10`
> > -      - B\ :sub:`11`
> > -      - G\ :sub:`11`
> > -      - R\ :sub:`11`
> > -      - B\ :sub:`12`
> > -      - G\ :sub:`12`
> > -      - R\ :sub:`12`
> > -      - B\ :sub:`13`
> > -      - G\ :sub:`13`
> > -      - R\ :sub:`13`
> > -    * - start + 24:
> > -      - B\ :sub:`20`
> > -      - G\ :sub:`20`
> > -      - R\ :sub:`20`
> > -      - B\ :sub:`21`
> > -      - G\ :sub:`21`
> > -      - R\ :sub:`21`
> > -      - B\ :sub:`22`
> > -      - G\ :sub:`22`
> > -      - R\ :sub:`22`
> > -      - B\ :sub:`23`
> > -      - G\ :sub:`23`
> > -      - R\ :sub:`23`
> > -    * - start + 36:
> > -      - B\ :sub:`30`
> > -      - G\ :sub:`30`
> > -      - R\ :sub:`30`
> > -      - B\ :sub:`31`
> > -      - G\ :sub:`31`
> > -      - R\ :sub:`31`
> > -      - B\ :sub:`32`
> > -      - G\ :sub:`32`
> > -      - R\ :sub:`32`
> > -      - B\ :sub:`33`
> > -      - G\ :sub:`33`
> > -      - R\ :sub:`33`
> > -
> > -.. raw:: latex
> > -
> > -    \normalsize
> > -
> > -Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
> > -must not be used by new drivers. They are documented here for reference.
> > -The meaning of their alpha bits ``(a)`` are ill-defined and 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}|
> > -
> > -.. _rgb-formats-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.
> > diff --git a/Documentation/media/uapi/v4l/pixfmt-rgb.rst b/Documentation/media/uapi/v4l/pixfmt-rgb.rst
> > index 48ab800248352..738bb14c0ee28 100644
> > --- a/Documentation/media/uapi/v4l/pixfmt-rgb.rst
> > +++ b/Documentation/media/uapi/v4l/pixfmt-rgb.rst
> > @@ -7,24 +7,1300 @@
> >  ..
> >  .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
> >  
> > -.. _pixfmt-rgb:
> > -
> > -***********
> > -RGB Formats
> > -***********
> > -
> > -
> > -.. toctree::
> > -    :maxdepth: 1
> > -
> > -    pixfmt-packed-rgb
> > -    pixfmt-srggb8
> > -    pixfmt-srggb10
> > -    pixfmt-srggb10p
> > -    pixfmt-srggb10alaw8
> > -    pixfmt-srggb10dpcm8
> > -    pixfmt-srggb10-ipu3
> > -    pixfmt-srggb12
> > -    pixfmt-srggb12p
> > -    pixfmt-srggb14p
> > -    pixfmt-srggb16
> > +.. _packed-rgb:
> > +
> > +******************
> > +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.
> > +
> > +.. 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}|
> > +
> > +
> > +.. _rgb-formats:
> > +
> > +.. flat-table:: 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-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`
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      - 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`
> > +      -
> > +      -
> > +      -
> > +      -
> > +
> > +      - 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`
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      - 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`
> > +      -
> > +      -
> > +      -
> > +      -
> > +
> > +      - 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`
> > +
> > +      -
> > +      - 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`
> > +      -
> > +
> > +      - 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`
> > +
> > +      -
> > +      - 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`
> > +      -
> > +
> > +      - 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)
> > +
> > +      -
> > +      - 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-BGR24:
> > +
> > +      - ``V4L2_PIX_FMT_BGR24``
> > +      - 'BGR3'
> > +
> > +      - 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`
> > +      -
> > +    * .. _V4L2-PIX-FMT-RGB24:
> > +
> > +      - ``V4L2_PIX_FMT_RGB24``
> > +      - 'RGB3'
> > +
> > +      - 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`
> > +      -
> > +    * .. _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`
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +    * .. _V4L2-PIX-FMT-ABGR32:
> > +
> > +      - ``V4L2_PIX_FMT_ABGR32``
> > +      - 'AR24'
> > +
> > +      - 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-XBGR32:
> > +
> > +      - ``V4L2_PIX_FMT_XBGR32``
> > +      - 'XR24'
> > +
> > +      - 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`
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +    * .. _V4L2-PIX-FMT-BGRA32:
> > +
> > +      - ``V4L2_PIX_FMT_BGRA32``
> > +      - 'RA24'
> > +
> > +      - a\ :sub:`7`
> > +      - a\ :sub:`6`
> > +      - a\ :sub:`5`
> > +      - a\ :sub:`4`
> > +      - a\ :sub:`3`
> > +      - a\ :sub:`2`
> > +      - a\ :sub:`1`
> > +      - a\ :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`
> > +
> > +      - 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`
> > +    * .. _V4L2-PIX-FMT-BGRX32:
> > +
> > +      - ``V4L2_PIX_FMT_BGRX32``
> > +      - 'RX24'
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +
> > +      - 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`
> > +    * .. _V4L2-PIX-FMT-RGBA32:
> > +
> > +      - ``V4L2_PIX_FMT_RGBA32``
> > +      - 'AB24'
> > +
> > +      - 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`
> > +
> > +      - 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-RGBX32:
> > +
> > +      - ``V4L2_PIX_FMT_RGBX32``
> > +      - 'XB24'
> > +
> > +      - 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`
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +    * .. _V4L2-PIX-FMT-ARGB32:
> > +
> > +      - ``V4L2_PIX_FMT_ARGB32``
> > +      - 'BA24'
> > +
> > +      - 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`
> > +    * .. _V4L2-PIX-FMT-XRGB32:
> > +
> > +      - ``V4L2_PIX_FMT_XRGB32``
> > +      - 'BX24'
> > +
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +      -
> > +
> > +      - 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
> > +
> > +.. note:: Bit 7 is the most significant bit.
> > +
> > +The usage and value of the alpha bits (a) in the ARGB and ABGR formats
> > +(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 outputs an alpha channel the alpha component
> > +will have a meaningful value. Otherwise, when the device doesn't output
> > +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.
> > +
> > +The XRGB and XBGR formats contain undefined bits (-). Applications,
> > +devices and drivers must ignore those bits, for both
> > +:ref:`capture` and :ref:`output` devices.
> > +
> > +**Byte Order.**
> > +Each cell is one byte.
> > +
> > +
> > +.. raw:: latex
> > +
> > +    \small
> > +
> > +.. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
> > +
> > +.. flat-table:: RGB byte order
> > +    :header-rows:  0
> > +    :stub-columns: 0
> > +    :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
> > +
> > +    * - start + 0:
> > +      - B\ :sub:`00`
> > +      - G\ :sub:`00`
> > +      - R\ :sub:`00`
> > +      - B\ :sub:`01`
> > +      - G\ :sub:`01`
> > +      - R\ :sub:`01`
> > +      - B\ :sub:`02`
> > +      - G\ :sub:`02`
> > +      - R\ :sub:`02`
> > +      - B\ :sub:`03`
> > +      - G\ :sub:`03`
> > +      - R\ :sub:`03`
> > +    * - start + 12:
> > +      - B\ :sub:`10`
> > +      - G\ :sub:`10`
> > +      - R\ :sub:`10`
> > +      - B\ :sub:`11`
> > +      - G\ :sub:`11`
> > +      - R\ :sub:`11`
> > +      - B\ :sub:`12`
> > +      - G\ :sub:`12`
> > +      - R\ :sub:`12`
> > +      - B\ :sub:`13`
> > +      - G\ :sub:`13`
> > +      - R\ :sub:`13`
> > +    * - start + 24:
> > +      - B\ :sub:`20`
> > +      - G\ :sub:`20`
> > +      - R\ :sub:`20`
> > +      - B\ :sub:`21`
> > +      - G\ :sub:`21`
> > +      - R\ :sub:`21`
> > +      - B\ :sub:`22`
> > +      - G\ :sub:`22`
> > +      - R\ :sub:`22`
> > +      - B\ :sub:`23`
> > +      - G\ :sub:`23`
> > +      - R\ :sub:`23`
> > +    * - start + 36:
> > +      - B\ :sub:`30`
> > +      - G\ :sub:`30`
> > +      - R\ :sub:`30`
> > +      - B\ :sub:`31`
> > +      - G\ :sub:`31`
> > +      - R\ :sub:`31`
> > +      - B\ :sub:`32`
> > +      - G\ :sub:`32`
> > +      - R\ :sub:`32`
> > +      - B\ :sub:`33`
> > +      - G\ :sub:`33`
> > +      - R\ :sub:`33`
> > +
> > +.. raw:: latex
> > +
> > +    \normalsize
> > +
> > +Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
> > +must not be used by new drivers. They are documented here for reference.
> > +The meaning of their alpha bits ``(a)`` are ill-defined and 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}|
> > +
> > +.. _rgb-formats-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.
> > diff --git a/Documentation/media/uapi/v4l/pixfmt.rst b/Documentation/media/uapi/v4l/pixfmt.rst
> > index 29be001796dbc..a7d4cd43a298f 100644
> > --- a/Documentation/media/uapi/v4l/pixfmt.rst
> > +++ b/Documentation/media/uapi/v4l/pixfmt.rst
> > @@ -31,6 +31,7 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_FBUF>`.)
> >      pixfmt-intro
> >      pixfmt-indexed
> >      pixfmt-rgb
> > +    pixfmt-bayer
> >      yuv-formats
> >      hsv-formats
> >      depth-formats
> > 
> 

-- 
Sakari Ailus
sakari.ailus@linux.intel.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-08-13 13:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-13 11:36 [PATCH 1/1] v4l: Documentation: Raw Bayer formats are not RGB formats Sakari Ailus
2019-08-13 12:31 ` Hans Verkuil
2019-08-13 13:22   ` Sakari Ailus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).