1 .. -*- coding: utf-8; mode: rst -*-
8 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
10 .. c:type:: v4l2_mbus_framefmt
12 .. flat-table:: struct v4l2_mbus_framefmt
19 - Image width, in pixels.
22 - Image height, in pixels.
25 - Format code, from enum
26 :ref:`v4l2_mbus_pixelcode <v4l2-mbus-pixelcode>`.
29 - Field order, from enum :c:type:`v4l2_field`. See
30 :ref:`field-order` for details.
33 - Image colorspace, from enum
34 :c:type:`v4l2_colorspace`. See
35 :ref:`colorspaces` for details.
36 * - enum :c:type:`v4l2_ycbcr_encoding`
38 - This information supplements the ``colorspace`` and must be set by
39 the driver for capture streams and by the application for output
40 streams, see :ref:`colorspaces`.
41 * - enum :c:type:`v4l2_quantization`
43 - This information supplements the ``colorspace`` and must be set by
44 the driver for capture streams and by the application for output
45 streams, see :ref:`colorspaces`.
46 * - enum :c:type:`v4l2_xfer_func`
48 - This information supplements the ``colorspace`` and must be set by
49 the driver for capture streams and by the application for output
50 streams, see :ref:`colorspaces`.
53 - Reserved for future extensions. Applications and drivers must set
58 .. _v4l2-mbus-pixelcode:
63 The media bus pixel codes describe image formats as flowing over
64 physical busses (both between separate physical components and inside
65 SoC devices). This should not be confused with the V4L2 pixel formats
66 that describe, using four character codes, image formats as stored in
69 While there is a relationship between image formats on busses and image
70 formats in memory (a raw Bayer image won't be magically converted to
71 JPEG just by storing it to memory), there is no one-to-one
72 correspondance between them.
78 Those formats transfer pixel data as red, green and blue components. The
79 format code is made of the following information.
81 - The red, green and blue components order code, as encoded in a pixel
82 sample. Possible values are RGB and BGR.
84 - The number of bits per component, for each component. The values can
85 be different for all components. Common values are 555 and 565.
87 - The number of bus samples per pixel. Pixels that are wider than the
88 bus width must be transferred in multiple samples. Common values are
93 - For formats where the total number of bits per pixel is smaller than
94 the number of bus samples per pixel times the bus width, a padding
95 value stating if the bytes are padded in their most high order bits
96 (PADHI) or low order bits (PADLO). A "C" prefix is used for
97 component-wise padding in the most high order bits (CPADHI) or low
98 order bits (CPADLO) of each separate component.
100 - For formats where the number of bus samples per pixel is larger than
101 1, an endianness value stating if the pixel is transferred MSB first
102 (BE) or LSB first (LE).
104 For instance, a format where pixels are encoded as 5-bits red, 5-bits
105 green and 5-bit blue values padded on the high bit, transferred as 2
106 8-bit samples per pixel with the most significant bits (padding, red and
107 half of the green value) transferred first will be named
108 ``MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE``.
110 The following tables list existing packed RGB formats.
112 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
113 .. is a very bad behaviored guy: if the table has more than 30 cols,
114 .. it switches to long table, and there's no way to override it.
117 .. tabularcolumns:: |p{4.0cm}|p{0.7cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
119 .. _v4l2-mbus-pixelcode-rgb:
125 \setlength{\tabcolsep}{2pt}
127 .. flat-table:: RGB formats
130 :widths: 36 7 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
135 - :cspan:`31` Data organization
171 * .. _MEDIA-BUS-FMT-RGB444-1X12:
173 - MEDIA_BUS_FMT_RGB444_1X12
208 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-BE:
210 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE
280 * .. _MEDIA-BUS-FMT-RGB444-2X8-PADHI-LE:
282 - MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE
352 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-BE:
354 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE
424 * .. _MEDIA-BUS-FMT-RGB555-2X8-PADHI-LE:
426 - MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE
496 * .. _MEDIA-BUS-FMT-RGB565-1X16:
498 - MEDIA_BUS_FMT_RGB565_1X16
533 * .. _MEDIA-BUS-FMT-BGR565-2X8-BE:
535 - MEDIA_BUS_FMT_BGR565_2X8_BE
605 * .. _MEDIA-BUS-FMT-BGR565-2X8-LE:
607 - MEDIA_BUS_FMT_BGR565_2X8_LE
677 * .. _MEDIA-BUS-FMT-RGB565-2X8-BE:
679 - MEDIA_BUS_FMT_RGB565_2X8_BE
749 * .. _MEDIA-BUS-FMT-RGB565-2X8-LE:
751 - MEDIA_BUS_FMT_RGB565_2X8_LE
821 * .. _MEDIA-BUS-FMT-RGB666-1X18:
823 - MEDIA_BUS_FMT_RGB666_1X18
858 * .. _MEDIA-BUS-FMT-RBG888-1X24:
860 - MEDIA_BUS_FMT_RBG888_1X24
895 * .. _MEDIA-BUS-FMT-RGB666-1X24_CPADHI:
897 - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
932 * .. _MEDIA-BUS-FMT-BGR888-1X24:
934 - MEDIA_BUS_FMT_BGR888_1X24
969 * .. _MEDIA-BUS-FMT-GBR888-1X24:
971 - MEDIA_BUS_FMT_GBR888_1X24
1006 * .. _MEDIA-BUS-FMT-RGB888-1X24:
1008 - MEDIA_BUS_FMT_RGB888_1X24
1043 * .. _MEDIA-BUS-FMT-RGB888-2X12-BE:
1045 - MEDIA_BUS_FMT_RGB888_2X12_BE
1115 * .. _MEDIA-BUS-FMT-RGB888-2X12-LE:
1117 - MEDIA_BUS_FMT_RGB888_2X12_LE
1187 * .. _MEDIA-BUS-FMT-ARGB888-1X32:
1189 - MEDIA_BUS_FMT_ARGB888_1X32
1224 * .. _MEDIA-BUS-FMT-RGB888-1X32-PADHI:
1226 - MEDIA_BUS_FMT_RGB888_1X32_PADHI
1261 * .. _MEDIA-BUS-FMT-RGB101010-1X30:
1263 - MEDIA_BUS_FMT_RGB101010_1X30
1304 The following table list existing packed 36bit wide RGB formats.
1306 .. 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}|
1308 .. _v4l2-mbus-pixelcode-rgb-36:
1314 \setlength{\tabcolsep}{2pt}
1316 .. flat-table:: 36bit RGB formats
1319 :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
1324 - :cspan:`35` Data organization
1364 * .. _MEDIA-BUS-FMT-RGB121212-1X36:
1366 - MEDIA_BUS_FMT_RGB121212_1X36
1411 The following table list existing packed 48bit wide RGB formats.
1413 .. 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}|
1415 .. _v4l2-mbus-pixelcode-rgb-48:
1421 \setlength{\tabcolsep}{2pt}
1423 .. flat-table:: 48bit RGB formats
1426 :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
1431 - :cspan:`31` Data organization
1502 * .. _MEDIA-BUS-FMT-RGB161616-1X48:
1504 - MEDIA_BUS_FMT_RGB161616_1X48
1579 On LVDS buses, usually each sample is transferred serialized in seven
1580 time slots per pixel clock, on three (18-bit) or four (24-bit)
1581 differential data pairs at the same time. The remaining bits are used
1582 for control signals as defined by SPWG/PSWG/VESA or JEIDA standards. The
1583 24-bit RGB format serialized in seven time slots on four lanes using
1584 JEIDA defined bit mapping will be named
1585 ``MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA``, for example.
1591 .. _v4l2-mbus-pixelcode-rgb-lvds:
1593 .. flat-table:: LVDS RGB formats
1601 - :cspan:`3` Data organization
1610 * .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG:
1612 - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
1668 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
1670 - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
1726 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
1728 - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
1793 Those formats transfer pixel data as red, green and blue components. The
1794 format code is made of the following information.
1796 - The red, green and blue components order code, as encoded in a pixel
1797 sample. The possible values are shown in :ref:`bayer-patterns`.
1799 - The number of bits per pixel component. All components are
1800 transferred on the same number of bits. Common values are 8, 10 and
1803 - The compression (optional). If the pixel components are ALAW- or
1804 DPCM-compressed, a mention of the compression scheme and the number
1805 of bits per compressed pixel component.
1807 - The number of bus samples per pixel. Pixels that are wider than the
1808 bus width must be transferred in multiple samples. Common values are
1813 - For formats where the total number of bits per pixel is smaller than
1814 the number of bus samples per pixel times the bus width, a padding
1815 value stating if the bytes are padded in their most high order bits
1816 (PADHI) or low order bits (PADLO).
1818 - For formats where the number of bus samples per pixel is larger than
1819 1, an endianness value stating if the pixel is transferred MSB first
1820 (BE) or LSB first (LE).
1822 For instance, a format with uncompressed 10-bit Bayer components
1823 arranged in a red, green, green, blue pattern transferred as 2 8-bit
1824 samples per pixel with the least significant bits transferred first will
1825 be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
1830 .. kernel-figure:: bayer.svg
1834 **Figure 4.8 Bayer Patterns**
1836 The following table lists existing packed Bayer formats. The data
1837 organization is given as an example for the first pixel only.
1840 .. HACK: ideally, we would be using adjustbox here. However, Sphinx
1841 .. is a very bad behaviored guy: if the table has more than 30 cols,
1842 .. it switches to long table, and there's no way to override it.
1849 \setlength{\tabcolsep}{2pt}
1851 .. 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}|
1853 .. _v4l2-mbus-pixelcode-bayer:
1855 .. cssclass: longtable
1857 .. flat-table:: Bayer Formats
1864 - :cspan:`15` Data organization
1884 * .. _MEDIA-BUS-FMT-SBGGR8-1X8:
1886 - MEDIA_BUS_FMT_SBGGR8_1X8
1905 * .. _MEDIA-BUS-FMT-SGBRG8-1X8:
1907 - MEDIA_BUS_FMT_SGBRG8_1X8
1926 * .. _MEDIA-BUS-FMT-SGRBG8-1X8:
1928 - MEDIA_BUS_FMT_SGRBG8_1X8
1947 * .. _MEDIA-BUS-FMT-SRGGB8-1X8:
1949 - MEDIA_BUS_FMT_SRGGB8_1X8
1968 * .. _MEDIA-BUS-FMT-SBGGR10-ALAW8-1X8:
1970 - MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8
1989 * .. _MEDIA-BUS-FMT-SGBRG10-ALAW8-1X8:
1991 - MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8
2010 * .. _MEDIA-BUS-FMT-SGRBG10-ALAW8-1X8:
2012 - MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8
2031 * .. _MEDIA-BUS-FMT-SRGGB10-ALAW8-1X8:
2033 - MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8
2052 * .. _MEDIA-BUS-FMT-SBGGR10-DPCM8-1X8:
2054 - MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8
2073 * .. _MEDIA-BUS-FMT-SGBRG10-DPCM8-1X8:
2075 - MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8
2094 * .. _MEDIA-BUS-FMT-SGRBG10-DPCM8-1X8:
2096 - MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8
2115 * .. _MEDIA-BUS-FMT-SRGGB10-DPCM8-1X8:
2117 - MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8
2136 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-BE:
2138 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE
2176 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADHI-LE:
2178 - MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE
2216 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-BE:
2218 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE
2256 * .. _MEDIA-BUS-FMT-SBGGR10-2X8-PADLO-LE:
2258 - MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE
2296 * .. _MEDIA-BUS-FMT-SBGGR10-1X10:
2298 - MEDIA_BUS_FMT_SBGGR10_1X10
2317 * .. _MEDIA-BUS-FMT-SGBRG10-1X10:
2319 - MEDIA_BUS_FMT_SGBRG10_1X10
2338 * .. _MEDIA-BUS-FMT-SGRBG10-1X10:
2340 - MEDIA_BUS_FMT_SGRBG10_1X10
2359 * .. _MEDIA-BUS-FMT-SRGGB10-1X10:
2361 - MEDIA_BUS_FMT_SRGGB10_1X10
2380 * .. _MEDIA-BUS-FMT-SBGGR12-1X12:
2382 - MEDIA_BUS_FMT_SBGGR12_1X12
2401 * .. _MEDIA-BUS-FMT-SGBRG12-1X12:
2403 - MEDIA_BUS_FMT_SGBRG12_1X12
2422 * .. _MEDIA-BUS-FMT-SGRBG12-1X12:
2424 - MEDIA_BUS_FMT_SGRBG12_1X12
2443 * .. _MEDIA-BUS-FMT-SRGGB12-1X12:
2445 - MEDIA_BUS_FMT_SRGGB12_1X12
2464 * .. _MEDIA-BUS-FMT-SBGGR14-1X14:
2466 - MEDIA_BUS_FMT_SBGGR14_1X14
2485 * .. _MEDIA-BUS-FMT-SGBRG14-1X14:
2487 - MEDIA_BUS_FMT_SGBRG14_1X14
2506 * .. _MEDIA-BUS-FMT-SGRBG14-1X14:
2508 - MEDIA_BUS_FMT_SGRBG14_1X14
2527 * .. _MEDIA-BUS-FMT-SRGGB14-1X14:
2529 - MEDIA_BUS_FMT_SRGGB14_1X14
2548 * .. _MEDIA-BUS-FMT-SBGGR16-1X16:
2550 - MEDIA_BUS_FMT_SBGGR16_1X16
2569 * .. _MEDIA-BUS-FMT-SGBRG16-1X16:
2571 - MEDIA_BUS_FMT_SGBRG16_1X16
2590 * .. _MEDIA-BUS-FMT-SGRBG16-1X16:
2592 - MEDIA_BUS_FMT_SGRBG16_1X16
2611 * .. _MEDIA-BUS-FMT-SRGGB16-1X16:
2613 - MEDIA_BUS_FMT_SRGGB16_1X16
2641 Those data formats transfer pixel data as (possibly downsampled) Y, U
2642 and V components. Some formats include dummy bits in some of their
2643 samples and are collectively referred to as "YDYC" (Y-Dummy-Y-Chroma)
2644 formats. One cannot rely on the values of these dummy bits as those are
2647 The format code is made of the following information.
2649 - The Y, U and V components order code, as transferred on the bus.
2650 Possible values are YUYV, UYVY, YVYU and VYUY for formats with no
2651 dummy bit, and YDYUYDYV, YDYVYDYU, YUYDYVYD and YVYDYUYD for YDYC
2654 - The number of bits per pixel component. All components are
2655 transferred on the same number of bits. Common values are 8, 10 and
2658 - The number of bus samples per pixel. Pixels that are wider than the
2659 bus width must be transferred in multiple samples. Common values are
2660 0.5 (encoded as 0_5; in this case two pixels are transferred per bus
2661 sample), 1, 1.5 (encoded as 1_5) and 2.
2663 - The bus width. When the bus width is larger than the number of bits
2664 per pixel component, several components are packed in a single bus
2665 sample. The components are ordered as specified by the order code,
2666 with components on the left of the code transferred in the high order
2667 bits. Common values are 8 and 16.
2669 For instance, a format where pixels are encoded as 8-bit YUV values
2670 downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in
2671 the U, Y, V, Y order will be named ``MEDIA_BUS_FMT_UYVY8_2X8``.
2673 :ref:`v4l2-mbus-pixelcode-yuv8` lists existing packed YUV formats and
2674 describes the organization of each pixel data in each sample. When a
2675 format pattern is split across multiple samples each of the samples in
2676 the pattern is described.
2678 The role of each bit transferred over the bus is identified by one of
2679 the following codes.
2681 - y\ :sub:`x` for luma component bit number x
2683 - u\ :sub:`x` for blue chroma component bit number x
2685 - v\ :sub:`x` for red chroma component bit number x
2687 - a\ :sub:`x` for alpha component bit number x
2689 - for non-available bits (for positions higher than the bus width)
2693 .. HACK: ideally, we would be using adjustbox here. However, this
2694 .. will never work for this table, as, even with tiny font, it is
2695 .. to big for a single page. So, we need to manually adjust the
2702 \setlength{\tabcolsep}{2pt}
2704 .. 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}|
2706 .. _v4l2-mbus-pixelcode-yuv8:
2708 .. flat-table:: YUV Formats
2711 :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
2716 - :cspan:`31` Data organization
2752 * .. _MEDIA-BUS-FMT-Y8-1X8:
2754 - MEDIA_BUS_FMT_Y8_1X8
2789 * .. _MEDIA-BUS-FMT-UV8-1X8:
2791 - MEDIA_BUS_FMT_UV8_1X8
2861 * .. _MEDIA-BUS-FMT-UYVY8-1_5X8:
2863 - MEDIA_BUS_FMT_UYVY8_1_5X8
3073 * .. _MEDIA-BUS-FMT-VYUY8-1_5X8:
3075 - MEDIA_BUS_FMT_VYUY8_1_5X8
3285 * .. _MEDIA-BUS-FMT-YUYV8-1_5X8:
3287 - MEDIA_BUS_FMT_YUYV8_1_5X8
3497 * .. _MEDIA-BUS-FMT-YVYU8-1_5X8:
3499 - MEDIA_BUS_FMT_YVYU8_1_5X8
3709 * .. _MEDIA-BUS-FMT-UYVY8-2X8:
3711 - MEDIA_BUS_FMT_UYVY8_2X8
3851 * .. _MEDIA-BUS-FMT-VYUY8-2X8:
3853 - MEDIA_BUS_FMT_VYUY8_2X8
3993 * .. _MEDIA-BUS-FMT-YUYV8-2X8:
3995 - MEDIA_BUS_FMT_YUYV8_2X8
4135 * .. _MEDIA-BUS-FMT-YVYU8-2X8:
4137 - MEDIA_BUS_FMT_YVYU8_2X8
4277 * .. _MEDIA-BUS-FMT-Y10-1X10:
4279 - MEDIA_BUS_FMT_Y10_1X10
4314 * .. _MEDIA-BUS-FMT-UYVY10-2X10:
4316 - MEDIA_BUS_FMT_UYVY10_2X10
4456 * .. _MEDIA-BUS-FMT-VYUY10-2X10:
4458 - MEDIA_BUS_FMT_VYUY10_2X10
4598 * .. _MEDIA-BUS-FMT-YUYV10-2X10:
4600 - MEDIA_BUS_FMT_YUYV10_2X10
4740 * .. _MEDIA-BUS-FMT-YVYU10-2X10:
4742 - MEDIA_BUS_FMT_YVYU10_2X10
4882 * .. _MEDIA-BUS-FMT-Y12-1X12:
4884 - MEDIA_BUS_FMT_Y12_1X12
4919 * .. _MEDIA-BUS-FMT-UYVY12-2X12:
4921 - MEDIA_BUS_FMT_UYVY12_2X12
5061 * .. _MEDIA-BUS-FMT-VYUY12-2X12:
5063 - MEDIA_BUS_FMT_VYUY12_2X12
5203 * .. _MEDIA-BUS-FMT-YUYV12-2X12:
5205 - MEDIA_BUS_FMT_YUYV12_2X12
5345 * .. _MEDIA-BUS-FMT-YVYU12-2X12:
5347 - MEDIA_BUS_FMT_YVYU12_2X12
5487 * .. _MEDIA-BUS-FMT-UYVY8-1X16:
5489 - MEDIA_BUS_FMT_UYVY8_1X16
5559 * .. _MEDIA-BUS-FMT-VYUY8-1X16:
5561 - MEDIA_BUS_FMT_VYUY8_1X16
5631 * .. _MEDIA-BUS-FMT-YUYV8-1X16:
5633 - MEDIA_BUS_FMT_YUYV8_1X16
5703 * .. _MEDIA-BUS-FMT-YVYU8-1X16:
5705 - MEDIA_BUS_FMT_YVYU8_1X16
5775 * .. _MEDIA-BUS-FMT-YDYUYDYV8-1X16:
5777 - MEDIA_BUS_FMT_YDYUYDYV8_1X16
5917 * .. _MEDIA-BUS-FMT-UYVY10-1X20:
5919 - MEDIA_BUS_FMT_UYVY10_1X20
5989 * .. _MEDIA-BUS-FMT-VYUY10-1X20:
5991 - MEDIA_BUS_FMT_VYUY10_1X20
6061 * .. _MEDIA-BUS-FMT-YUYV10-1X20:
6063 - MEDIA_BUS_FMT_YUYV10_1X20
6133 * .. _MEDIA-BUS-FMT-YVYU10-1X20:
6135 - MEDIA_BUS_FMT_YVYU10_1X20
6205 * .. _MEDIA-BUS-FMT-VUY8-1X24:
6207 - MEDIA_BUS_FMT_VUY8_1X24
6242 * .. _MEDIA-BUS-FMT-YUV8-1X24:
6244 - MEDIA_BUS_FMT_YUV8_1X24
6279 * .. _MEDIA-BUS-FMT-UYYVYY8-0-5X24:
6281 - MEDIA_BUS_FMT_UYYVYY8_0_5X24
6351 * .. _MEDIA-BUS-FMT-UYVY12-1X24:
6353 - MEDIA_BUS_FMT_UYVY12_1X24
6423 * .. _MEDIA-BUS-FMT-VYUY12-1X24:
6425 - MEDIA_BUS_FMT_VYUY12_1X24
6495 * .. _MEDIA-BUS-FMT-YUYV12-1X24:
6497 - MEDIA_BUS_FMT_YUYV12_1X24
6567 * .. _MEDIA-BUS-FMT-YVYU12-1X24:
6569 - MEDIA_BUS_FMT_YVYU12_1X24
6639 * .. _MEDIA-BUS-FMT-YUV10-1X30:
6641 - MEDIA_BUS_FMT_YUV10_1X30
6676 * .. _MEDIA-BUS-FMT-UYYVYY10-0-5X30:
6678 - MEDIA_BUS_FMT_UYYVYY10_0_5X30
6748 * .. _MEDIA-BUS-FMT-AYUV8-1X32:
6750 - MEDIA_BUS_FMT_AYUV8_1X32
6792 The following table list existing packed 36bit wide YUV formats.
6798 \setlength{\tabcolsep}{2pt}
6800 .. 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}|
6802 .. _v4l2-mbus-pixelcode-yuv8-36bit:
6804 .. flat-table:: 36bit YUV Formats
6807 :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
6812 - :cspan:`35` Data organization
6852 * .. _MEDIA-BUS-FMT-UYYVYY12-0-5X36:
6854 - MEDIA_BUS_FMT_UYYVYY12_0_5X36
6932 * .. _MEDIA-BUS-FMT-YUV12-1X36:
6934 - MEDIA_BUS_FMT_YUV12_1X36
6980 The following table list existing packed 48bit wide YUV formats.
6986 \setlength{\tabcolsep}{2pt}
6988 .. 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}|
6990 .. _v4l2-mbus-pixelcode-yuv8-48bit:
6992 .. flat-table:: 48bit YUV Formats
6995 :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
7000 - :cspan:`31` Data organization
7071 * .. _MEDIA-BUS-FMT-YUV16-1X48:
7073 - MEDIA_BUS_FMT_YUV16_1X48
7143 * .. _MEDIA-BUS-FMT-UYYVYY16-0-5X48:
7145 - MEDIA_BUS_FMT_UYYVYY16_0_5X48
7294 Those formats transfer pixel data as RGB values in a
7295 cylindrical-coordinate system using Hue-Saturation-Value or
7296 Hue-Saturation-Lightness components. The format code is made of the
7297 following information.
7299 - The hue, saturation, value or lightness and optional alpha components
7300 order code, as encoded in a pixel sample. The only currently
7301 supported value is AHSV.
7303 - The number of bits per component, for each component. The values can
7304 be different for all components. The only currently supported value
7307 - The number of bus samples per pixel. Pixels that are wider than the
7308 bus width must be transferred in multiple samples. The only currently
7309 supported value is 1.
7313 - For formats where the total number of bits per pixel is smaller than
7314 the number of bus samples per pixel times the bus width, a padding
7315 value stating if the bytes are padded in their most high order bits
7316 (PADHI) or low order bits (PADLO).
7318 - For formats where the number of bus samples per pixel is larger than
7319 1, an endianness value stating if the pixel is transferred MSB first
7320 (BE) or LSB first (LE).
7322 The following table lists existing HSV/HSL formats.
7329 \setlength{\tabcolsep}{2pt}
7331 .. 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}|
7333 .. _v4l2-mbus-pixelcode-hsv:
7335 .. flat-table:: HSV/HSL formats
7338 :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
7343 - :cspan:`31` Data organization
7379 * .. _MEDIA-BUS-FMT-AHSV8888-1X32:
7381 - MEDIA_BUS_FMT_AHSV8888_1X32
7422 JPEG Compressed Formats
7423 ^^^^^^^^^^^^^^^^^^^^^^^
7425 Those data formats consist of an ordered sequence of 8-bit bytes
7426 obtained from JPEG compression process. Additionally to the ``_JPEG``
7427 postfix the format code is made of the following information.
7429 - The number of bus samples per entropy encoded byte.
7433 For instance, for a JPEG baseline process and an 8-bit bus width the
7434 format will be named ``MEDIA_BUS_FMT_JPEG_1X8``.
7436 The following table lists existing JPEG compressed formats.
7439 .. _v4l2-mbus-pixelcode-jpeg:
7441 .. tabularcolumns:: |p{5.4cm}|p{1.4cm}|p{10.7cm}|
7443 .. flat-table:: JPEG Formats
7450 * .. _MEDIA-BUS-FMT-JPEG-1X8:
7452 - MEDIA_BUS_FMT_JPEG_1X8
7454 - Besides of its usage for the parallel bus this format is
7455 recommended for transmission of JPEG data over MIPI CSI bus using
7456 the User Defined 8-bit Data types.
7460 .. _v4l2-mbus-vendor-spec-fmts:
7462 Vendor and Device Specific Formats
7463 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7465 This section lists complex data formats that are either vendor or device
7468 The following table lists the existing vendor and device specific
7472 .. _v4l2-mbus-pixelcode-vendor-specific:
7474 .. tabularcolumns:: |p{6.8cm}|p{1.4cm}|p{9.3cm}|
7476 .. flat-table:: Vendor and device specific formats
7483 * .. _MEDIA-BUS-FMT-S5C-UYVY-JPEG-1X8:
7485 - MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8
7487 - Interleaved raw UYVY and JPEG image format with embedded meta-data
7488 used by Samsung S3C73MX camera sensors.