diff options
Diffstat (limited to 'Documentation/userspace-api/media/v4l/pixfmt-v4l2-mplane.rst')
-rw-r--r-- | Documentation/userspace-api/media/v4l/pixfmt-v4l2-mplane.rst | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-v4l2-mplane.rst b/Documentation/userspace-api/media/v4l/pixfmt-v4l2-mplane.rst new file mode 100644 index 000000000..ad4da988c --- /dev/null +++ b/Documentation/userspace-api/media/v4l/pixfmt-v4l2-mplane.rst @@ -0,0 +1,123 @@ +.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later + +****************************** +Multi-planar format structures +****************************** + +The struct :c:type:`v4l2_plane_pix_format` structures define size +and layout for each of the planes in a multi-planar format. The +struct :c:type:`v4l2_pix_format_mplane` structure contains +information common to all planes (such as image width and height) and an +array of struct :c:type:`v4l2_plane_pix_format` structures, +describing all planes of that format. + + + +.. tabularcolumns:: |p{1.4cm}|p{4.0cm}|p{11.9cm}| + +.. c:type:: v4l2_plane_pix_format + +.. flat-table:: struct v4l2_plane_pix_format + :header-rows: 0 + :stub-columns: 0 + :widths: 1 1 2 + + * - __u32 + - ``sizeimage`` + - Maximum size in bytes required for image data in this plane, + set by the driver. When the image consists of variable length + compressed data this is the number of bytes required by the + codec to support the worst-case compression scenario. + + The driver will set the value for uncompressed images. + + Clients are allowed to set the sizeimage field for variable length + compressed data flagged with ``V4L2_FMT_FLAG_COMPRESSED`` at + :ref:`VIDIOC_ENUM_FMT`, but the driver may ignore it and set the + value itself, or it may modify the provided value based on + alignment requirements or minimum/maximum size requirements. + If the client wants to leave this to the driver, then it should + set sizeimage to 0. + * - __u32 + - ``bytesperline`` + - Distance in bytes between the leftmost pixels in two adjacent + lines. See struct :c:type:`v4l2_pix_format`. + * - __u16 + - ``reserved[6]`` + - Reserved for future extensions. Should be zeroed by drivers and + applications. + + +.. raw:: latex + + \small + +.. tabularcolumns:: |p{4.4cm}|p{5.6cm}|p{7.3cm}| + +.. c:type:: v4l2_pix_format_mplane + +.. flat-table:: struct v4l2_pix_format_mplane + :header-rows: 0 + :stub-columns: 0 + :widths: 1 1 2 + + * - __u32 + - ``width`` + - Image width in pixels. See struct + :c:type:`v4l2_pix_format`. + * - __u32 + - ``height`` + - Image height in pixels. See struct + :c:type:`v4l2_pix_format`. + * - __u32 + - ``pixelformat`` + - The pixel format. Both single- and multi-planar four character + codes can be used. + * - __u32 + - ``field`` + - Field order, from enum :c:type:`v4l2_field`. + See struct :c:type:`v4l2_pix_format`. + * - __u32 + - ``colorspace`` + - Colorspace encoding, from enum :c:type:`v4l2_colorspace`. + See struct :c:type:`v4l2_pix_format`. + * - struct :c:type:`v4l2_plane_pix_format` + - ``plane_fmt[VIDEO_MAX_PLANES]`` + - An array of structures describing format of each plane this pixel + format consists of. The number of valid entries in this array has + to be put in the ``num_planes`` field. + * - __u8 + - ``num_planes`` + - Number of planes (i.e. separate memory buffers) for this format + and the number of valid entries in the ``plane_fmt`` array. + * - __u8 + - ``flags`` + - Flags set by the application or driver, see :ref:`format-flags`. + * - union { + - (anonymous) + * - __u8 + - ``ycbcr_enc`` + - Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`. + See struct :c:type:`v4l2_pix_format`. + * - __u8 + - ``hsv_enc`` + - HSV encoding, from enum :c:type:`v4l2_hsv_encoding`. + See struct :c:type:`v4l2_pix_format`. + * - } + - + * - __u8 + - ``quantization`` + - Quantization range, from enum :c:type:`v4l2_quantization`. + See struct :c:type:`v4l2_pix_format`. + * - __u8 + - ``xfer_func`` + - Transfer function, from enum :c:type:`v4l2_xfer_func`. + See struct :c:type:`v4l2_pix_format`. + * - __u8 + - ``reserved[7]`` + - Reserved for future extensions. Should be zeroed by drivers and + applications. + +.. raw:: latex + + \normalsize |