aboutsummaryrefslogtreecommitdiff
path: root/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml
blob: 1d31427edd1b8510b01f5fdce56216c82f6f751d (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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<refentry id="vidioc-enum-dv-presets">
  <refmeta>
    <refentrytitle>ioctl VIDIOC_ENUM_DV_PRESETS</refentrytitle>
    &manvol;
  </refmeta>

  <refnamediv>
    <refname>VIDIOC_ENUM_DV_PRESETS</refname>
    <refpurpose>Enumerate supported Digital Video presets</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <funcsynopsis>
      <funcprototype>
	<funcdef>int <function>ioctl</function></funcdef>
	<paramdef>int <parameter>fd</parameter></paramdef>
	<paramdef>int <parameter>request</parameter></paramdef>
	<paramdef>struct v4l2_dv_enum_preset *<parameter>argp</parameter></paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Arguments</title>

    <variablelist>
      <varlistentry>
	<term><parameter>fd</parameter></term>
	<listitem>
	  <para>&fd;</para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><parameter>request</parameter></term>
	<listitem>
	  <para>VIDIOC_ENUM_DV_PRESETS</para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><parameter>argp</parameter></term>
	<listitem>
	  <para></para>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>To query the attributes of a DV preset, applications initialize the
<structfield>index</structfield> field and zero the reserved array of &v4l2-dv-enum-preset;
and call the <constant>VIDIOC_ENUM_DV_PRESETS</constant> ioctl with a pointer to this
structure. Drivers fill the rest of the structure or return an
&EINVAL; when the index is out of bounds. To enumerate all DV Presets supported,
applications shall begin at index zero, incrementing by one until the
driver returns <errorcode>EINVAL</errorcode>. Drivers may enumerate a
different set of DV presets after switching the video input or
output.</para>

    <table pgwide="1" frame="none" id="v4l2-dv-enum-preset">
      <title>struct <structname>v4l2_dv_enum_presets</structname></title>
      <tgroup cols="3">
	&cs-str;
	<tbody valign="top">
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>index</structfield></entry>
	    <entry>Number of the DV preset, set by the
application.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>preset</structfield></entry>
	    <entry>This field identifies one of the DV preset values listed in <xref linkend="v4l2-dv-presets-vals"/>.</entry>
	  </row>
	  <row>
	    <entry>__u8</entry>
	    <entry><structfield>name</structfield>[24]</entry>
	    <entry>Name of the preset, a NUL-terminated ASCII string, for example: "720P-60", "1080I-60". This information is
intended for the user.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>width</structfield></entry>
	    <entry>Width of the active video in pixels for the DV preset.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>height</structfield></entry>
	    <entry>Height of the active video in lines for the DV preset.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>reserved</structfield>[4]</entry>
	    <entry>Reserved for future extensions. Drivers must set the array to zero.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>

    <table pgwide="1" frame="none" id="v4l2-dv-presets-vals">
      <title>struct <structname>DV Presets</structname></title>
      <tgroup cols="3">
	&cs-str;
	<tbody valign="top">
	  <row>
	    <entry>Preset</entry>
	    <entry>Preset value</entry>
	    <entry>Description</entry>
	  </row>
	  <row>
	    <entry></entry>
	    <entry></entry>
	    <entry></entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_INVALID</entry>
	    <entry>0</entry>
	    <entry>Invalid preset value.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_480P59_94</entry>
	    <entry>1</entry>
	    <entry>720x480 progressive video at 59.94 fps as per BT.1362.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_576P50</entry>
	    <entry>2</entry>
	    <entry>720x576 progressive video at 50 fps as per BT.1362.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_720P24</entry>
	    <entry>3</entry>
	    <entry>1280x720 progressive video at 24 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_720P25</entry>
	    <entry>4</entry>
	    <entry>1280x720 progressive video at 25 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_720P30</entry>
	    <entry>5</entry>
	    <entry>1280x720 progressive video at 30 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_720P50</entry>
	    <entry>6</entry>
	    <entry>1280x720 progressive video at 50 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_720P59_94</entry>
	    <entry>7</entry>
	    <entry>1280x720 progressive video at 59.94 fps as per SMPTE 274M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_720P60</entry>
	    <entry>8</entry>
	    <entry>1280x720 progressive video at 60 fps as per SMPTE 274M/296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080I29_97</entry>
	    <entry>9</entry>
	    <entry>1920x1080 interlaced video at 29.97 fps as per BT.1120/SMPTE 274M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080I30</entry>
	    <entry>10</entry>
	    <entry>1920x1080 interlaced video at 30 fps as per BT.1120/SMPTE 274M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080I25</entry>
	    <entry>11</entry>
	    <entry>1920x1080 interlaced video at 25 fps as per BT.1120.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080I50</entry>
	    <entry>12</entry>
	    <entry>1920x1080 interlaced video at 50 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080I60</entry>
	    <entry>13</entry>
	    <entry>1920x1080 interlaced video at 60 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080P24</entry>
	    <entry>14</entry>
	    <entry>1920x1080 progressive video at 24 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080P25</entry>
	    <entry>15</entry>
	    <entry>1920x1080 progressive video at 25 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080P30</entry>
	    <entry>16</entry>
	    <entry>1920x1080 progressive video at 30 fps as per SMPTE 296M.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080P50</entry>
	    <entry>17</entry>
	    <entry>1920x1080 progressive video at 50 fps as per BT.1120.</entry>
	  </row>
	  <row>
	    <entry>V4L2_DV_1080P60</entry>
	    <entry>18</entry>
	    <entry>1920x1080 progressive video at 60 fps as per BT.1120.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </refsect1>

  <refsect1>
    &return-value;

    <variablelist>
      <varlistentry>
	<term><errorcode>EINVAL</errorcode></term>
	<listitem>
	  <para>The &v4l2-dv-enum-preset; <structfield>index</structfield>
is out of bounds.</para>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
</refentry>

<!--
Local Variables:
mode: sgml
sgml-parent-document: "v4l2.sgml"
indent-tabs-mode: nil
End:
-->