File Index
Files and directories
Sign in
FILE

pixfmt-v4l2-mplane.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/userspace-api/media/v4l/pixfmt-v4l2-mplane.rst RESTRUCTUREDTEXT
  1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2.. c:namespace:: V4L
  3
  4******************************
  5Multi-planar format structures
  6******************************
  7
  8The struct :c:type:`v4l2_plane_pix_format` structures define size
  9and layout for each of the planes in a multi-planar format. The
 10struct :c:type:`v4l2_pix_format_mplane` structure contains
 11information common to all planes (such as image width and height) and an
 12array of struct :c:type:`v4l2_plane_pix_format` structures,
 13describing all planes of that format.
 14
 15
 16
 17.. tabularcolumns:: |p{1.4cm}|p{4.0cm}|p{11.9cm}|
 18
 19.. c:type:: v4l2_plane_pix_format
 20
 21.. flat-table:: struct v4l2_plane_pix_format
 22    :header-rows:  0
 23    :stub-columns: 0
 24    :widths:       1 1 2
 25
 26    * - __u32
 27      - ``sizeimage``
 28      - Maximum size in bytes required for image data in this plane,
 29	set by the driver. When the image consists of variable length
 30	compressed data this is the number of bytes required by the
 31	codec to support the worst-case compression scenario.
 32
 33	The driver will set the value for uncompressed images.
 34
 35	Clients are allowed to set the sizeimage field for variable length
 36	compressed data flagged with ``V4L2_FMT_FLAG_COMPRESSED`` at
 37	:ref:`VIDIOC_ENUM_FMT`, but the driver may ignore it and set the
 38	value itself, or it may modify the provided value based on
 39	alignment requirements or minimum/maximum size requirements.
 40	If the client wants to leave this to the driver, then it should
 41	set sizeimage to 0.
 42    * - __u32
 43      - ``bytesperline``
 44      - Distance in bytes between the leftmost pixels in two adjacent
 45	lines. See struct :c:type:`v4l2_pix_format`.
 46    * - __u16
 47      - ``reserved[6]``
 48      - Reserved for future extensions. Should be zeroed by drivers and
 49	applications.
 50
 51
 52.. raw:: latex
 53
 54    \small
 55
 56.. tabularcolumns:: |p{4.4cm}|p{5.6cm}|p{7.3cm}|
 57
 58.. c:type:: v4l2_pix_format_mplane
 59
 60.. flat-table:: struct v4l2_pix_format_mplane
 61    :header-rows:  0
 62    :stub-columns: 0
 63    :widths:       1 1 2
 64
 65    * - __u32
 66      - ``width``
 67      - Image width in pixels. See struct
 68	:c:type:`v4l2_pix_format`.
 69    * - __u32
 70      - ``height``
 71      - Image height in pixels. See struct
 72	:c:type:`v4l2_pix_format`.
 73    * - __u32
 74      - ``pixelformat``
 75      - The pixel format. Both single- and multi-planar four character
 76	codes can be used.
 77    * - __u32
 78      - ``field``
 79      - Field order, from enum :c:type:`v4l2_field`.
 80        See struct :c:type:`v4l2_pix_format`.
 81    * - __u32
 82      - ``colorspace``
 83      - Colorspace encoding, from enum :c:type:`v4l2_colorspace`.
 84        See struct :c:type:`v4l2_pix_format`.
 85    * - struct :c:type:`v4l2_plane_pix_format`
 86      - ``plane_fmt[VIDEO_MAX_PLANES]``
 87      - An array of structures describing format of each plane this pixel
 88	format consists of. The number of valid entries in this array has
 89	to be put in the ``num_planes`` field.
 90    * - __u8
 91      - ``num_planes``
 92      - Number of planes (i.e. separate memory buffers) for this format
 93	and the number of valid entries in the ``plane_fmt`` array.
 94    * - __u8
 95      - ``flags``
 96      - Flags set by the application or driver, see :ref:`format-flags`.
 97    * - union {
 98      - (anonymous)
 99    * - __u8
100      - ``ycbcr_enc``
101      - Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
102	See struct :c:type:`v4l2_pix_format`.
103    * - __u8
104      - ``hsv_enc``
105      - HSV encoding, from enum :c:type:`v4l2_hsv_encoding`.
106	See struct :c:type:`v4l2_pix_format`.
107    * - }
108      -
109    * - __u8
110      - ``quantization``
111      - Quantization range, from enum :c:type:`v4l2_quantization`.
112	See struct :c:type:`v4l2_pix_format`.
113    * - __u8
114      - ``xfer_func``
115      - Transfer function, from enum :c:type:`v4l2_xfer_func`.
116	See struct :c:type:`v4l2_pix_format`.
117    * - __u8
118      - ``reserved[7]``
119      - Reserved for future extensions. Should be zeroed by drivers and
120	applications.
121
122.. raw:: latex
123
124    \normalsize
~/ Read-only file preview.