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 buses (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 buses 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 correspondence 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-BGR888-3X8:
985 - MEDIA_BUS_FMT_BGR888_3X8
1090 * .. _MEDIA-BUS-FMT-GBR888-1X24:
1092 - MEDIA_BUS_FMT_GBR888_1X24
1127 * .. _MEDIA-BUS-FMT-RGB888-1X24:
1129 - MEDIA_BUS_FMT_RGB888_1X24
1164 * .. _MEDIA-BUS-FMT-RGB888-2X12-BE:
1166 - MEDIA_BUS_FMT_RGB888_2X12_BE
1236 * .. _MEDIA-BUS-FMT-RGB888-2X12-LE:
1238 - MEDIA_BUS_FMT_RGB888_2X12_LE
1308 * .. _MEDIA-BUS-FMT-ARGB888-1X32:
1310 - MEDIA_BUS_FMT_ARGB888_1X32
1345 * .. _MEDIA-BUS-FMT-RGB888-1X32-PADHI:
1347 - MEDIA_BUS_FMT_RGB888_1X32_PADHI
1382 * .. _MEDIA-BUS-FMT-RGB101010-1X30:
1384 - MEDIA_BUS_FMT_RGB101010_1X30
1425 The following table list existing packed 36bit 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}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
1429 .. _v4l2-mbus-pixelcode-rgb-36:
1435 \setlength{\tabcolsep}{2pt}
1437 .. flat-table:: 36bit 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 2 2 2 2
1445 - :cspan:`35` Data organization
1485 * .. _MEDIA-BUS-FMT-RGB121212-1X36:
1487 - MEDIA_BUS_FMT_RGB121212_1X36
1532 The following table list existing packed 48bit wide RGB formats.
1534 .. 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}|
1536 .. _v4l2-mbus-pixelcode-rgb-48:
1542 \setlength{\tabcolsep}{2pt}
1544 .. flat-table:: 48bit RGB formats
1547 :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
1552 - :cspan:`31` Data organization
1623 * .. _MEDIA-BUS-FMT-RGB161616-1X48:
1625 - MEDIA_BUS_FMT_RGB161616_1X48
1700 On LVDS buses, usually each sample is transferred serialized in seven
1701 time slots per pixel clock, on three (18-bit) or four (24-bit)
1702 differential data pairs at the same time. The remaining bits are used
1703 for control signals as defined by SPWG/PSWG/VESA or JEIDA standards. The
1704 24-bit RGB format serialized in seven time slots on four lanes using
1705 JEIDA defined bit mapping will be named
1706 ``MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA``, for example.
1712 .. _v4l2-mbus-pixelcode-rgb-lvds:
1714 .. flat-table:: LVDS RGB formats
1722 - :cspan:`3` Data organization
1731 * .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG:
1733 - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
1789 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
1791 - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
1847 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
1849 - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
1914 Those formats transfer pixel data as red, green and blue components. The
1915 format code is made of the following information.
1917 - The red, green and blue components order code, as encoded in a pixel
1918 sample. The possible values are shown in :ref:`bayer-patterns`.
1920 - The number of bits per pixel component. All components are
1921 transferred on the same number of bits. Common values are 8, 10 and
1924 - The compression (optional). If the pixel components are ALAW- or
1925 DPCM-compressed, a mention of the compression scheme and the number
1926 of bits per compressed pixel component.
1928 - The number of bus samples per pixel. Pixels that are wider than the
1929 bus width must be transferred in multiple samples. Common values are
1934 - For formats where the total number of bits per pixel is smaller than
1935 the number of bus samples per pixel times the bus width, a padding
1936 value stating if the bytes are padded in their most high order bits
1937 (PADHI) or low order bits (PADLO).
1939 - For formats where the number of bus samples per pixel is larger than
1940 1, an endianness value stating if the pixel is transferred MSB first
1941 (BE) or LSB first (LE).
1943 For instance, a format with uncompressed 10-bit Bayer components
1944 arranged in a red, green, green, blue pattern transferred as 2 8-bit
1945 samples per pixel with the least significant bits transferred first will
1946 be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
1951 .. kernel-figure:: bayer.svg
1955 **Figure 4.8 Bayer Patterns**
1957 The following table lists existing packed Bayer formats. The data
1958 organization is given as an example for the first pixel only.
1961 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
1962 .. is a very bad behaviored guy: if the table has more than 30 cols,
1963 .. it switches to long table, and there's no way to override it.
1970 \setlength{\tabcolsep}{2pt}
1972 .. 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}|
1974 .. _v4l2-mbus-pixelcode-bayer:
1976 .. cssclass: longtable
1978 .. flat-table:: Bayer Formats
1985 - :cspan:`15` Data organization
2005 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
2007 - MEDIA_BUS_FMT_SBGGR8_1X8
2026 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
2028 - MEDIA_BUS_FMT_SGBRG8_1X8
2047 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
2049 - MEDIA_BUS_FMT_SGRBG8_1X8
2068 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
2070 - MEDIA_BUS_FMT_SRGGB8_1X8
2089 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
2091 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
2110 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
2112 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
2131 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
2133 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
2152 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
2154 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
2173 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
2175 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
2194 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
2196 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
2215 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
2217 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
2236 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
2238 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
2257 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
2259 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
2297 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
2299 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
2337 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
2339 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
2377 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
2379 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
2417 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
2419 - MEDIA_BUS_FMT_SBGGR10_1X10
2438 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2440 - MEDIA_BUS_FMT_SGBRG10_1X10
2459 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2461 - MEDIA_BUS_FMT_SGRBG10_1X10
2480 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2482 - MEDIA_BUS_FMT_SRGGB10_1X10
2501 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2503 - MEDIA_BUS_FMT_SBGGR12_1X12
2522 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2524 - MEDIA_BUS_FMT_SGBRG12_1X12
2543 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2545 - MEDIA_BUS_FMT_SGRBG12_1X12
2564 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2566 - MEDIA_BUS_FMT_SRGGB12_1X12
2585 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2587 - MEDIA_BUS_FMT_SBGGR14_1X14
2606 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2608 - MEDIA_BUS_FMT_SGBRG14_1X14
2627 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2629 - MEDIA_BUS_FMT_SGRBG14_1X14
2648 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2650 - MEDIA_BUS_FMT_SRGGB14_1X14
2669 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2671 - MEDIA_BUS_FMT_SBGGR16_1X16
2690 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2692 - MEDIA_BUS_FMT_SGBRG16_1X16
2711 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2713 - MEDIA_BUS_FMT_SGRBG16_1X16
2732 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2734 - MEDIA_BUS_FMT_SRGGB16_1X16
2762 Those data formats transfer pixel data as (possibly downsampled) Y, U
2763 and V components. Some formats include dummy bits in some of their
2764 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2765 formats. One cannot rely on the values of these dummy bits as those are
2768 The format code is made of the following information.
2770 - The Y, U and V components order code, as transferred on the bus.
2771 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2772 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2775 - The number of bits per pixel component. All components are
2776 transferred on the same number of bits. Common values are 8, 10 and
2779 - The number of bus samples per pixel. Pixels that are wider than the
2780 bus width must be transferred in multiple samples. Common values are
2781 0.5 (encoded as 0_5; in this case two pixels are transferred per bus
2782 sample), 1, 1.5 (encoded as 1_5) and 2.
2784 - The bus width. When the bus width is larger than the number of bits
2785 per pixel component, several components are packed in a single bus
2786 sample. The components are ordered as specified by the order code,
2787 with components on the left of the code transferred in the high order
2788 bits. Common values are 8 and 16.
2790 For instance, a format where pixels are encoded as 8-bit YUV values
2791 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2792 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2794 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2795 describes the organization of each pixel data in each sample. When a
2796 format pattern is split across multiple samples each of the samples in
2797 the pattern is described.
2799 The role of each bit transferred over the bus is identified by one of
2800 the following codes.
2802 - y\ :sub:`x` for luma component bit number x
2804 - u\ :sub:`x` for blue chroma component bit number x
2806 - v\ :sub:`x` for red chroma component bit number x
2808 - a\ :sub:`x` for alpha component bit number x
2810 - for non-available bits (for positions higher than the bus width)
2814 .. HACK: ideally, we would be using adjustbox here. However, this
2815 .. will never work for this table, as, even with tiny font, it is
2816 .. to big for a single page. So, we need to manually adjust the
2823 \setlength{\tabcolsep}{2pt}
2825 .. 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}|
2827 .. _v4l2-mbus-pixelcode-yuv8:
2829 .. flat-table:: YUV Formats
2832 :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
2837 - :cspan:`31` Data organization
2873 * .. _MEDIA-BUS-FMT-Y8-1X8:
2875 - MEDIA_BUS_FMT_Y8_1X8
2910 * .. _MEDIA-BUS-FMT-UV8-1X8:
2912 - MEDIA_BUS_FMT_UV8_1X8
2982 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2984 - MEDIA_BUS_FMT_UYVY8_1_5X8
3194 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
3196 - MEDIA_BUS_FMT_VYUY8_1_5X8
3406 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
3408 - MEDIA_BUS_FMT_YUYV8_1_5X8
3618 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3620 - MEDIA_BUS_FMT_YVYU8_1_5X8
3830 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3832 - MEDIA_BUS_FMT_UYVY8_2X8
3972 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3974 - MEDIA_BUS_FMT_VYUY8_2X8
4114 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
4116 - MEDIA_BUS_FMT_YUYV8_2X8
4256 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
4258 - MEDIA_BUS_FMT_YVYU8_2X8
4398 * .. _MEDIA-BUS-FMT-Y10-1X10:
4400 - MEDIA_BUS_FMT_Y10_1X10
4435 * .. _MEDIA-BUS-FMT-Y10-2X8-PADHI_LE:
4437 - MEDIA_BUS_FMT_Y10_2X8_PADHI_LE
4507 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
4509 - MEDIA_BUS_FMT_UYVY10_2X10
4649 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4651 - MEDIA_BUS_FMT_VYUY10_2X10
4791 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4793 - MEDIA_BUS_FMT_YUYV10_2X10
4933 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4935 - MEDIA_BUS_FMT_YVYU10_2X10
5075 * .. _MEDIA-BUS-FMT-Y12-1X12:
5077 - MEDIA_BUS_FMT_Y12_1X12
5112 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
5114 - MEDIA_BUS_FMT_UYVY12_2X12
5254 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
5256 - MEDIA_BUS_FMT_VYUY12_2X12
5396 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
5398 - MEDIA_BUS_FMT_YUYV12_2X12
5538 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5540 - MEDIA_BUS_FMT_YVYU12_2X12
5680 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5682 - MEDIA_BUS_FMT_UYVY8_1X16
5752 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5754 - MEDIA_BUS_FMT_VYUY8_1X16
5824 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5826 - MEDIA_BUS_FMT_YUYV8_1X16
5896 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5898 - MEDIA_BUS_FMT_YVYU8_1X16
5968 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5970 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
6110 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
6112 - MEDIA_BUS_FMT_UYVY10_1X20
6182 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
6184 - MEDIA_BUS_FMT_VYUY10_1X20
6254 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
6256 - MEDIA_BUS_FMT_YUYV10_1X20
6326 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
6328 - MEDIA_BUS_FMT_YVYU10_1X20
6398 * .. _MEDIA-BUS-FMT-VUY8-1X24:
6400 - MEDIA_BUS_FMT_VUY8_1X24
6435 * .. _MEDIA-BUS-FMT-YUV8-1X24:
6437 - MEDIA_BUS_FMT_YUV8_1X24
6472 * .. _MEDIA-BUS-FMT-UYYVYY8-0-5X24:
6474 - MEDIA_BUS_FMT_UYYVYY8_0_5X24
6544 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
6546 - MEDIA_BUS_FMT_UYVY12_1X24
6616 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6618 - MEDIA_BUS_FMT_VYUY12_1X24
6688 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6690 - MEDIA_BUS_FMT_YUYV12_1X24
6760 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6762 - MEDIA_BUS_FMT_YVYU12_1X24
6832 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6834 - MEDIA_BUS_FMT_YUV10_1X30
6869 * .. _MEDIA-BUS-FMT-UYYVYY10-0-5X30:
6871 - MEDIA_BUS_FMT_UYYVYY10_0_5X30
6941 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6943 - MEDIA_BUS_FMT_AYUV8_1X32
6985 The following table list existing packed 36bit wide YUV formats.
6991 \setlength{\tabcolsep}{2pt}
6993 .. 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}|
6995 .. _v4l2-mbus-pixelcode-yuv8-36bit:
6997 .. flat-table:: 36bit YUV Formats
7000 :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
7005 - :cspan:`35` Data organization
7045 * .. _MEDIA-BUS-FMT-UYYVYY12-0-5X36:
7047 - MEDIA_BUS_FMT_UYYVYY12_0_5X36
7125 * .. _MEDIA-BUS-FMT-YUV12-1X36:
7127 - MEDIA_BUS_FMT_YUV12_1X36
7173 The following table list existing packed 48bit wide YUV formats.
7179 \setlength{\tabcolsep}{2pt}
7181 .. 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}|
7183 .. _v4l2-mbus-pixelcode-yuv8-48bit:
7185 .. flat-table:: 48bit YUV Formats
7188 :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
7193 - :cspan:`31` Data organization
7264 * .. _MEDIA-BUS-FMT-YUV16-1X48:
7266 - MEDIA_BUS_FMT_YUV16_1X48
7336 * .. _MEDIA-BUS-FMT-UYYVYY16-0-5X48:
7338 - MEDIA_BUS_FMT_UYYVYY16_0_5X48
7487 Those formats transfer pixel data as RGB values in a
7488 cylindrical-coordinate system using Hue-Saturation-Value or
7489 Hue-Saturation-Lightness components. The format code is made of the
7490 following information.
7492 - The hue, saturation, value or lightness and optional alpha components
7493 order code, as encoded in a pixel sample. The only currently
7494 supported value is AHSV.
7496 - The number of bits per component, for each component. The values can
7497 be different for all components. The only currently supported value
7500 - The number of bus samples per pixel. Pixels that are wider than the
7501 bus width must be transferred in multiple samples. The only currently
7502 supported value is 1.
7506 - For formats where the total number of bits per pixel is smaller than
7507 the number of bus samples per pixel times the bus width, a padding
7508 value stating if the bytes are padded in their most high order bits
7509 (PADHI) or low order bits (PADLO).
7511 - For formats where the number of bus samples per pixel is larger than
7512 1, an endianness value stating if the pixel is transferred MSB first
7513 (BE) or LSB first (LE).
7515 The following table lists existing HSV/HSL formats.
7522 \setlength{\tabcolsep}{2pt}
7524 .. tabularcolumns:: |p{3.9cm}|p{0.73cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
7526 .. _v4l2-mbus-pixelcode-hsv:
7528 .. flat-table:: HSV/HSL formats
7531 :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
7536 - :cspan:`31` Data organization
7572 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
7574 - MEDIA_BUS_FMT_AHSV8888_1X32
7615 JPEG Compressed Formats
7616 ^^^^^^^^^^^^^^^^^^^^^^^
7618 Those data formats consist of an ordered sequence of 8-bit bytes
7619 obtained from JPEG compression process. Additionally to the ``_JPEG``
7620 postfix the format code is made of the following information.
7622 - The number of bus samples per entropy encoded byte.
7626 For instance, for a JPEG baseline process and an 8-bit bus width the
7627 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
7629 The following table lists existing JPEG compressed formats.
7632 .. _v4l2-mbus-pixelcode-jpeg:
7634 .. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{10.1cm}|
7636 .. flat-table:: JPEG Formats
7643 * .. _MEDIA-BUS-FMT-JPEG-1X8:
7645 - MEDIA_BUS_FMT_JPEG_1X8
7647 - Besides of its usage for the parallel bus this format is
7648 recommended for transmission of JPEG data over MIPI CSI bus using
7649 the User Defined 8-bit Data types.
7653 .. _v4l2-mbus-vendor-spec-fmts:
7655 Vendor and Device Specific Formats
7656 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7658 This section lists complex data formats that are either vendor or device
7661 The following table lists the existing vendor and device specific
7665 .. _v4l2-mbus-pixelcode-vendor-specific:
7667 .. tabularcolumns:: |p{8.0cm}|p{1.4cm}|p{7.7cm}|
7669 .. flat-table:: Vendor and device specific formats
7676 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
7678 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
7680 - Interleaved raw UYVY and JPEG image format with embedded meta-data
7681 used by Samsung S3C73MX camera sensors.