cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pixfmt-v4l2-mplane.rst (3894B)


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