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``.
1518 :alt: bayer.pdf / bayer.svg
1521 **Figure 4.8 Bayer Patterns**
1523 The following table lists existing packed Bayer formats. The data
1524 organization is given as an example for the first pixel only.
1527 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
1528 .. is a very bad behaviored guy: if the table has more than 30 cols,
1529 .. it switches to long table, and there's no way to override it.
1536 \setlength{\tabcolsep}{2pt}
1538 .. tabularcolumns:: |p{4.0cm}|p{0.7cm}|p{0.3cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
1540 .. _v4l2-mbus-pixelcode-bayer:
1542 .. cssclass: longtable
1544 .. flat-table:: Bayer Formats
1551 - :cspan:`15` Data organization
1571 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
1573 - MEDIA_BUS_FMT_SBGGR8_1X8
1592 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
1594 - MEDIA_BUS_FMT_SGBRG8_1X8
1613 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
1615 - MEDIA_BUS_FMT_SGRBG8_1X8
1634 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
1636 - MEDIA_BUS_FMT_SRGGB8_1X8
1655 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
1657 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
1676 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
1678 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
1697 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
1699 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
1718 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
1720 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
1739 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
1741 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
1760 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
1762 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
1781 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
1783 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
1802 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
1804 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
1823 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
1825 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
1863 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
1865 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
1903 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
1905 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
1943 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
1945 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
1983 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
1985 - MEDIA_BUS_FMT_SBGGR10_1X10
2004 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2006 - MEDIA_BUS_FMT_SGBRG10_1X10
2025 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2027 - MEDIA_BUS_FMT_SGRBG10_1X10
2046 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2048 - MEDIA_BUS_FMT_SRGGB10_1X10
2067 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2069 - MEDIA_BUS_FMT_SBGGR12_1X12
2088 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2090 - MEDIA_BUS_FMT_SGBRG12_1X12
2109 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2111 - MEDIA_BUS_FMT_SGRBG12_1X12
2130 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2132 - MEDIA_BUS_FMT_SRGGB12_1X12
2151 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2153 - MEDIA_BUS_FMT_SBGGR14_1X14
2172 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2174 - MEDIA_BUS_FMT_SGBRG14_1X14
2193 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2195 - MEDIA_BUS_FMT_SGRBG14_1X14
2214 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2216 - MEDIA_BUS_FMT_SRGGB14_1X14
2235 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2237 - MEDIA_BUS_FMT_SBGGR16_1X16
2256 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2258 - MEDIA_BUS_FMT_SGBRG16_1X16
2277 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2279 - MEDIA_BUS_FMT_SGRBG16_1X16
2298 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2300 - MEDIA_BUS_FMT_SRGGB16_1X16
2328 Those data formats transfer pixel data as (possibly downsampled) Y, U
2329 and V components. Some formats include dummy bits in some of their
2330 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2331 formats. One cannot rely on the values of these dummy bits as those are
2334 The format code is made of the following information.
2336 - The Y, U and V components order code, as transferred on the bus.
2337 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2338 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2341 - The number of bits per pixel component. All components are
2342 transferred on the same number of bits. Common values are 8, 10 and
2345 - The number of bus samples per pixel. Pixels that are wider than the
2346 bus width must be transferred in multiple samples. Common values are
2347 1, 1.5 (encoded as 1_5) and 2.
2349 - The bus width. When the bus width is larger than the number of bits
2350 per pixel component, several components are packed in a single bus
2351 sample. The components are ordered as specified by the order code,
2352 with components on the left of the code transferred in the high order
2353 bits. Common values are 8 and 16.
2355 For instance, a format where pixels are encoded as 8-bit YUV values
2356 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2357 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2359 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2360 describes the organization of each pixel data in each sample. When a
2361 format pattern is split across multiple samples each of the samples in
2362 the pattern is described.
2364 The role of each bit transferred over the bus is identified by one of
2365 the following codes.
2367 - y\ :sub:`x` for luma component bit number x
2369 - u\ :sub:`x` for blue chroma component bit number x
2371 - v\ :sub:`x` for red chroma component bit number x
2373 - a\ :sub:`x` for alpha component bit number x
2375 - for non-available bits (for positions higher than the bus width)
2379 .. HACK: ideally, we would be using adjustbox here. However, this
2380 .. will never work for this table, as, even with tiny font, it is
2381 .. to big for a single page. So, we need to manually adjust the
2388 \setlength{\tabcolsep}{2pt}
2390 .. 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}|
2392 .. _v4l2-mbus-pixelcode-yuv8:
2394 .. flat-table:: YUV Formats
2397 :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
2402 - :cspan:`31` Data organization
2438 * .. _MEDIA-BUS-FMT-Y8-1X8:
2440 - MEDIA_BUS_FMT_Y8_1X8
2475 * .. _MEDIA-BUS-FMT-UV8-1X8:
2477 - MEDIA_BUS_FMT_UV8_1X8
2547 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2549 - MEDIA_BUS_FMT_UYVY8_1_5X8
2759 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
2761 - MEDIA_BUS_FMT_VYUY8_1_5X8
2971 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
2973 - MEDIA_BUS_FMT_YUYV8_1_5X8
3183 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3185 - MEDIA_BUS_FMT_YVYU8_1_5X8
3395 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3397 - MEDIA_BUS_FMT_UYVY8_2X8
3537 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3539 - MEDIA_BUS_FMT_VYUY8_2X8
3679 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
3681 - MEDIA_BUS_FMT_YUYV8_2X8
3821 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
3823 - MEDIA_BUS_FMT_YVYU8_2X8
3963 * .. _MEDIA-BUS-FMT-Y10-1X10:
3965 - MEDIA_BUS_FMT_Y10_1X10
4000 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
4002 - MEDIA_BUS_FMT_UYVY10_2X10
4142 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4144 - MEDIA_BUS_FMT_VYUY10_2X10
4284 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4286 - MEDIA_BUS_FMT_YUYV10_2X10
4426 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4428 - MEDIA_BUS_FMT_YVYU10_2X10
4568 * .. _MEDIA-BUS-FMT-Y12-1X12:
4570 - MEDIA_BUS_FMT_Y12_1X12
4605 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
4607 - MEDIA_BUS_FMT_UYVY12_2X12
4747 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
4749 - MEDIA_BUS_FMT_VYUY12_2X12
4889 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
4891 - MEDIA_BUS_FMT_YUYV12_2X12
5031 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5033 - MEDIA_BUS_FMT_YVYU12_2X12
5173 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5175 - MEDIA_BUS_FMT_UYVY8_1X16
5245 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5247 - MEDIA_BUS_FMT_VYUY8_1X16
5317 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5319 - MEDIA_BUS_FMT_YUYV8_1X16
5389 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5391 - MEDIA_BUS_FMT_YVYU8_1X16
5461 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5463 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
5603 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
5605 - MEDIA_BUS_FMT_UYVY10_1X20
5675 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
5677 - MEDIA_BUS_FMT_VYUY10_1X20
5747 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
5749 - MEDIA_BUS_FMT_YUYV10_1X20
5819 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
5821 - MEDIA_BUS_FMT_YVYU10_1X20
5891 * .. _MEDIA-BUS-FMT-VUY8-1X24:
5893 - MEDIA_BUS_FMT_VUY8_1X24
5928 * .. _MEDIA-BUS-FMT-YUV8-1X24:
5930 - MEDIA_BUS_FMT_YUV8_1X24
5965 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
5967 - MEDIA_BUS_FMT_UYVY12_1X24
6037 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6039 - MEDIA_BUS_FMT_VYUY12_1X24
6109 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6111 - MEDIA_BUS_FMT_YUYV12_1X24
6181 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6183 - MEDIA_BUS_FMT_YVYU12_1X24
6253 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6255 - MEDIA_BUS_FMT_YUV10_1X30
6290 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6292 - MEDIA_BUS_FMT_AYUV8_1X32
6336 Those formats transfer pixel data as RGB values in a
6337 cylindrical-coordinate system using Hue-Saturation-Value or
6338 Hue-Saturation-Lightness components. The format code is made of the
6339 following information.
6341 - The hue, saturation, value or lightness and optional alpha components
6342 order code, as encoded in a pixel sample. The only currently
6343 supported value is AHSV.
6345 - The number of bits per component, for each component. The values can
6346 be different for all components. The only currently supported value
6349 - The number of bus samples per pixel. Pixels that are wider than the
6350 bus width must be transferred in multiple samples. The only currently
6351 supported value is 1.
6355 - For formats where the total number of bits per pixel is smaller than
6356 the number of bus samples per pixel times the bus width, a padding
6357 value stating if the bytes are padded in their most high order bits
6358 (PADHI) or low order bits (PADLO).
6360 - For formats where the number of bus samples per pixel is larger than
6361 1, an endianness value stating if the pixel is transferred MSB first
6362 (BE) or LSB first (LE).
6364 The following table lists existing HSV/HSL formats.
6368 \newline\newline\begin{adjustbox}{width=\columnwidth}
6370 .. 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}|
6372 .. _v4l2-mbus-pixelcode-hsv:
6374 .. flat-table:: HSV/HSL formats
6377 :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
6382 - :cspan:`31` Data organization
6418 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
6420 - MEDIA_BUS_FMT_AHSV8888_1X32
6458 \end{adjustbox}\newline\newline
6461 JPEG Compressed Formats
6462 ^^^^^^^^^^^^^^^^^^^^^^^
6464 Those data formats consist of an ordered sequence of 8-bit bytes
6465 obtained from JPEG compression process. Additionally to the ``_JPEG``
6466 postfix the format code is made of the following information.
6468 - The number of bus samples per entropy encoded byte.
6472 For instance, for a JPEG baseline process and an 8-bit bus width the
6473 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
6475 The following table lists existing JPEG compressed formats.
6478 .. _v4l2-mbus-pixelcode-jpeg:
6480 .. tabularcolumns:: |p{5.6cm}|p{1.2cm}|p{10.7cm}|
6482 .. flat-table:: JPEG Formats
6489 * .. _MEDIA-BUS-FMT-JPEG-1X8:
6491 - MEDIA_BUS_FMT_JPEG_1X8
6493 - Besides of its usage for the parallel bus this format is
6494 recommended for transmission of JPEG data over MIPI CSI bus using
6495 the User Defined 8-bit Data types.
6499 .. _v4l2-mbus-vendor-spec-fmts:
6501 Vendor and Device Specific Formats
6502 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6504 This section lists complex data formats that are either vendor or device
6507 The following table lists the existing vendor and device specific
6511 .. _v4l2-mbus-pixelcode-vendor-specific:
6513 .. tabularcolumns:: |p{6.6cm}|p{1.2cm}|p{9.7cm}|
6515 .. flat-table:: Vendor and device specific formats
6522 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
6524 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
6526 - Interleaved raw UYVY and JPEG image format with embedded meta-data
6527 used by Samsung S3C73MX camera sensors.