1 .. Permission is granted to copy, distribute and/or modify this
2 .. document under the terms of the GNU Free Documentation License,
3 .. Version 1.1 or any later version published by the Free Software
4 .. Foundation, with no Invariant Sections, no Front-Cover Texts
5 .. and no Back-Cover Texts. A copy of the license is included at
6 .. Documentation/media/uapi/fdl-appendix.rst.
8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
15 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
17 .. c:type:: v4l2_mbus_framefmt
19 .. flat-table:: struct v4l2_mbus_framefmt
26 - Image width in pixels.
29 - Image height in pixels. If ``field`` is one of ``V4L2_FIELD_TOP``,
30 ``V4L2_FIELD_BOTTOM`` or ``V4L2_FIELD_ALTERNATE`` then height
31 refers to the number of lines in the field, otherwise it refers to
32 the number of lines in the frame (which is twice the field height
33 for interlaced formats).
36 - Format code, from enum
37 :ref:`v4l2_mbus_pixelcode <v4l2-mbus-pixelcode>`.
40 - Field order, from enum :c:type:`v4l2_field`. See
41 :ref:`field-order` for details.
44 - Image colorspace, from enum
45 :c:type:`v4l2_colorspace`. See
46 :ref:`colorspaces` for details.
49 - Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
50 This information supplements the ``colorspace`` and must be set by
51 the driver for capture streams and by the application for output
52 streams, see :ref:`colorspaces`.
55 - Quantization range, from enum :c:type:`v4l2_quantization`.
56 This information supplements the ``colorspace`` and must be set by
57 the driver for capture streams and by the application for output
58 streams, see :ref:`colorspaces`.
61 - Transfer function, from enum :c:type:`v4l2_xfer_func`.
62 This information supplements the ``colorspace`` and must be set by
63 the driver for capture streams and by the application for output
64 streams, see :ref:`colorspaces`.
67 - Reserved for future extensions. Applications and drivers must set
72 .. _v4l2-mbus-pixelcode:
77 The media bus pixel codes describe image formats as flowing over
78 physical busses (both between separate physical components and inside
79 SoC devices). This should not be confused with the V4L2 pixel formats
80 that describe, using four character codes, image formats as stored in
83 While there is a relationship between image formats on busses and image
84 formats in memory (a raw Bayer image won't be magically converted to
85 JPEG just by storing it to memory), there is no one-to-one
86 correspondance between them.
92 Those formats transfer pixel data as red, green and blue components. The
93 format code is made of the following information.
95 - The red, green and blue components order code, as encoded in a pixel
96 sample. Possible values are RGB and BGR.
98 - The number of bits per component, for each component. The values can
99 be different for all components. Common values are 555 and 565.
101 - The number of bus samples per pixel. Pixels that are wider than the
102 bus width must be transferred in multiple samples. Common values are
107 - For formats where the total number of bits per pixel is smaller than
108 the number of bus samples per pixel times the bus width, a padding
109 value stating if the bytes are padded in their most high order bits
110 (PADHI) or low order bits (PADLO). A "C" prefix is used for
111 component-wise padding in the most high order bits (CPADHI) or low
112 order bits (CPADLO) of each separate component.
114 - For formats where the number of bus samples per pixel is larger than
115 1, an endianness value stating if the pixel is transferred MSB first
116 (BE) or LSB first (LE).
118 For instance, a format where pixels are encoded as 5-bits red, 5-bits
119 green and 5-bit blue values padded on the high bit, transferred as 2
120 8-bit samples per pixel with the most significant bits (padding, red and
121 half of the green value) transferred first will be named
122 ``MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE``.
124 The following tables list existing packed RGB formats.
126 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
127 .. is a very bad behaviored guy: if the table has more than 30 cols,
128 .. it switches to long table, and there's no way to override it.
131 .. 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}|
133 .. _v4l2-mbus-pixelcode-rgb:
139 \setlength{\tabcolsep}{2pt}
141 .. flat-table:: RGB formats
144 :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
149 - :cspan:`31` Data organization
185 * .. _MEDIA-BUS-FMT-RGB444-1X12:
187 - MEDIA_BUS_FMT_RGB444_1X12
222 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-BE:
224 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE
294 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-LE:
296 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE
366 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-BE:
368 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE
438 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-LE:
440 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE
510 * .. _MEDIA-BUS-FMT-RGB565-1X16:
512 - MEDIA_BUS_FMT_RGB565_1X16
547 * .. _MEDIA-BUS-FMT-BGR565-2X8-BE:
549 - MEDIA_BUS_FMT_BGR565_2X8_BE
619 * .. _MEDIA-BUS-FMT-BGR565-2X8-LE:
621 - MEDIA_BUS_FMT_BGR565_2X8_LE
691 * .. _MEDIA-BUS-FMT-RGB565-2X8-BE:
693 - MEDIA_BUS_FMT_RGB565_2X8_BE
763 * .. _MEDIA-BUS-FMT-RGB565-2X8-LE:
765 - MEDIA_BUS_FMT_RGB565_2X8_LE
835 * .. _MEDIA-BUS-FMT-RGB666-1X18:
837 - MEDIA_BUS_FMT_RGB666_1X18
872 * .. _MEDIA-BUS-FMT-RBG888-1X24:
874 - MEDIA_BUS_FMT_RBG888_1X24
909 * .. _MEDIA-BUS-FMT-RGB666-1X24_CPADHI:
911 - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
946 * .. _MEDIA-BUS-FMT-BGR888-1X24:
948 - MEDIA_BUS_FMT_BGR888_1X24
983 * .. _MEDIA-BUS-FMT-GBR888-1X24:
985 - MEDIA_BUS_FMT_GBR888_1X24
1020 * .. _MEDIA-BUS-FMT-RGB888-1X24:
1022 - MEDIA_BUS_FMT_RGB888_1X24
1057 * .. _MEDIA-BUS-FMT-RGB888-2X12-BE:
1059 - MEDIA_BUS_FMT_RGB888_2X12_BE
1129 * .. _MEDIA-BUS-FMT-RGB888-2X12-LE:
1131 - MEDIA_BUS_FMT_RGB888_2X12_LE
1201 * .. _MEDIA-BUS-FMT-ARGB888-1X32:
1203 - MEDIA_BUS_FMT_ARGB888_1X32
1238 * .. _MEDIA-BUS-FMT-RGB888-1X32-PADHI:
1240 - MEDIA_BUS_FMT_RGB888_1X32_PADHI
1275 * .. _MEDIA-BUS-FMT-RGB101010-1X30:
1277 - MEDIA_BUS_FMT_RGB101010_1X30
1318 The following table list existing packed 36bit wide RGB formats.
1320 .. 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}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
1322 .. _v4l2-mbus-pixelcode-rgb-36:
1328 \setlength{\tabcolsep}{2pt}
1330 .. flat-table:: 36bit RGB formats
1333 :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 2 2 2 2
1338 - :cspan:`35` Data organization
1378 * .. _MEDIA-BUS-FMT-RGB121212-1X36:
1380 - MEDIA_BUS_FMT_RGB121212_1X36
1425 The following table list existing packed 48bit wide RGB formats.
1427 .. 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}|
1429 .. _v4l2-mbus-pixelcode-rgb-48:
1435 \setlength{\tabcolsep}{2pt}
1437 .. flat-table:: 48bit RGB formats
1440 :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
1445 - :cspan:`31` Data organization
1516 * .. _MEDIA-BUS-FMT-RGB161616-1X48:
1518 - MEDIA_BUS_FMT_RGB161616_1X48
1593 On LVDS buses, usually each sample is transferred serialized in seven
1594 time slots per pixel clock, on three (18-bit) or four (24-bit)
1595 differential data pairs at the same time. The remaining bits are used
1596 for control signals as defined by SPWG/PSWG/VESA or JEIDA standards. The
1597 24-bit RGB format serialized in seven time slots on four lanes using
1598 JEIDA defined bit mapping will be named
1599 ``MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA``, for example.
1605 .. _v4l2-mbus-pixelcode-rgb-lvds:
1607 .. flat-table:: LVDS RGB formats
1615 - :cspan:`3` Data organization
1624 * .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG:
1626 - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
1682 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
1684 - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
1740 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
1742 - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
1807 Those formats transfer pixel data as red, green and blue components. The
1808 format code is made of the following information.
1810 - The red, green and blue components order code, as encoded in a pixel
1811 sample. The possible values are shown in :ref:`bayer-patterns`.
1813 - The number of bits per pixel component. All components are
1814 transferred on the same number of bits. Common values are 8, 10 and
1817 - The compression (optional). If the pixel components are ALAW- or
1818 DPCM-compressed, a mention of the compression scheme and the number
1819 of bits per compressed pixel component.
1821 - The number of bus samples per pixel. Pixels that are wider than the
1822 bus width must be transferred in multiple samples. Common values are
1827 - For formats where the total number of bits per pixel is smaller than
1828 the number of bus samples per pixel times the bus width, a padding
1829 value stating if the bytes are padded in their most high order bits
1830 (PADHI) or low order bits (PADLO).
1832 - For formats where the number of bus samples per pixel is larger than
1833 1, an endianness value stating if the pixel is transferred MSB first
1834 (BE) or LSB first (LE).
1836 For instance, a format with uncompressed 10-bit Bayer components
1837 arranged in a red, green, green, blue pattern transferred as 2 8-bit
1838 samples per pixel with the least significant bits transferred first will
1839 be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
1844 .. kernel-figure:: bayer.svg
1848 **Figure 4.8 Bayer Patterns**
1850 The following table lists existing packed Bayer formats. The data
1851 organization is given as an example for the first pixel only.
1854 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
1855 .. is a very bad behaviored guy: if the table has more than 30 cols,
1856 .. it switches to long table, and there's no way to override it.
1863 \setlength{\tabcolsep}{2pt}
1865 .. 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}|
1867 .. _v4l2-mbus-pixelcode-bayer:
1869 .. cssclass: longtable
1871 .. flat-table:: Bayer Formats
1878 - :cspan:`15` Data organization
1898 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
1900 - MEDIA_BUS_FMT_SBGGR8_1X8
1919 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
1921 - MEDIA_BUS_FMT_SGBRG8_1X8
1940 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
1942 - MEDIA_BUS_FMT_SGRBG8_1X8
1961 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
1963 - MEDIA_BUS_FMT_SRGGB8_1X8
1982 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
1984 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
2003 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
2005 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
2024 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
2026 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
2045 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
2047 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
2066 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
2068 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
2087 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
2089 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
2108 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
2110 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
2129 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
2131 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
2150 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
2152 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
2190 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
2192 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
2230 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
2232 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
2270 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
2272 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
2310 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
2312 - MEDIA_BUS_FMT_SBGGR10_1X10
2331 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2333 - MEDIA_BUS_FMT_SGBRG10_1X10
2352 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2354 - MEDIA_BUS_FMT_SGRBG10_1X10
2373 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2375 - MEDIA_BUS_FMT_SRGGB10_1X10
2394 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2396 - MEDIA_BUS_FMT_SBGGR12_1X12
2415 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2417 - MEDIA_BUS_FMT_SGBRG12_1X12
2436 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2438 - MEDIA_BUS_FMT_SGRBG12_1X12
2457 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2459 - MEDIA_BUS_FMT_SRGGB12_1X12
2478 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2480 - MEDIA_BUS_FMT_SBGGR14_1X14
2499 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2501 - MEDIA_BUS_FMT_SGBRG14_1X14
2520 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2522 - MEDIA_BUS_FMT_SGRBG14_1X14
2541 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2543 - MEDIA_BUS_FMT_SRGGB14_1X14
2562 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2564 - MEDIA_BUS_FMT_SBGGR16_1X16
2583 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2585 - MEDIA_BUS_FMT_SGBRG16_1X16
2604 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2606 - MEDIA_BUS_FMT_SGRBG16_1X16
2625 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2627 - MEDIA_BUS_FMT_SRGGB16_1X16
2655 Those data formats transfer pixel data as (possibly downsampled) Y, U
2656 and V components. Some formats include dummy bits in some of their
2657 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2658 formats. One cannot rely on the values of these dummy bits as those are
2661 The format code is made of the following information.
2663 - The Y, U and V components order code, as transferred on the bus.
2664 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2665 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2668 - The number of bits per pixel component. All components are
2669 transferred on the same number of bits. Common values are 8, 10 and
2672 - The number of bus samples per pixel. Pixels that are wider than the
2673 bus width must be transferred in multiple samples. Common values are
2674 0.5 (encoded as 0_5; in this case two pixels are transferred per bus
2675 sample), 1, 1.5 (encoded as 1_5) and 2.
2677 - The bus width. When the bus width is larger than the number of bits
2678 per pixel component, several components are packed in a single bus
2679 sample. The components are ordered as specified by the order code,
2680 with components on the left of the code transferred in the high order
2681 bits. Common values are 8 and 16.
2683 For instance, a format where pixels are encoded as 8-bit YUV values
2684 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2685 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2687 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2688 describes the organization of each pixel data in each sample. When a
2689 format pattern is split across multiple samples each of the samples in
2690 the pattern is described.
2692 The role of each bit transferred over the bus is identified by one of
2693 the following codes.
2695 - y\ :sub:`x` for luma component bit number x
2697 - u\ :sub:`x` for blue chroma component bit number x
2699 - v\ :sub:`x` for red chroma component bit number x
2701 - a\ :sub:`x` for alpha component bit number x
2703 - for non-available bits (for positions higher than the bus width)
2707 .. HACK: ideally, we would be using adjustbox here. However, this
2708 .. will never work for this table, as, even with tiny font, it is
2709 .. to big for a single page. So, we need to manually adjust the
2716 \setlength{\tabcolsep}{2pt}
2718 .. 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}|
2720 .. _v4l2-mbus-pixelcode-yuv8:
2722 .. flat-table:: YUV Formats
2725 :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
2730 - :cspan:`31` Data organization
2766 * .. _MEDIA-BUS-FMT-Y8-1X8:
2768 - MEDIA_BUS_FMT_Y8_1X8
2803 * .. _MEDIA-BUS-FMT-UV8-1X8:
2805 - MEDIA_BUS_FMT_UV8_1X8
2875 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2877 - MEDIA_BUS_FMT_UYVY8_1_5X8
3087 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
3089 - MEDIA_BUS_FMT_VYUY8_1_5X8
3299 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
3301 - MEDIA_BUS_FMT_YUYV8_1_5X8
3511 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3513 - MEDIA_BUS_FMT_YVYU8_1_5X8
3723 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3725 - MEDIA_BUS_FMT_UYVY8_2X8
3865 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3867 - MEDIA_BUS_FMT_VYUY8_2X8
4007 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
4009 - MEDIA_BUS_FMT_YUYV8_2X8
4149 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
4151 - MEDIA_BUS_FMT_YVYU8_2X8
4291 * .. _MEDIA-BUS-FMT-Y10-1X10:
4293 - MEDIA_BUS_FMT_Y10_1X10
4328 * .. _MEDIA-BUS-FMT-Y10-2X8-PADHI_LE:
4330 - MEDIA_BUS_FMT_Y10_2X8_PADHI_LE
4400 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
4402 - MEDIA_BUS_FMT_UYVY10_2X10
4542 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4544 - MEDIA_BUS_FMT_VYUY10_2X10
4684 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4686 - MEDIA_BUS_FMT_YUYV10_2X10
4826 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4828 - MEDIA_BUS_FMT_YVYU10_2X10
4968 * .. _MEDIA-BUS-FMT-Y12-1X12:
4970 - MEDIA_BUS_FMT_Y12_1X12
5005 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
5007 - MEDIA_BUS_FMT_UYVY12_2X12
5147 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
5149 - MEDIA_BUS_FMT_VYUY12_2X12
5289 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
5291 - MEDIA_BUS_FMT_YUYV12_2X12
5431 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5433 - MEDIA_BUS_FMT_YVYU12_2X12
5573 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5575 - MEDIA_BUS_FMT_UYVY8_1X16
5645 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5647 - MEDIA_BUS_FMT_VYUY8_1X16
5717 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5719 - MEDIA_BUS_FMT_YUYV8_1X16
5789 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5791 - MEDIA_BUS_FMT_YVYU8_1X16
5861 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5863 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
6003 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
6005 - MEDIA_BUS_FMT_UYVY10_1X20
6075 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
6077 - MEDIA_BUS_FMT_VYUY10_1X20
6147 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
6149 - MEDIA_BUS_FMT_YUYV10_1X20
6219 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
6221 - MEDIA_BUS_FMT_YVYU10_1X20
6291 * .. _MEDIA-BUS-FMT-VUY8-1X24:
6293 - MEDIA_BUS_FMT_VUY8_1X24
6328 * .. _MEDIA-BUS-FMT-YUV8-1X24:
6330 - MEDIA_BUS_FMT_YUV8_1X24
6365 * .. _MEDIA-BUS-FMT-UYYVYY8-0-5X24:
6367 - MEDIA_BUS_FMT_UYYVYY8_0_5X24
6437 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
6439 - MEDIA_BUS_FMT_UYVY12_1X24
6509 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6511 - MEDIA_BUS_FMT_VYUY12_1X24
6581 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6583 - MEDIA_BUS_FMT_YUYV12_1X24
6653 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6655 - MEDIA_BUS_FMT_YVYU12_1X24
6725 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6727 - MEDIA_BUS_FMT_YUV10_1X30
6762 * .. _MEDIA-BUS-FMT-UYYVYY10-0-5X30:
6764 - MEDIA_BUS_FMT_UYYVYY10_0_5X30
6834 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6836 - MEDIA_BUS_FMT_AYUV8_1X32
6878 The following table list existing packed 36bit wide YUV formats.
6884 \setlength{\tabcolsep}{2pt}
6886 .. 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}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
6888 .. _v4l2-mbus-pixelcode-yuv8-36bit:
6890 .. flat-table:: 36bit YUV Formats
6893 :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 2 2 2 2
6898 - :cspan:`35` Data organization
6938 * .. _MEDIA-BUS-FMT-UYYVYY12-0-5X36:
6940 - MEDIA_BUS_FMT_UYYVYY12_0_5X36
7018 * .. _MEDIA-BUS-FMT-YUV12-1X36:
7020 - MEDIA_BUS_FMT_YUV12_1X36
7066 The following table list existing packed 48bit wide YUV formats.
7072 \setlength{\tabcolsep}{2pt}
7074 .. 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}|
7076 .. _v4l2-mbus-pixelcode-yuv8-48bit:
7078 .. flat-table:: 48bit YUV Formats
7081 :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
7086 - :cspan:`31` Data organization
7157 * .. _MEDIA-BUS-FMT-YUV16-1X48:
7159 - MEDIA_BUS_FMT_YUV16_1X48
7229 * .. _MEDIA-BUS-FMT-UYYVYY16-0-5X48:
7231 - MEDIA_BUS_FMT_UYYVYY16_0_5X48
7380 Those formats transfer pixel data as RGB values in a
7381 cylindrical-coordinate system using Hue-Saturation-Value or
7382 Hue-Saturation-Lightness components. The format code is made of the
7383 following information.
7385 - The hue, saturation, value or lightness and optional alpha components
7386 order code, as encoded in a pixel sample. The only currently
7387 supported value is AHSV.
7389 - The number of bits per component, for each component. The values can
7390 be different for all components. The only currently supported value
7393 - The number of bus samples per pixel. Pixels that are wider than the
7394 bus width must be transferred in multiple samples. The only currently
7395 supported value is 1.
7399 - For formats where the total number of bits per pixel is smaller than
7400 the number of bus samples per pixel times the bus width, a padding
7401 value stating if the bytes are padded in their most high order bits
7402 (PADHI) or low order bits (PADLO).
7404 - For formats where the number of bus samples per pixel is larger than
7405 1, an endianness value stating if the pixel is transferred MSB first
7406 (BE) or LSB first (LE).
7408 The following table lists existing HSV/HSL formats.
7415 \setlength{\tabcolsep}{2pt}
7417 .. tabularcolumns:: |p{3.0cm}|p{0.60cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
7419 .. _v4l2-mbus-pixelcode-hsv:
7421 .. flat-table:: HSV/HSL formats
7424 :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
7429 - :cspan:`31` Data organization
7465 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
7467 - MEDIA_BUS_FMT_AHSV8888_1X32
7508 JPEG Compressed Formats
7509 ^^^^^^^^^^^^^^^^^^^^^^^
7511 Those data formats consist of an ordered sequence of 8-bit bytes
7512 obtained from JPEG compression process. Additionally to the ``_JPEG``
7513 postfix the format code is made of the following information.
7515 - The number of bus samples per entropy encoded byte.
7519 For instance, for a JPEG baseline process and an 8-bit bus width the
7520 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
7522 The following table lists existing JPEG compressed formats.
7525 .. _v4l2-mbus-pixelcode-jpeg:
7527 .. tabularcolumns:: |p{5.4cm}|p{1.4cm}|p{10.7cm}|
7529 .. flat-table:: JPEG Formats
7536 * .. _MEDIA-BUS-FMT-JPEG-1X8:
7538 - MEDIA_BUS_FMT_JPEG_1X8
7540 - Besides of its usage for the parallel bus this format is
7541 recommended for transmission of JPEG data over MIPI CSI bus using
7542 the User Defined 8-bit Data types.
7546 .. _v4l2-mbus-vendor-spec-fmts:
7548 Vendor and Device Specific Formats
7549 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7551 This section lists complex data formats that are either vendor or device
7554 The following table lists the existing vendor and device specific
7558 .. _v4l2-mbus-pixelcode-vendor-specific:
7560 .. tabularcolumns:: |p{6.8cm}|p{1.4cm}|p{9.3cm}|
7562 .. flat-table:: Vendor and device specific formats
7569 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
7571 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
7573 - Interleaved raw UYVY and JPEG image format with embedded meta-data
7574 used by Samsung S3C73MX camera sensors.