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.
42 - Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
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`.
48 - Quantization range, from enum :c:type:`v4l2_quantization`.
49 This information supplements the ``colorspace`` and must be set by
50 the driver for capture streams and by the application for output
51 streams, see :ref:`colorspaces`.
54 - Transfer function, from enum :c:type:`v4l2_xfer_func`.
55 This information supplements the ``colorspace`` and must be set by
56 the driver for capture streams and by the application for output
57 streams, see :ref:`colorspaces`.
60 - Reserved for future extensions. Applications and drivers must set
65 .. _v4l2-mbus-pixelcode:
70 The media bus pixel codes describe image formats as flowing over
71 physical busses (both between separate physical components and inside
72 SoC devices). This should not be confused with the V4L2 pixel formats
73 that describe, using four character codes, image formats as stored in
76 While there is a relationship between image formats on busses and image
77 formats in memory (a raw Bayer image won't be magically converted to
78 JPEG just by storing it to memory), there is no one-to-one
79 correspondance between them.
85 Those formats transfer pixel data as red, green and blue components. The
86 format code is made of the following information.
88 - The red, green and blue components order code, as encoded in a pixel
89 sample. Possible values are RGB and BGR.
91 - The number of bits per component, for each component. The values can
92 be different for all components. Common values are 555 and 565.
94 - The number of bus samples per pixel. Pixels that are wider than the
95 bus width must be transferred in multiple samples. Common values are
100 - For formats where the total number of bits per pixel is smaller than
101 the number of bus samples per pixel times the bus width, a padding
102 value stating if the bytes are padded in their most high order bits
103 (PADHI) or low order bits (PADLO). A "C" prefix is used for
104 component-wise padding in the most high order bits (CPADHI) or low
105 order bits (CPADLO) of each separate component.
107 - For formats where the number of bus samples per pixel is larger than
108 1, an endianness value stating if the pixel is transferred MSB first
109 (BE) or LSB first (LE).
111 For instance, a format where pixels are encoded as 5-bits red, 5-bits
112 green and 5-bit blue values padded on the high bit, transferred as 2
113 8-bit samples per pixel with the most significant bits (padding, red and
114 half of the green value) transferred first will be named
115 ``MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE``.
117 The following tables list existing packed RGB formats.
119 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
120 .. is a very bad behaviored guy: if the table has more than 30 cols,
121 .. it switches to long table, and there's no way to override it.
124 .. 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}|
126 .. _v4l2-mbus-pixelcode-rgb:
132 \setlength{\tabcolsep}{2pt}
134 .. flat-table:: RGB formats
137 :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
142 - :cspan:`31` Data organization
178 * .. _MEDIA-BUS-FMT-RGB444-1X12:
180 - MEDIA_BUS_FMT_RGB444_1X12
215 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-BE:
217 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE
287 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-LE:
289 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE
359 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-BE:
361 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE
431 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-LE:
433 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE
503 * .. _MEDIA-BUS-FMT-RGB565-1X16:
505 - MEDIA_BUS_FMT_RGB565_1X16
540 * .. _MEDIA-BUS-FMT-BGR565-2X8-BE:
542 - MEDIA_BUS_FMT_BGR565_2X8_BE
612 * .. _MEDIA-BUS-FMT-BGR565-2X8-LE:
614 - MEDIA_BUS_FMT_BGR565_2X8_LE
684 * .. _MEDIA-BUS-FMT-RGB565-2X8-BE:
686 - MEDIA_BUS_FMT_RGB565_2X8_BE
756 * .. _MEDIA-BUS-FMT-RGB565-2X8-LE:
758 - MEDIA_BUS_FMT_RGB565_2X8_LE
828 * .. _MEDIA-BUS-FMT-RGB666-1X18:
830 - MEDIA_BUS_FMT_RGB666_1X18
865 * .. _MEDIA-BUS-FMT-RBG888-1X24:
867 - MEDIA_BUS_FMT_RBG888_1X24
902 * .. _MEDIA-BUS-FMT-RGB666-1X24_CPADHI:
904 - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
939 * .. _MEDIA-BUS-FMT-BGR888-1X24:
941 - MEDIA_BUS_FMT_BGR888_1X24
976 * .. _MEDIA-BUS-FMT-GBR888-1X24:
978 - MEDIA_BUS_FMT_GBR888_1X24
1013 * .. _MEDIA-BUS-FMT-RGB888-1X24:
1015 - MEDIA_BUS_FMT_RGB888_1X24
1050 * .. _MEDIA-BUS-FMT-RGB888-2X12-BE:
1052 - MEDIA_BUS_FMT_RGB888_2X12_BE
1122 * .. _MEDIA-BUS-FMT-RGB888-2X12-LE:
1124 - MEDIA_BUS_FMT_RGB888_2X12_LE
1194 * .. _MEDIA-BUS-FMT-ARGB888-1X32:
1196 - MEDIA_BUS_FMT_ARGB888_1X32
1231 * .. _MEDIA-BUS-FMT-RGB888-1X32-PADHI:
1233 - MEDIA_BUS_FMT_RGB888_1X32_PADHI
1268 * .. _MEDIA-BUS-FMT-RGB101010-1X30:
1270 - MEDIA_BUS_FMT_RGB101010_1X30
1311 The following table list existing packed 36bit wide RGB formats.
1313 .. 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}|
1315 .. _v4l2-mbus-pixelcode-rgb-36:
1321 \setlength{\tabcolsep}{2pt}
1323 .. flat-table:: 36bit RGB formats
1326 :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
1331 - :cspan:`35` Data organization
1371 * .. _MEDIA-BUS-FMT-RGB121212-1X36:
1373 - MEDIA_BUS_FMT_RGB121212_1X36
1418 The following table list existing packed 48bit wide RGB formats.
1420 .. 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}|
1422 .. _v4l2-mbus-pixelcode-rgb-48:
1428 \setlength{\tabcolsep}{2pt}
1430 .. flat-table:: 48bit RGB formats
1433 :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
1438 - :cspan:`31` Data organization
1509 * .. _MEDIA-BUS-FMT-RGB161616-1X48:
1511 - MEDIA_BUS_FMT_RGB161616_1X48
1586 On LVDS buses, usually each sample is transferred serialized in seven
1587 time slots per pixel clock, on three (18-bit) or four (24-bit)
1588 differential data pairs at the same time. The remaining bits are used
1589 for control signals as defined by SPWG/PSWG/VESA or JEIDA standards. The
1590 24-bit RGB format serialized in seven time slots on four lanes using
1591 JEIDA defined bit mapping will be named
1592 ``MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA``, for example.
1598 .. _v4l2-mbus-pixelcode-rgb-lvds:
1600 .. flat-table:: LVDS RGB formats
1608 - :cspan:`3` Data organization
1617 * .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG:
1619 - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
1675 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
1677 - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
1733 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
1735 - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
1800 Those formats transfer pixel data as red, green and blue components. The
1801 format code is made of the following information.
1803 - The red, green and blue components order code, as encoded in a pixel
1804 sample. The possible values are shown in :ref:`bayer-patterns`.
1806 - The number of bits per pixel component. All components are
1807 transferred on the same number of bits. Common values are 8, 10 and
1810 - The compression (optional). If the pixel components are ALAW- or
1811 DPCM-compressed, a mention of the compression scheme and the number
1812 of bits per compressed pixel component.
1814 - The number of bus samples per pixel. Pixels that are wider than the
1815 bus width must be transferred in multiple samples. Common values are
1820 - For formats where the total number of bits per pixel is smaller than
1821 the number of bus samples per pixel times the bus width, a padding
1822 value stating if the bytes are padded in their most high order bits
1823 (PADHI) or low order bits (PADLO).
1825 - For formats where the number of bus samples per pixel is larger than
1826 1, an endianness value stating if the pixel is transferred MSB first
1827 (BE) or LSB first (LE).
1829 For instance, a format with uncompressed 10-bit Bayer components
1830 arranged in a red, green, green, blue pattern transferred as 2 8-bit
1831 samples per pixel with the least significant bits transferred first will
1832 be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
1837 .. kernel-figure:: bayer.svg
1841 **Figure 4.8 Bayer Patterns**
1843 The following table lists existing packed Bayer formats. The data
1844 organization is given as an example for the first pixel only.
1847 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
1848 .. is a very bad behaviored guy: if the table has more than 30 cols,
1849 .. it switches to long table, and there's no way to override it.
1856 \setlength{\tabcolsep}{2pt}
1858 .. 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}|
1860 .. _v4l2-mbus-pixelcode-bayer:
1862 .. cssclass: longtable
1864 .. flat-table:: Bayer Formats
1871 - :cspan:`15` Data organization
1891 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
1893 - MEDIA_BUS_FMT_SBGGR8_1X8
1912 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
1914 - MEDIA_BUS_FMT_SGBRG8_1X8
1933 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
1935 - MEDIA_BUS_FMT_SGRBG8_1X8
1954 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
1956 - MEDIA_BUS_FMT_SRGGB8_1X8
1975 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
1977 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
1996 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
1998 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
2017 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
2019 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
2038 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
2040 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
2059 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
2061 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
2080 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
2082 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
2101 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
2103 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
2122 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
2124 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
2143 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
2145 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
2183 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
2185 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
2223 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
2225 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
2263 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
2265 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
2303 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
2305 - MEDIA_BUS_FMT_SBGGR10_1X10
2324 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2326 - MEDIA_BUS_FMT_SGBRG10_1X10
2345 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2347 - MEDIA_BUS_FMT_SGRBG10_1X10
2366 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2368 - MEDIA_BUS_FMT_SRGGB10_1X10
2387 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2389 - MEDIA_BUS_FMT_SBGGR12_1X12
2408 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2410 - MEDIA_BUS_FMT_SGBRG12_1X12
2429 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2431 - MEDIA_BUS_FMT_SGRBG12_1X12
2450 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2452 - MEDIA_BUS_FMT_SRGGB12_1X12
2471 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2473 - MEDIA_BUS_FMT_SBGGR14_1X14
2492 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2494 - MEDIA_BUS_FMT_SGBRG14_1X14
2513 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2515 - MEDIA_BUS_FMT_SGRBG14_1X14
2534 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2536 - MEDIA_BUS_FMT_SRGGB14_1X14
2555 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2557 - MEDIA_BUS_FMT_SBGGR16_1X16
2576 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2578 - MEDIA_BUS_FMT_SGBRG16_1X16
2597 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2599 - MEDIA_BUS_FMT_SGRBG16_1X16
2618 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2620 - MEDIA_BUS_FMT_SRGGB16_1X16
2648 Those data formats transfer pixel data as (possibly downsampled) Y, U
2649 and V components. Some formats include dummy bits in some of their
2650 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2651 formats. One cannot rely on the values of these dummy bits as those are
2654 The format code is made of the following information.
2656 - The Y, U and V components order code, as transferred on the bus.
2657 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2658 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2661 - The number of bits per pixel component. All components are
2662 transferred on the same number of bits. Common values are 8, 10 and
2665 - The number of bus samples per pixel. Pixels that are wider than the
2666 bus width must be transferred in multiple samples. Common values are
2667 0.5 (encoded as 0_5; in this case two pixels are transferred per bus
2668 sample), 1, 1.5 (encoded as 1_5) and 2.
2670 - The bus width. When the bus width is larger than the number of bits
2671 per pixel component, several components are packed in a single bus
2672 sample. The components are ordered as specified by the order code,
2673 with components on the left of the code transferred in the high order
2674 bits. Common values are 8 and 16.
2676 For instance, a format where pixels are encoded as 8-bit YUV values
2677 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2678 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2680 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2681 describes the organization of each pixel data in each sample. When a
2682 format pattern is split across multiple samples each of the samples in
2683 the pattern is described.
2685 The role of each bit transferred over the bus is identified by one of
2686 the following codes.
2688 - y\ :sub:`x` for luma component bit number x
2690 - u\ :sub:`x` for blue chroma component bit number x
2692 - v\ :sub:`x` for red chroma component bit number x
2694 - a\ :sub:`x` for alpha component bit number x
2696 - for non-available bits (for positions higher than the bus width)
2700 .. HACK: ideally, we would be using adjustbox here. However, this
2701 .. will never work for this table, as, even with tiny font, it is
2702 .. to big for a single page. So, we need to manually adjust the
2709 \setlength{\tabcolsep}{2pt}
2711 .. 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}|
2713 .. _v4l2-mbus-pixelcode-yuv8:
2715 .. flat-table:: YUV Formats
2718 :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
2723 - :cspan:`31` Data organization
2759 * .. _MEDIA-BUS-FMT-Y8-1X8:
2761 - MEDIA_BUS_FMT_Y8_1X8
2796 * .. _MEDIA-BUS-FMT-UV8-1X8:
2798 - MEDIA_BUS_FMT_UV8_1X8
2868 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2870 - MEDIA_BUS_FMT_UYVY8_1_5X8
3080 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
3082 - MEDIA_BUS_FMT_VYUY8_1_5X8
3292 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
3294 - MEDIA_BUS_FMT_YUYV8_1_5X8
3504 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3506 - MEDIA_BUS_FMT_YVYU8_1_5X8
3716 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3718 - MEDIA_BUS_FMT_UYVY8_2X8
3858 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3860 - MEDIA_BUS_FMT_VYUY8_2X8
4000 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
4002 - MEDIA_BUS_FMT_YUYV8_2X8
4142 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
4144 - MEDIA_BUS_FMT_YVYU8_2X8
4284 * .. _MEDIA-BUS-FMT-Y10-1X10:
4286 - MEDIA_BUS_FMT_Y10_1X10
4321 * .. _MEDIA-BUS-FMT-Y10-2X8-PADHI_LE:
4323 - MEDIA_BUS_FMT_Y10_2X8_PADHI_LE
4393 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
4395 - MEDIA_BUS_FMT_UYVY10_2X10
4535 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4537 - MEDIA_BUS_FMT_VYUY10_2X10
4677 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4679 - MEDIA_BUS_FMT_YUYV10_2X10
4819 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4821 - MEDIA_BUS_FMT_YVYU10_2X10
4961 * .. _MEDIA-BUS-FMT-Y12-1X12:
4963 - MEDIA_BUS_FMT_Y12_1X12
4998 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
5000 - MEDIA_BUS_FMT_UYVY12_2X12
5140 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
5142 - MEDIA_BUS_FMT_VYUY12_2X12
5282 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
5284 - MEDIA_BUS_FMT_YUYV12_2X12
5424 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5426 - MEDIA_BUS_FMT_YVYU12_2X12
5566 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5568 - MEDIA_BUS_FMT_UYVY8_1X16
5638 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5640 - MEDIA_BUS_FMT_VYUY8_1X16
5710 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5712 - MEDIA_BUS_FMT_YUYV8_1X16
5782 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5784 - MEDIA_BUS_FMT_YVYU8_1X16
5854 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5856 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
5996 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
5998 - MEDIA_BUS_FMT_UYVY10_1X20
6068 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
6070 - MEDIA_BUS_FMT_VYUY10_1X20
6140 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
6142 - MEDIA_BUS_FMT_YUYV10_1X20
6212 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
6214 - MEDIA_BUS_FMT_YVYU10_1X20
6284 * .. _MEDIA-BUS-FMT-VUY8-1X24:
6286 - MEDIA_BUS_FMT_VUY8_1X24
6321 * .. _MEDIA-BUS-FMT-YUV8-1X24:
6323 - MEDIA_BUS_FMT_YUV8_1X24
6358 * .. _MEDIA-BUS-FMT-UYYVYY8-0-5X24:
6360 - MEDIA_BUS_FMT_UYYVYY8_0_5X24
6430 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
6432 - MEDIA_BUS_FMT_UYVY12_1X24
6502 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6504 - MEDIA_BUS_FMT_VYUY12_1X24
6574 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6576 - MEDIA_BUS_FMT_YUYV12_1X24
6646 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6648 - MEDIA_BUS_FMT_YVYU12_1X24
6718 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6720 - MEDIA_BUS_FMT_YUV10_1X30
6755 * .. _MEDIA-BUS-FMT-UYYVYY10-0-5X30:
6757 - MEDIA_BUS_FMT_UYYVYY10_0_5X30
6827 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6829 - MEDIA_BUS_FMT_AYUV8_1X32
6871 The following table list existing packed 36bit wide YUV formats.
6877 \setlength{\tabcolsep}{2pt}
6879 .. 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}|
6881 .. _v4l2-mbus-pixelcode-yuv8-36bit:
6883 .. flat-table:: 36bit YUV Formats
6886 :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
6891 - :cspan:`35` Data organization
6931 * .. _MEDIA-BUS-FMT-UYYVYY12-0-5X36:
6933 - MEDIA_BUS_FMT_UYYVYY12_0_5X36
7011 * .. _MEDIA-BUS-FMT-YUV12-1X36:
7013 - MEDIA_BUS_FMT_YUV12_1X36
7059 The following table list existing packed 48bit wide YUV formats.
7065 \setlength{\tabcolsep}{2pt}
7067 .. 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}|
7069 .. _v4l2-mbus-pixelcode-yuv8-48bit:
7071 .. flat-table:: 48bit YUV Formats
7074 :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
7079 - :cspan:`31` Data organization
7150 * .. _MEDIA-BUS-FMT-YUV16-1X48:
7152 - MEDIA_BUS_FMT_YUV16_1X48
7222 * .. _MEDIA-BUS-FMT-UYYVYY16-0-5X48:
7224 - MEDIA_BUS_FMT_UYYVYY16_0_5X48
7373 Those formats transfer pixel data as RGB values in a
7374 cylindrical-coordinate system using Hue-Saturation-Value or
7375 Hue-Saturation-Lightness components. The format code is made of the
7376 following information.
7378 - The hue, saturation, value or lightness and optional alpha components
7379 order code, as encoded in a pixel sample. The only currently
7380 supported value is AHSV.
7382 - The number of bits per component, for each component. The values can
7383 be different for all components. The only currently supported value
7386 - The number of bus samples per pixel. Pixels that are wider than the
7387 bus width must be transferred in multiple samples. The only currently
7388 supported value is 1.
7392 - For formats where the total number of bits per pixel is smaller than
7393 the number of bus samples per pixel times the bus width, a padding
7394 value stating if the bytes are padded in their most high order bits
7395 (PADHI) or low order bits (PADLO).
7397 - For formats where the number of bus samples per pixel is larger than
7398 1, an endianness value stating if the pixel is transferred MSB first
7399 (BE) or LSB first (LE).
7401 The following table lists existing HSV/HSL formats.
7408 \setlength{\tabcolsep}{2pt}
7410 .. 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}|
7412 .. _v4l2-mbus-pixelcode-hsv:
7414 .. flat-table:: HSV/HSL formats
7417 :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
7422 - :cspan:`31` Data organization
7458 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
7460 - MEDIA_BUS_FMT_AHSV8888_1X32
7501 JPEG Compressed Formats
7502 ^^^^^^^^^^^^^^^^^^^^^^^
7504 Those data formats consist of an ordered sequence of 8-bit bytes
7505 obtained from JPEG compression process. Additionally to the ``_JPEG``
7506 postfix the format code is made of the following information.
7508 - The number of bus samples per entropy encoded byte.
7512 For instance, for a JPEG baseline process and an 8-bit bus width the
7513 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
7515 The following table lists existing JPEG compressed formats.
7518 .. _v4l2-mbus-pixelcode-jpeg:
7520 .. tabularcolumns:: |p{5.4cm}|p{1.4cm}|p{10.7cm}|
7522 .. flat-table:: JPEG Formats
7529 * .. _MEDIA-BUS-FMT-JPEG-1X8:
7531 - MEDIA_BUS_FMT_JPEG_1X8
7533 - Besides of its usage for the parallel bus this format is
7534 recommended for transmission of JPEG data over MIPI CSI bus using
7535 the User Defined 8-bit Data types.
7539 .. _v4l2-mbus-vendor-spec-fmts:
7541 Vendor and Device Specific Formats
7542 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7544 This section lists complex data formats that are either vendor or device
7547 The following table lists the existing vendor and device specific
7551 .. _v4l2-mbus-pixelcode-vendor-specific:
7553 .. tabularcolumns:: |p{6.8cm}|p{1.4cm}|p{9.3cm}|
7555 .. flat-table:: Vendor and device specific formats
7562 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
7564 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
7566 - Interleaved raw UYVY and JPEG image format with embedded meta-data
7567 used by Samsung S3C73MX camera sensors.