1 .. -*- coding: utf-8; mode: rst -*-
8 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
10 .. c:type:: v4l2_mbus_framefmt
12 .. flat-table:: struct v4l2_mbus_framefmt
19 - Image width, in pixels.
22 - Image height, in pixels.
25 - Format code, from enum
26 :ref:`v4l2_mbus_pixelcode <v4l2-mbus-pixelcode>`.
29 - Field order, from enum :c:type:`v4l2_field`. See
30 :ref:`field-order` for details.
33 - Image colorspace, from enum
34 :c:type:`v4l2_colorspace`. See
35 :ref:`colorspaces` for details.
36 * - enum :c:type:`v4l2_ycbcr_encoding`
38 - This information supplements the ``colorspace`` and must be set by
39 the driver for capture streams and by the application for output
40 streams, see :ref:`colorspaces`.
41 * - enum :c:type:`v4l2_quantization`
43 - This information supplements the ``colorspace`` and must be set by
44 the driver for capture streams and by the application for output
45 streams, see :ref:`colorspaces`.
46 * - enum :c:type:`v4l2_xfer_func`
48 - This information supplements the ``colorspace`` and must be set by
49 the driver for capture streams and by the application for output
50 streams, see :ref:`colorspaces`.
53 - Reserved for future extensions. Applications and drivers must set
58 .. _v4l2-mbus-pixelcode:
63 The media bus pixel codes describe image formats as flowing over
64 physical busses (both between separate physical components and inside
65 SoC devices). This should not be confused with the V4L2 pixel formats
66 that describe, using four character codes, image formats as stored in
69 While there is a relationship between image formats on busses and image
70 formats in memory (a raw Bayer image won't be magically converted to
71 JPEG just by storing it to memory), there is no one-to-one
72 correspondance between them.
78 Those formats transfer pixel data as red, green and blue components. The
79 format code is made of the following information.
81 - The red, green and blue components order code, as encoded in a pixel
82 sample. Possible values are RGB and BGR.
84 - The number of bits per component, for each component. The values can
85 be different for all components. Common values are 555 and 565.
87 - The number of bus samples per pixel. Pixels that are wider than the
88 bus width must be transferred in multiple samples. Common values are
93 - For formats where the total number of bits per pixel is smaller than
94 the number of bus samples per pixel times the bus width, a padding
95 value stating if the bytes are padded in their most high order bits
96 (PADHI) or low order bits (PADLO). A "C" prefix is used for
97 component-wise padding in the most high order bits (CPADHI) or low
98 order bits (CPADLO) of each separate component.
100 - For formats where the number of bus samples per pixel is larger than
101 1, an endianness value stating if the pixel is transferred MSB first
102 (BE) or LSB first (LE).
104 For instance, a format where pixels are encoded as 5-bits red, 5-bits
105 green and 5-bit blue values padded on the high bit, transferred as 2
106 8-bit samples per pixel with the most significant bits (padding, red and
107 half of the green value) transferred first will be named
108 ``MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE``.
110 The following tables list existing packed RGB formats.
112 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
113 .. is a very bad behaviored guy: if the table has more than 30 cols,
114 .. it switches to long table, and there's no way to override it.
117 .. tabularcolumns:: |p{4.0cm}|p{0.7cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
119 .. _v4l2-mbus-pixelcode-rgb:
125 \setlength{\tabcolsep}{2pt}
127 .. flat-table:: RGB formats
130 :widths: 36 7 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
135 - :cspan:`31` Data organization
171 * .. _MEDIA-BUS-FMT-RGB444-1X12:
173 - MEDIA_BUS_FMT_RGB444_1X12
208 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-BE:
210 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE
280 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-LE:
282 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE
352 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-BE:
354 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE
424 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-LE:
426 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE
496 * .. _MEDIA-BUS-FMT-RGB565-1X16:
498 - MEDIA_BUS_FMT_RGB565_1X16
533 * .. _MEDIA-BUS-FMT-BGR565-2X8-BE:
535 - MEDIA_BUS_FMT_BGR565_2X8_BE
605 * .. _MEDIA-BUS-FMT-BGR565-2X8-LE:
607 - MEDIA_BUS_FMT_BGR565_2X8_LE
677 * .. _MEDIA-BUS-FMT-RGB565-2X8-BE:
679 - MEDIA_BUS_FMT_RGB565_2X8_BE
749 * .. _MEDIA-BUS-FMT-RGB565-2X8-LE:
751 - MEDIA_BUS_FMT_RGB565_2X8_LE
821 * .. _MEDIA-BUS-FMT-RGB666-1X18:
823 - MEDIA_BUS_FMT_RGB666_1X18
858 * .. _MEDIA-BUS-FMT-RBG888-1X24:
860 - MEDIA_BUS_FMT_RBG888_1X24
895 * .. _MEDIA-BUS-FMT-RGB666-1X24_CPADHI:
897 - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
932 * .. _MEDIA-BUS-FMT-BGR888-1X24:
934 - MEDIA_BUS_FMT_BGR888_1X24
969 * .. _MEDIA-BUS-FMT-GBR888-1X24:
971 - MEDIA_BUS_FMT_GBR888_1X24
1006 * .. _MEDIA-BUS-FMT-RGB888-1X24:
1008 - MEDIA_BUS_FMT_RGB888_1X24
1043 * .. _MEDIA-BUS-FMT-RGB888-2X12-BE:
1045 - MEDIA_BUS_FMT_RGB888_2X12_BE
1115 * .. _MEDIA-BUS-FMT-RGB888-2X12-LE:
1117 - MEDIA_BUS_FMT_RGB888_2X12_LE
1187 * .. _MEDIA-BUS-FMT-ARGB888-1X32:
1189 - MEDIA_BUS_FMT_ARGB888_1X32
1224 * .. _MEDIA-BUS-FMT-RGB888-1X32-PADHI:
1226 - MEDIA_BUS_FMT_RGB888_1X32_PADHI
1266 On LVDS buses, usually each sample is transferred serialized in seven
1267 time slots per pixel clock, on three (18-bit) or four (24-bit)
1268 differential data pairs at the same time. The remaining bits are used
1269 for control signals as defined by SPWG/PSWG/VESA or JEIDA standards. The
1270 24-bit RGB format serialized in seven time slots on four lanes using
1271 JEIDA defined bit mapping will be named
1272 ``MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA``, for example.
1276 \begin{adjustbox}{width=\columnwidth}
1278 .. _v4l2-mbus-pixelcode-rgb-lvds:
1280 .. flat-table:: LVDS RGB formats
1288 - :cspan:`3` Data organization
1297 * .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG:
1299 - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
1355 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
1357 - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
1413 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
1415 - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
1474 \end{adjustbox}\newline\newline
1480 Those formats transfer pixel data as red, green and blue components. The
1481 format code is made of the following information.
1483 - The red, green and blue components order code, as encoded in a pixel
1484 sample. The possible values are shown in :ref:`bayer-patterns`.
1486 - The number of bits per pixel component. All components are
1487 transferred on the same number of bits. Common values are 8, 10 and
1490 - The compression (optional). If the pixel components are ALAW- or
1491 DPCM-compressed, a mention of the compression scheme and the number
1492 of bits per compressed pixel component.
1494 - The number of bus samples per pixel. Pixels that are wider than the
1495 bus width must be transferred in multiple samples. Common values are
1500 - For formats where the total number of bits per pixel is smaller than
1501 the number of bus samples per pixel times the bus width, a padding
1502 value stating if the bytes are padded in their most high order bits
1503 (PADHI) or low order bits (PADLO).
1505 - For formats where the number of bus samples per pixel is larger than
1506 1, an endianness value stating if the pixel is transferred MSB first
1507 (BE) or LSB first (LE).
1509 For instance, a format with uncompressed 10-bit Bayer components
1510 arranged in a red, green, green, blue pattern transferred as 2 8-bit
1511 samples per pixel with the least significant bits transferred first will
1512 be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
1517 .. figure:: subdev-formats_files/bayer.*
1521 **Figure 4.8 Bayer Patterns**
1525 The following table lists existing packed Bayer formats. The data
1526 organization is given as an example for the first pixel only.
1531 \newline\newline\begin{adjustbox}{width=\columnwidth}
1533 .. tabularcolumns:: |p{7.6cm}|p{1.6cm}|p{0.7cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|
1535 .. _v4l2-mbus-pixelcode-bayer:
1537 .. cssclass: longtable
1539 .. flat-table:: Bayer Formats
1546 - :cspan:`15` Data organization
1566 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
1568 - MEDIA_BUS_FMT_SBGGR8_1X8
1587 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
1589 - MEDIA_BUS_FMT_SGBRG8_1X8
1608 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
1610 - MEDIA_BUS_FMT_SGRBG8_1X8
1629 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
1631 - MEDIA_BUS_FMT_SRGGB8_1X8
1650 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
1652 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
1671 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
1673 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
1692 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
1694 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
1713 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
1715 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
1734 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
1736 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
1755 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
1757 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
1776 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
1778 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
1797 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
1799 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
1818 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
1820 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
1858 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
1860 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
1898 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
1900 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
1938 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
1940 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
1978 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
1980 - MEDIA_BUS_FMT_SBGGR10_1X10
1999 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2001 - MEDIA_BUS_FMT_SGBRG10_1X10
2020 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2022 - MEDIA_BUS_FMT_SGRBG10_1X10
2041 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2043 - MEDIA_BUS_FMT_SRGGB10_1X10
2062 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2064 - MEDIA_BUS_FMT_SBGGR12_1X12
2083 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2085 - MEDIA_BUS_FMT_SGBRG12_1X12
2104 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2106 - MEDIA_BUS_FMT_SGRBG12_1X12
2125 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2127 - MEDIA_BUS_FMT_SRGGB12_1X12
2146 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2148 - MEDIA_BUS_FMT_SBGGR14_1X14
2167 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2169 - MEDIA_BUS_FMT_SGBRG14_1X14
2188 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2190 - MEDIA_BUS_FMT_SGRBG14_1X14
2209 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2211 - MEDIA_BUS_FMT_SRGGB14_1X14
2230 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2232 - MEDIA_BUS_FMT_SBGGR16_1X16
2251 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2253 - MEDIA_BUS_FMT_SGBRG16_1X16
2272 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2274 - MEDIA_BUS_FMT_SGRBG16_1X16
2293 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2295 - MEDIA_BUS_FMT_SRGGB16_1X16
2317 \end{adjustbox}\newline\newline
2323 Those data formats transfer pixel data as (possibly downsampled) Y, U
2324 and V components. Some formats include dummy bits in some of their
2325 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2326 formats. One cannot rely on the values of these dummy bits as those are
2329 The format code is made of the following information.
2331 - The Y, U and V components order code, as transferred on the bus.
2332 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2333 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2336 - The number of bits per pixel component. All components are
2337 transferred on the same number of bits. Common values are 8, 10 and
2340 - The number of bus samples per pixel. Pixels that are wider than the
2341 bus width must be transferred in multiple samples. Common values are
2342 1, 1.5 (encoded as 1_5) and 2.
2344 - The bus width. When the bus width is larger than the number of bits
2345 per pixel component, several components are packed in a single bus
2346 sample. The components are ordered as specified by the order code,
2347 with components on the left of the code transferred in the high order
2348 bits. Common values are 8 and 16.
2350 For instance, a format where pixels are encoded as 8-bit YUV values
2351 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2352 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2354 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2355 describes the organization of each pixel data in each sample. When a
2356 format pattern is split across multiple samples each of the samples in
2357 the pattern is described.
2359 The role of each bit transferred over the bus is identified by one of
2360 the following codes.
2362 - y\ :sub:`x` for luma component bit number x
2364 - u\ :sub:`x` for blue chroma component bit number x
2366 - v\ :sub:`x` for red chroma component bit number x
2368 - a\ :sub:`x` for alpha component bit number x
2370 - for non-available bits (for positions higher than the bus width)
2374 .. HACK: ideally, we would be using adjustbox here. However, this
2375 .. will never work for this table, as, even with tiny font, it is
2376 .. to big for a single page. So, we need to manually adjust the
2383 \setlength{\tabcolsep}{2pt}
2385 .. tabularcolumns:: |p{4.0cm}|p{0.7cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
2387 .. _v4l2-mbus-pixelcode-yuv8:
2389 .. flat-table:: YUV Formats
2392 :widths: 36 7 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2397 - :cspan:`31` Data organization
2433 * .. _MEDIA-BUS-FMT-Y8-1X8:
2435 - MEDIA_BUS_FMT_Y8_1X8
2470 * .. _MEDIA-BUS-FMT-UV8-1X8:
2472 - MEDIA_BUS_FMT_UV8_1X8
2542 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2544 - MEDIA_BUS_FMT_UYVY8_1_5X8
2754 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
2756 - MEDIA_BUS_FMT_VYUY8_1_5X8
2966 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
2968 - MEDIA_BUS_FMT_YUYV8_1_5X8
3178 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3180 - MEDIA_BUS_FMT_YVYU8_1_5X8
3390 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3392 - MEDIA_BUS_FMT_UYVY8_2X8
3532 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3534 - MEDIA_BUS_FMT_VYUY8_2X8
3674 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
3676 - MEDIA_BUS_FMT_YUYV8_2X8
3816 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
3818 - MEDIA_BUS_FMT_YVYU8_2X8
3958 * .. _MEDIA-BUS-FMT-Y10-1X10:
3960 - MEDIA_BUS_FMT_Y10_1X10
3995 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
3997 - MEDIA_BUS_FMT_UYVY10_2X10
4137 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4139 - MEDIA_BUS_FMT_VYUY10_2X10
4279 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4281 - MEDIA_BUS_FMT_YUYV10_2X10
4421 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4423 - MEDIA_BUS_FMT_YVYU10_2X10
4563 * .. _MEDIA-BUS-FMT-Y12-1X12:
4565 - MEDIA_BUS_FMT_Y12_1X12
4600 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
4602 - MEDIA_BUS_FMT_UYVY12_2X12
4742 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
4744 - MEDIA_BUS_FMT_VYUY12_2X12
4884 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
4886 - MEDIA_BUS_FMT_YUYV12_2X12
5026 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5028 - MEDIA_BUS_FMT_YVYU12_2X12
5168 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5170 - MEDIA_BUS_FMT_UYVY8_1X16
5240 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5242 - MEDIA_BUS_FMT_VYUY8_1X16
5312 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5314 - MEDIA_BUS_FMT_YUYV8_1X16
5384 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5386 - MEDIA_BUS_FMT_YVYU8_1X16
5456 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5458 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
5598 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
5600 - MEDIA_BUS_FMT_UYVY10_1X20
5670 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
5672 - MEDIA_BUS_FMT_VYUY10_1X20
5742 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
5744 - MEDIA_BUS_FMT_YUYV10_1X20
5814 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
5816 - MEDIA_BUS_FMT_YVYU10_1X20
5886 * .. _MEDIA-BUS-FMT-VUY8-1X24:
5888 - MEDIA_BUS_FMT_VUY8_1X24
5923 * .. _MEDIA-BUS-FMT-YUV8-1X24:
5925 - MEDIA_BUS_FMT_YUV8_1X24
5960 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
5962 - MEDIA_BUS_FMT_UYVY12_1X24
6032 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6034 - MEDIA_BUS_FMT_VYUY12_1X24
6104 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6106 - MEDIA_BUS_FMT_YUYV12_1X24
6176 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6178 - MEDIA_BUS_FMT_YVYU12_1X24
6248 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6250 - MEDIA_BUS_FMT_YUV10_1X30
6285 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6287 - MEDIA_BUS_FMT_AYUV8_1X32
6331 Those formats transfer pixel data as RGB values in a
6332 cylindrical-coordinate system using Hue-Saturation-Value or
6333 Hue-Saturation-Lightness components. The format code is made of the
6334 following information.
6336 - The hue, saturation, value or lightness and optional alpha components
6337 order code, as encoded in a pixel sample. The only currently
6338 supported value is AHSV.
6340 - The number of bits per component, for each component. The values can
6341 be different for all components. The only currently supported value
6344 - The number of bus samples per pixel. Pixels that are wider than the
6345 bus width must be transferred in multiple samples. The only currently
6346 supported value is 1.
6350 - For formats where the total number of bits per pixel is smaller than
6351 the number of bus samples per pixel times the bus width, a padding
6352 value stating if the bytes are padded in their most high order bits
6353 (PADHI) or low order bits (PADLO).
6355 - For formats where the number of bus samples per pixel is larger than
6356 1, an endianness value stating if the pixel is transferred MSB first
6357 (BE) or LSB first (LE).
6359 The following table lists existing HSV/HSL formats.
6363 \newline\newline\begin{adjustbox}{width=\columnwidth}
6365 .. tabularcolumns:: |p{6.2cm}|p{1.6cm}|p{0.7cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|
6367 .. _v4l2-mbus-pixelcode-hsv:
6369 .. flat-table:: HSV/HSL formats
6372 :widths: 28 7 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
6377 - :cspan:`31` Data organization
6413 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
6415 - MEDIA_BUS_FMT_AHSV8888_1X32
6453 \end{adjustbox}\newline\newline
6456 JPEG Compressed Formats
6457 ^^^^^^^^^^^^^^^^^^^^^^^
6459 Those data formats consist of an ordered sequence of 8-bit bytes
6460 obtained from JPEG compression process. Additionally to the ``_JPEG``
6461 postfix the format code is made of the following information.
6463 - The number of bus samples per entropy encoded byte.
6467 For instance, for a JPEG baseline process and an 8-bit bus width the
6468 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
6470 The following table lists existing JPEG compressed formats.
6473 .. _v4l2-mbus-pixelcode-jpeg:
6475 .. tabularcolumns:: |p{5.6cm}|p{1.2cm}|p{10.7cm}|
6477 .. flat-table:: JPEG Formats
6484 * .. _MEDIA-BUS-FMT-JPEG-1X8:
6486 - MEDIA_BUS_FMT_JPEG_1X8
6488 - Besides of its usage for the parallel bus this format is
6489 recommended for transmission of JPEG data over MIPI CSI bus using
6490 the User Defined 8-bit Data types.
6494 .. _v4l2-mbus-vendor-spec-fmts:
6496 Vendor and Device Specific Formats
6497 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6499 This section lists complex data formats that are either vendor or device
6502 The following table lists the existing vendor and device specific
6506 .. _v4l2-mbus-pixelcode-vendor-specific:
6508 .. tabularcolumns:: |p{6.6cm}|p{1.2cm}|p{9.7cm}|
6510 .. flat-table:: Vendor and device specific formats
6517 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
6519 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
6521 - Interleaved raw UYVY and JPEG image format with embedded meta-data
6522 used by Samsung S3C73MX camera sensors.