summaryrefslogtreecommitdiffstats
path: root/Documentation/media/uapi/v4l/pixfmt-003.rst
blob: b214b818baa741bbca4506ca84401f68c6ac442b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
.. -*- coding: utf-8; mode: rst -*-

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

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


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

.. c:type:: v4l2_plane_pix_format

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


    -  .. row 1

       -  __u32

       -  ``sizeimage``

       -  Maximum size in bytes required for image data in this plane.

    -  .. row 2

       -  __u32

       -  ``bytesperline``

       -  Distance in bytes between the leftmost pixels in two adjacent
	  lines. See struct :c:type:`v4l2_pix_format`.

    -  .. row 3

       -  __u16

       -  ``reserved[6]``

       -  Reserved for future extensions. Should be zeroed by drivers and
	  applications.


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

.. c:type:: v4l2_pix_format_mplane

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


    -  .. row 1

       -  __u32

       -  ``width``

       -  Image width in pixels. See struct
	  :c:type:`v4l2_pix_format`.

    -  .. row 2

       -  __u32

       -  ``height``

       -  Image height in pixels. See struct
	  :c:type:`v4l2_pix_format`.

    -  .. row 3

       -  __u32

       -  ``pixelformat``

       -  The pixel format. Both single- and multi-planar four character
	  codes can be used.

    -  .. row 4

       -  enum :ref:`v4l2_field <v4l2-field>`

       -  ``field``

       -  See struct :c:type:`v4l2_pix_format`.

    -  .. row 5

       -  enum :ref:`v4l2_colorspace <v4l2-colorspace>`

       -  ``colorspace``

       -  See struct :c:type:`v4l2_pix_format`.

    -  .. row 6

       -  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.

    -  .. row 7

       -  __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.

    -  .. row 8

       -  __u8

       -  ``flags``

       -  Flags set by the application or driver, see :ref:`format-flags`.

    -  .. row 9

       -  enum :ref:`v4l2_ycbcr_encoding <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`.

    -  .. row 10

       -  enum :ref:`v4l2_quantization <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`.

    -  .. row 11

       -  enum :ref:`v4l2_xfer_func <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`.

    -  .. row 12

       -  __u8

       -  ``reserved[7]``

       -  Reserved for future extensions. Should be zeroed by drivers and
	  applications.