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. If ``field`` is one of ``V4L2_FIELD_TOP``,
23 ``V4L2_FIELD_BOTTOM`` or ``V4L2_FIELD_ALTERNATE`` then height
24 refers to the number of lines in the field, otherwise it refers to
25 the number of lines in the frame (which is twice the field height
26 for interlaced formats).
29 - Format code, from enum
30 :ref:`v4l2_mbus_pixelcode <v4l2-mbus-pixelcode>`.
33 - Field order, from enum :c:type:`v4l2_field`. See
34 :ref:`field-order` for details.
37 - Image colorspace, from enum
38 :c:type:`v4l2_colorspace`. See
39 :ref:`colorspaces` for details.
40 * - enum :c:type:`v4l2_ycbcr_encoding`
42 - This information supplements the ``colorspace`` and must be set by
43 the driver for capture streams and by the application for output
44 streams, see :ref:`colorspaces`.
45 * - enum :c:type:`v4l2_quantization`
47 - This information supplements the ``colorspace`` and must be set by
48 the driver for capture streams and by the application for output
49 streams, see :ref:`colorspaces`.
50 * - enum :c:type:`v4l2_xfer_func`
52 - This information supplements the ``colorspace`` and must be set by
53 the driver for capture streams and by the application for output
54 streams, see :ref:`colorspaces`.
57 - Reserved for future extensions. Applications and drivers must set
62 .. _v4l2-mbus-pixelcode:
67 The media bus pixel codes describe image formats as flowing over
68 physical busses (both between separate physical components and inside
69 SoC devices). This should not be confused with the V4L2 pixel formats
70 that describe, using four character codes, image formats as stored in
73 While there is a relationship between image formats on busses and image
74 formats in memory (a raw Bayer image won't be magically converted to
75 JPEG just by storing it to memory), there is no one-to-one
76 correspondance between them.
82 Those formats transfer pixel data as red, green and blue components. The
83 format code is made of the following information.
85 - The red, green and blue components order code, as encoded in a pixel
86 sample. Possible values are RGB and BGR.
88 - The number of bits per component, for each component. The values can
89 be different for all components. Common values are 555 and 565.
91 - The number of bus samples per pixel. Pixels that are wider than the
92 bus width must be transferred in multiple samples. Common values are
97 - For formats where the total number of bits per pixel is smaller than
98 the number of bus samples per pixel times the bus width, a padding
99 value stating if the bytes are padded in their most high order bits
100 (PADHI) or low order bits (PADLO). A "C" prefix is used for
101 component-wise padding in the most high order bits (CPADHI) or low
102 order bits (CPADLO) of each separate component.
104 - For formats where the number of bus samples per pixel is larger than
105 1, an endianness value stating if the pixel is transferred MSB first
106 (BE) or LSB first (LE).
108 For instance, a format where pixels are encoded as 5-bits red, 5-bits
109 green and 5-bit blue values padded on the high bit, transferred as 2
110 8-bit samples per pixel with the most significant bits (padding, red and
111 half of the green value) transferred first will be named
112 ``MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE``.
114 The following tables list existing packed RGB formats.
116 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
117 .. is a very bad behaviored guy: if the table has more than 30 cols,
118 .. it switches to long table, and there's no way to override it.
121 .. 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}|
123 .. _v4l2-mbus-pixelcode-rgb:
129 \setlength{\tabcolsep}{2pt}
131 .. flat-table:: RGB formats
134 :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
139 - :cspan:`31` Data organization
175 * .. _MEDIA-BUS-FMT-RGB444-1X12:
177 - MEDIA_BUS_FMT_RGB444_1X12
212 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-BE:
214 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE
284 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-LE:
286 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE
356 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-BE:
358 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE
428 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-LE:
430 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE
500 * .. _MEDIA-BUS-FMT-RGB565-1X16:
502 - MEDIA_BUS_FMT_RGB565_1X16
537 * .. _MEDIA-BUS-FMT-BGR565-2X8-BE:
539 - MEDIA_BUS_FMT_BGR565_2X8_BE
609 * .. _MEDIA-BUS-FMT-BGR565-2X8-LE:
611 - MEDIA_BUS_FMT_BGR565_2X8_LE
681 * .. _MEDIA-BUS-FMT-RGB565-2X8-BE:
683 - MEDIA_BUS_FMT_RGB565_2X8_BE
753 * .. _MEDIA-BUS-FMT-RGB565-2X8-LE:
755 - MEDIA_BUS_FMT_RGB565_2X8_LE
825 * .. _MEDIA-BUS-FMT-RGB666-1X18:
827 - MEDIA_BUS_FMT_RGB666_1X18
862 * .. _MEDIA-BUS-FMT-RBG888-1X24:
864 - MEDIA_BUS_FMT_RBG888_1X24
899 * .. _MEDIA-BUS-FMT-RGB666-1X24_CPADHI:
901 - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
936 * .. _MEDIA-BUS-FMT-BGR888-1X24:
938 - MEDIA_BUS_FMT_BGR888_1X24
973 * .. _MEDIA-BUS-FMT-GBR888-1X24:
975 - MEDIA_BUS_FMT_GBR888_1X24
1010 * .. _MEDIA-BUS-FMT-RGB888-1X24:
1012 - MEDIA_BUS_FMT_RGB888_1X24
1047 * .. _MEDIA-BUS-FMT-RGB888-2X12-BE:
1049 - MEDIA_BUS_FMT_RGB888_2X12_BE
1119 * .. _MEDIA-BUS-FMT-RGB888-2X12-LE:
1121 - MEDIA_BUS_FMT_RGB888_2X12_LE
1191 * .. _MEDIA-BUS-FMT-ARGB888-1X32:
1193 - MEDIA_BUS_FMT_ARGB888_1X32
1228 * .. _MEDIA-BUS-FMT-RGB888-1X32-PADHI:
1230 - MEDIA_BUS_FMT_RGB888_1X32_PADHI
1265 * .. _MEDIA-BUS-FMT-RGB101010-1X30:
1267 - MEDIA_BUS_FMT_RGB101010_1X30
1308 The following table list existing packed 36bit wide RGB formats.
1310 .. 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}|
1312 .. _v4l2-mbus-pixelcode-rgb-36:
1318 \setlength{\tabcolsep}{2pt}
1320 .. flat-table:: 36bit RGB formats
1323 :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
1328 - :cspan:`35` Data organization
1368 * .. _MEDIA-BUS-FMT-RGB121212-1X36:
1370 - MEDIA_BUS_FMT_RGB121212_1X36
1415 The following table list existing packed 48bit wide RGB formats.
1417 .. 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}|
1419 .. _v4l2-mbus-pixelcode-rgb-48:
1425 \setlength{\tabcolsep}{2pt}
1427 .. flat-table:: 48bit RGB formats
1430 :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
1435 - :cspan:`31` Data organization
1506 * .. _MEDIA-BUS-FMT-RGB161616-1X48:
1508 - MEDIA_BUS_FMT_RGB161616_1X48
1583 On LVDS buses, usually each sample is transferred serialized in seven
1584 time slots per pixel clock, on three (18-bit) or four (24-bit)
1585 differential data pairs at the same time. The remaining bits are used
1586 for control signals as defined by SPWG/PSWG/VESA or JEIDA standards. The
1587 24-bit RGB format serialized in seven time slots on four lanes using
1588 JEIDA defined bit mapping will be named
1589 ``MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA``, for example.
1595 .. _v4l2-mbus-pixelcode-rgb-lvds:
1597 .. flat-table:: LVDS RGB formats
1605 - :cspan:`3` Data organization
1614 * .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG:
1616 - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
1672 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
1674 - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
1730 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
1732 - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
1797 Those formats transfer pixel data as red, green and blue components. The
1798 format code is made of the following information.
1800 - The red, green and blue components order code, as encoded in a pixel
1801 sample. The possible values are shown in :ref:`bayer-patterns`.
1803 - The number of bits per pixel component. All components are
1804 transferred on the same number of bits. Common values are 8, 10 and
1807 - The compression (optional). If the pixel components are ALAW- or
1808 DPCM-compressed, a mention of the compression scheme and the number
1809 of bits per compressed pixel component.
1811 - The number of bus samples per pixel. Pixels that are wider than the
1812 bus width must be transferred in multiple samples. Common values are
1817 - For formats where the total number of bits per pixel is smaller than
1818 the number of bus samples per pixel times the bus width, a padding
1819 value stating if the bytes are padded in their most high order bits
1820 (PADHI) or low order bits (PADLO).
1822 - For formats where the number of bus samples per pixel is larger than
1823 1, an endianness value stating if the pixel is transferred MSB first
1824 (BE) or LSB first (LE).
1826 For instance, a format with uncompressed 10-bit Bayer components
1827 arranged in a red, green, green, blue pattern transferred as 2 8-bit
1828 samples per pixel with the least significant bits transferred first will
1829 be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
1834 .. kernel-figure:: bayer.svg
1838 **Figure 4.8 Bayer Patterns**
1840 The following table lists existing packed Bayer formats. The data
1841 organization is given as an example for the first pixel only.
1844 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
1845 .. is a very bad behaviored guy: if the table has more than 30 cols,
1846 .. it switches to long table, and there's no way to override it.
1853 \setlength{\tabcolsep}{2pt}
1855 .. 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}|
1857 .. _v4l2-mbus-pixelcode-bayer:
1859 .. cssclass: longtable
1861 .. flat-table:: Bayer Formats
1868 - :cspan:`15` Data organization
1888 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
1890 - MEDIA_BUS_FMT_SBGGR8_1X8
1909 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
1911 - MEDIA_BUS_FMT_SGBRG8_1X8
1930 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
1932 - MEDIA_BUS_FMT_SGRBG8_1X8
1951 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
1953 - MEDIA_BUS_FMT_SRGGB8_1X8
1972 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
1974 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
1993 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
1995 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
2014 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
2016 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
2035 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
2037 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
2056 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
2058 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
2077 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
2079 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
2098 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
2100 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
2119 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
2121 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
2140 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
2142 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
2180 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
2182 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
2220 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
2222 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
2260 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
2262 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
2300 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
2302 - MEDIA_BUS_FMT_SBGGR10_1X10
2321 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2323 - MEDIA_BUS_FMT_SGBRG10_1X10
2342 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2344 - MEDIA_BUS_FMT_SGRBG10_1X10
2363 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2365 - MEDIA_BUS_FMT_SRGGB10_1X10
2384 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2386 - MEDIA_BUS_FMT_SBGGR12_1X12
2405 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2407 - MEDIA_BUS_FMT_SGBRG12_1X12
2426 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2428 - MEDIA_BUS_FMT_SGRBG12_1X12
2447 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2449 - MEDIA_BUS_FMT_SRGGB12_1X12
2468 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2470 - MEDIA_BUS_FMT_SBGGR14_1X14
2489 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2491 - MEDIA_BUS_FMT_SGBRG14_1X14
2510 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2512 - MEDIA_BUS_FMT_SGRBG14_1X14
2531 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2533 - MEDIA_BUS_FMT_SRGGB14_1X14
2552 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2554 - MEDIA_BUS_FMT_SBGGR16_1X16
2573 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2575 - MEDIA_BUS_FMT_SGBRG16_1X16
2594 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2596 - MEDIA_BUS_FMT_SGRBG16_1X16
2615 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2617 - MEDIA_BUS_FMT_SRGGB16_1X16
2645 Those data formats transfer pixel data as (possibly downsampled) Y, U
2646 and V components. Some formats include dummy bits in some of their
2647 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2648 formats. One cannot rely on the values of these dummy bits as those are
2651 The format code is made of the following information.
2653 - The Y, U and V components order code, as transferred on the bus.
2654 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2655 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2658 - The number of bits per pixel component. All components are
2659 transferred on the same number of bits. Common values are 8, 10 and
2662 - The number of bus samples per pixel. Pixels that are wider than the
2663 bus width must be transferred in multiple samples. Common values are
2664 0.5 (encoded as 0_5; in this case two pixels are transferred per bus
2665 sample), 1, 1.5 (encoded as 1_5) and 2.
2667 - The bus width. When the bus width is larger than the number of bits
2668 per pixel component, several components are packed in a single bus
2669 sample. The components are ordered as specified by the order code,
2670 with components on the left of the code transferred in the high order
2671 bits. Common values are 8 and 16.
2673 For instance, a format where pixels are encoded as 8-bit YUV values
2674 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2675 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2677 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2678 describes the organization of each pixel data in each sample. When a
2679 format pattern is split across multiple samples each of the samples in
2680 the pattern is described.
2682 The role of each bit transferred over the bus is identified by one of
2683 the following codes.
2685 - y\ :sub:`x` for luma component bit number x
2687 - u\ :sub:`x` for blue chroma component bit number x
2689 - v\ :sub:`x` for red chroma component bit number x
2691 - a\ :sub:`x` for alpha component bit number x
2693 - for non-available bits (for positions higher than the bus width)
2697 .. HACK: ideally, we would be using adjustbox here. However, this
2698 .. will never work for this table, as, even with tiny font, it is
2699 .. to big for a single page. So, we need to manually adjust the
2706 \setlength{\tabcolsep}{2pt}
2708 .. 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}|
2710 .. _v4l2-mbus-pixelcode-yuv8:
2712 .. flat-table:: YUV Formats
2715 :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
2720 - :cspan:`31` Data organization
2756 * .. _MEDIA-BUS-FMT-Y8-1X8:
2758 - MEDIA_BUS_FMT_Y8_1X8
2793 * .. _MEDIA-BUS-FMT-UV8-1X8:
2795 - MEDIA_BUS_FMT_UV8_1X8
2865 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2867 - MEDIA_BUS_FMT_UYVY8_1_5X8
3077 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
3079 - MEDIA_BUS_FMT_VYUY8_1_5X8
3289 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
3291 - MEDIA_BUS_FMT_YUYV8_1_5X8
3501 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3503 - MEDIA_BUS_FMT_YVYU8_1_5X8
3713 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3715 - MEDIA_BUS_FMT_UYVY8_2X8
3855 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3857 - MEDIA_BUS_FMT_VYUY8_2X8
3997 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
3999 - MEDIA_BUS_FMT_YUYV8_2X8
4139 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
4141 - MEDIA_BUS_FMT_YVYU8_2X8
4281 * .. _MEDIA-BUS-FMT-Y10-1X10:
4283 - MEDIA_BUS_FMT_Y10_1X10
4318 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
4320 - MEDIA_BUS_FMT_UYVY10_2X10
4460 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4462 - MEDIA_BUS_FMT_VYUY10_2X10
4602 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4604 - MEDIA_BUS_FMT_YUYV10_2X10
4744 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4746 - MEDIA_BUS_FMT_YVYU10_2X10
4886 * .. _MEDIA-BUS-FMT-Y12-1X12:
4888 - MEDIA_BUS_FMT_Y12_1X12
4923 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
4925 - MEDIA_BUS_FMT_UYVY12_2X12
5065 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
5067 - MEDIA_BUS_FMT_VYUY12_2X12
5207 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
5209 - MEDIA_BUS_FMT_YUYV12_2X12
5349 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5351 - MEDIA_BUS_FMT_YVYU12_2X12
5491 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5493 - MEDIA_BUS_FMT_UYVY8_1X16
5563 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5565 - MEDIA_BUS_FMT_VYUY8_1X16
5635 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5637 - MEDIA_BUS_FMT_YUYV8_1X16
5707 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5709 - MEDIA_BUS_FMT_YVYU8_1X16
5779 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5781 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
5921 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
5923 - MEDIA_BUS_FMT_UYVY10_1X20
5993 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
5995 - MEDIA_BUS_FMT_VYUY10_1X20
6065 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
6067 - MEDIA_BUS_FMT_YUYV10_1X20
6137 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
6139 - MEDIA_BUS_FMT_YVYU10_1X20
6209 * .. _MEDIA-BUS-FMT-VUY8-1X24:
6211 - MEDIA_BUS_FMT_VUY8_1X24
6246 * .. _MEDIA-BUS-FMT-YUV8-1X24:
6248 - MEDIA_BUS_FMT_YUV8_1X24
6283 * .. _MEDIA-BUS-FMT-UYYVYY8-0-5X24:
6285 - MEDIA_BUS_FMT_UYYVYY8_0_5X24
6355 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
6357 - MEDIA_BUS_FMT_UYVY12_1X24
6427 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6429 - MEDIA_BUS_FMT_VYUY12_1X24
6499 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6501 - MEDIA_BUS_FMT_YUYV12_1X24
6571 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6573 - MEDIA_BUS_FMT_YVYU12_1X24
6643 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6645 - MEDIA_BUS_FMT_YUV10_1X30
6680 * .. _MEDIA-BUS-FMT-UYYVYY10-0-5X30:
6682 - MEDIA_BUS_FMT_UYYVYY10_0_5X30
6752 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6754 - MEDIA_BUS_FMT_AYUV8_1X32
6796 The following table list existing packed 36bit wide YUV formats.
6802 \setlength{\tabcolsep}{2pt}
6804 .. 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}|
6806 .. _v4l2-mbus-pixelcode-yuv8-36bit:
6808 .. flat-table:: 36bit YUV Formats
6811 :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
6816 - :cspan:`35` Data organization
6856 * .. _MEDIA-BUS-FMT-UYYVYY12-0-5X36:
6858 - MEDIA_BUS_FMT_UYYVYY12_0_5X36
6936 * .. _MEDIA-BUS-FMT-YUV12-1X36:
6938 - MEDIA_BUS_FMT_YUV12_1X36
6984 The following table list existing packed 48bit wide YUV formats.
6990 \setlength{\tabcolsep}{2pt}
6992 .. 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}|
6994 .. _v4l2-mbus-pixelcode-yuv8-48bit:
6996 .. flat-table:: 48bit YUV Formats
6999 :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
7004 - :cspan:`31` Data organization
7075 * .. _MEDIA-BUS-FMT-YUV16-1X48:
7077 - MEDIA_BUS_FMT_YUV16_1X48
7147 * .. _MEDIA-BUS-FMT-UYYVYY16-0-5X48:
7149 - MEDIA_BUS_FMT_UYYVYY16_0_5X48
7298 Those formats transfer pixel data as RGB values in a
7299 cylindrical-coordinate system using Hue-Saturation-Value or
7300 Hue-Saturation-Lightness components. The format code is made of the
7301 following information.
7303 - The hue, saturation, value or lightness and optional alpha components
7304 order code, as encoded in a pixel sample. The only currently
7305 supported value is AHSV.
7307 - The number of bits per component, for each component. The values can
7308 be different for all components. The only currently supported value
7311 - The number of bus samples per pixel. Pixels that are wider than the
7312 bus width must be transferred in multiple samples. The only currently
7313 supported value is 1.
7317 - For formats where the total number of bits per pixel is smaller than
7318 the number of bus samples per pixel times the bus width, a padding
7319 value stating if the bytes are padded in their most high order bits
7320 (PADHI) or low order bits (PADLO).
7322 - For formats where the number of bus samples per pixel is larger than
7323 1, an endianness value stating if the pixel is transferred MSB first
7324 (BE) or LSB first (LE).
7326 The following table lists existing HSV/HSL formats.
7333 \setlength{\tabcolsep}{2pt}
7335 .. 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}|
7337 .. _v4l2-mbus-pixelcode-hsv:
7339 .. flat-table:: HSV/HSL formats
7342 :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
7347 - :cspan:`31` Data organization
7383 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
7385 - MEDIA_BUS_FMT_AHSV8888_1X32
7426 JPEG Compressed Formats
7427 ^^^^^^^^^^^^^^^^^^^^^^^
7429 Those data formats consist of an ordered sequence of 8-bit bytes
7430 obtained from JPEG compression process. Additionally to the ``_JPEG``
7431 postfix the format code is made of the following information.
7433 - The number of bus samples per entropy encoded byte.
7437 For instance, for a JPEG baseline process and an 8-bit bus width the
7438 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
7440 The following table lists existing JPEG compressed formats.
7443 .. _v4l2-mbus-pixelcode-jpeg:
7445 .. tabularcolumns:: |p{5.4cm}|p{1.4cm}|p{10.7cm}|
7447 .. flat-table:: JPEG Formats
7454 * .. _MEDIA-BUS-FMT-JPEG-1X8:
7456 - MEDIA_BUS_FMT_JPEG_1X8
7458 - Besides of its usage for the parallel bus this format is
7459 recommended for transmission of JPEG data over MIPI CSI bus using
7460 the User Defined 8-bit Data types.
7464 .. _v4l2-mbus-vendor-spec-fmts:
7466 Vendor and Device Specific Formats
7467 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7469 This section lists complex data formats that are either vendor or device
7472 The following table lists the existing vendor and device specific
7476 .. _v4l2-mbus-pixelcode-vendor-specific:
7478 .. tabularcolumns:: |p{6.8cm}|p{1.4cm}|p{9.3cm}|
7480 .. flat-table:: Vendor and device specific formats
7487 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
7489 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
7491 - Interleaved raw UYVY and JPEG image format with embedded meta-data
7492 used by Samsung S3C73MX camera sensors.