pixfmt-003.rst 3.4 KB
Newer Older
1 2 3 4 5 6
.. -*- coding: utf-8; mode: rst -*-

******************************
Multi-planar format structures
******************************

7
The struct :c:type:`v4l2_plane_pix_format` structures define size
8
and layout for each of the planes in a multi-planar format. The
9
struct :c:type:`v4l2_pix_format_mplane` structure contains
10
information common to all planes (such as image width and height) and an
11
array of struct :c:type:`v4l2_plane_pix_format` structures,
12 13 14
describing all planes of that format.


15 16
.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|

17
.. c:type:: v4l2_plane_pix_format
18

19 20 21 22 23
.. flat-table:: struct v4l2_plane_pix_format
    :header-rows:  0
    :stub-columns: 0
    :widths:       1 1 2

24 25 26 27 28 29 30 31 32 33 34
    * - __u32
      - ``sizeimage``
      - Maximum size in bytes required for image data in this plane.
    * - __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.
35 36


37
.. tabularcolumns:: |p{4.4cm}|p{5.6cm}|p{7.5cm}|
38

39
.. c:type:: v4l2_pix_format_mplane
40 41 42 43 44 45

.. flat-table:: struct v4l2_pix_format_mplane
    :header-rows:  0
    :stub-columns: 0
    :widths:       1 1 2

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
    * - __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.
    * - enum :c:type:`v4l2_field`
      - ``field``
      - See struct :c:type:`v4l2_pix_format`.
    * - enum :c:type:`v4l2_colorspace`
      - ``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`.
    * - enum :c:type:`v4l2_ycbcr_encoding`
      - ``ycbcr_enc``
      - This information supplements the ``colorspace`` and must be set by
	the driver for capture streams and by the application for output
	streams, see :ref:`colorspaces`.
81 82 83 84 85
    * - enum :c:type:`v4l2_hsv_encoding`
      - ``hsv_enc``
      - This information supplements the ``colorspace`` and must be set by
	the driver for capture streams and by the application for output
	streams, see :ref:`colorspaces`.
86 87 88 89 90 91 92 93 94 95 96 97 98 99
    * - enum :c:type:`v4l2_quantization`
      - ``quantization``
      - This information supplements the ``colorspace`` and must be set by
	the driver for capture streams and by the application for output
	streams, see :ref:`colorspaces`.
    * - enum :c:type:`v4l2_xfer_func`
      - ``xfer_func``
      - This information supplements the ``colorspace`` and must be set by
	the driver for capture streams and by the application for output
	streams, see :ref:`colorspaces`.
    * - __u8
      - ``reserved[7]``
      - Reserved for future extensions. Should be zeroed by drivers and
	applications.