1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 254f38fcaSMauro Carvalho Chehab 354f38fcaSMauro Carvalho Chehab****************************** 454f38fcaSMauro Carvalho ChehabMulti-planar format structures 554f38fcaSMauro Carvalho Chehab****************************** 654f38fcaSMauro Carvalho Chehab 754f38fcaSMauro Carvalho ChehabThe struct :c:type:`v4l2_plane_pix_format` structures define size 854f38fcaSMauro Carvalho Chehaband layout for each of the planes in a multi-planar format. The 954f38fcaSMauro Carvalho Chehabstruct :c:type:`v4l2_pix_format_mplane` structure contains 1054f38fcaSMauro Carvalho Chehabinformation common to all planes (such as image width and height) and an 1154f38fcaSMauro Carvalho Chehabarray of struct :c:type:`v4l2_plane_pix_format` structures, 1254f38fcaSMauro Carvalho Chehabdescribing all planes of that format. 1354f38fcaSMauro Carvalho Chehab 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho Chehab 16*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{1.4cm}|p{4.0cm}|p{11.9cm}| 1754f38fcaSMauro Carvalho Chehab 1854f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_plane_pix_format 1954f38fcaSMauro Carvalho Chehab 2054f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_plane_pix_format 2154f38fcaSMauro Carvalho Chehab :header-rows: 0 2254f38fcaSMauro Carvalho Chehab :stub-columns: 0 2354f38fcaSMauro Carvalho Chehab :widths: 1 1 2 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab * - __u32 2654f38fcaSMauro Carvalho Chehab - ``sizeimage`` 2754f38fcaSMauro Carvalho Chehab - Maximum size in bytes required for image data in this plane, 2854f38fcaSMauro Carvalho Chehab set by the driver. When the image consists of variable length 2954f38fcaSMauro Carvalho Chehab compressed data this is the number of bytes required by the 3054f38fcaSMauro Carvalho Chehab codec to support the worst-case compression scenario. 3154f38fcaSMauro Carvalho Chehab 3254f38fcaSMauro Carvalho Chehab The driver will set the value for uncompressed images. 3354f38fcaSMauro Carvalho Chehab 3454f38fcaSMauro Carvalho Chehab Clients are allowed to set the sizeimage field for variable length 3554f38fcaSMauro Carvalho Chehab compressed data flagged with ``V4L2_FMT_FLAG_COMPRESSED`` at 3654f38fcaSMauro Carvalho Chehab :ref:`VIDIOC_ENUM_FMT`, but the driver may ignore it and set the 3754f38fcaSMauro Carvalho Chehab value itself, or it may modify the provided value based on 3854f38fcaSMauro Carvalho Chehab alignment requirements or minimum/maximum size requirements. 3954f38fcaSMauro Carvalho Chehab If the client wants to leave this to the driver, then it should 4054f38fcaSMauro Carvalho Chehab set sizeimage to 0. 4154f38fcaSMauro Carvalho Chehab * - __u32 4254f38fcaSMauro Carvalho Chehab - ``bytesperline`` 4354f38fcaSMauro Carvalho Chehab - Distance in bytes between the leftmost pixels in two adjacent 4454f38fcaSMauro Carvalho Chehab lines. See struct :c:type:`v4l2_pix_format`. 4554f38fcaSMauro Carvalho Chehab * - __u16 4654f38fcaSMauro Carvalho Chehab - ``reserved[6]`` 4754f38fcaSMauro Carvalho Chehab - Reserved for future extensions. Should be zeroed by drivers and 4854f38fcaSMauro Carvalho Chehab applications. 4954f38fcaSMauro Carvalho Chehab 5054f38fcaSMauro Carvalho Chehab 5154f38fcaSMauro Carvalho Chehab.. raw:: latex 5254f38fcaSMauro Carvalho Chehab 5354f38fcaSMauro Carvalho Chehab \small 5454f38fcaSMauro Carvalho Chehab 55*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{4.4cm}|p{5.6cm}|p{7.3cm}| 5654f38fcaSMauro Carvalho Chehab 5754f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_pix_format_mplane 5854f38fcaSMauro Carvalho Chehab 5954f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_pix_format_mplane 6054f38fcaSMauro Carvalho Chehab :header-rows: 0 6154f38fcaSMauro Carvalho Chehab :stub-columns: 0 6254f38fcaSMauro Carvalho Chehab :widths: 1 1 2 6354f38fcaSMauro Carvalho Chehab 6454f38fcaSMauro Carvalho Chehab * - __u32 6554f38fcaSMauro Carvalho Chehab - ``width`` 6654f38fcaSMauro Carvalho Chehab - Image width in pixels. See struct 6754f38fcaSMauro Carvalho Chehab :c:type:`v4l2_pix_format`. 6854f38fcaSMauro Carvalho Chehab * - __u32 6954f38fcaSMauro Carvalho Chehab - ``height`` 7054f38fcaSMauro Carvalho Chehab - Image height in pixels. See struct 7154f38fcaSMauro Carvalho Chehab :c:type:`v4l2_pix_format`. 7254f38fcaSMauro Carvalho Chehab * - __u32 7354f38fcaSMauro Carvalho Chehab - ``pixelformat`` 7454f38fcaSMauro Carvalho Chehab - The pixel format. Both single- and multi-planar four character 7554f38fcaSMauro Carvalho Chehab codes can be used. 7654f38fcaSMauro Carvalho Chehab * - __u32 7754f38fcaSMauro Carvalho Chehab - ``field`` 7854f38fcaSMauro Carvalho Chehab - Field order, from enum :c:type:`v4l2_field`. 7954f38fcaSMauro Carvalho Chehab See struct :c:type:`v4l2_pix_format`. 8054f38fcaSMauro Carvalho Chehab * - __u32 8154f38fcaSMauro Carvalho Chehab - ``colorspace`` 8254f38fcaSMauro Carvalho Chehab - Colorspace encoding, from enum :c:type:`v4l2_colorspace`. 8354f38fcaSMauro Carvalho Chehab See struct :c:type:`v4l2_pix_format`. 8454f38fcaSMauro Carvalho Chehab * - struct :c:type:`v4l2_plane_pix_format` 8554f38fcaSMauro Carvalho Chehab - ``plane_fmt[VIDEO_MAX_PLANES]`` 8654f38fcaSMauro Carvalho Chehab - An array of structures describing format of each plane this pixel 8754f38fcaSMauro Carvalho Chehab format consists of. The number of valid entries in this array has 8854f38fcaSMauro Carvalho Chehab to be put in the ``num_planes`` field. 8954f38fcaSMauro Carvalho Chehab * - __u8 9054f38fcaSMauro Carvalho Chehab - ``num_planes`` 9154f38fcaSMauro Carvalho Chehab - Number of planes (i.e. separate memory buffers) for this format 9254f38fcaSMauro Carvalho Chehab and the number of valid entries in the ``plane_fmt`` array. 9354f38fcaSMauro Carvalho Chehab * - __u8 9454f38fcaSMauro Carvalho Chehab - ``flags`` 9554f38fcaSMauro Carvalho Chehab - Flags set by the application or driver, see :ref:`format-flags`. 9654f38fcaSMauro Carvalho Chehab * - union { 9754f38fcaSMauro Carvalho Chehab - (anonymous) 9854f38fcaSMauro Carvalho Chehab * - __u8 9954f38fcaSMauro Carvalho Chehab - ``ycbcr_enc`` 10054f38fcaSMauro Carvalho Chehab - Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`. 101b38c73caSDafna Hirschfeld See struct :c:type:`v4l2_pix_format`. 10254f38fcaSMauro Carvalho Chehab * - __u8 10354f38fcaSMauro Carvalho Chehab - ``hsv_enc`` 10454f38fcaSMauro Carvalho Chehab - HSV encoding, from enum :c:type:`v4l2_hsv_encoding`. 105b38c73caSDafna Hirschfeld See struct :c:type:`v4l2_pix_format`. 10654f38fcaSMauro Carvalho Chehab * - } 10754f38fcaSMauro Carvalho Chehab - 10854f38fcaSMauro Carvalho Chehab * - __u8 10954f38fcaSMauro Carvalho Chehab - ``quantization`` 11054f38fcaSMauro Carvalho Chehab - Quantization range, from enum :c:type:`v4l2_quantization`. 111b38c73caSDafna Hirschfeld See struct :c:type:`v4l2_pix_format`. 11254f38fcaSMauro Carvalho Chehab * - __u8 11354f38fcaSMauro Carvalho Chehab - ``xfer_func`` 11454f38fcaSMauro Carvalho Chehab - Transfer function, from enum :c:type:`v4l2_xfer_func`. 115b38c73caSDafna Hirschfeld See struct :c:type:`v4l2_pix_format`. 11654f38fcaSMauro Carvalho Chehab * - __u8 11754f38fcaSMauro Carvalho Chehab - ``reserved[7]`` 11854f38fcaSMauro Carvalho Chehab - Reserved for future extensions. Should be zeroed by drivers and 11954f38fcaSMauro Carvalho Chehab applications. 12054f38fcaSMauro Carvalho Chehab 12154f38fcaSMauro Carvalho Chehab.. raw:: latex 12254f38fcaSMauro Carvalho Chehab 12354f38fcaSMauro Carvalho Chehab \normalsize 124