1 <refentry id=
"vidioc-enum-dv-timings">
3 <refentrytitle>ioctl VIDIOC_ENUM_DV_TIMINGS, VIDIOC_SUBDEV_ENUM_DV_TIMINGS
</refentrytitle>
8 <refname>VIDIOC_ENUM_DV_TIMINGS
</refname>
9 <refname>VIDIOC_SUBDEV_ENUM_DV_TIMINGS
</refname>
10 <refpurpose>Enumerate supported Digital Video timings
</refpurpose>
16 <funcdef>int
<function>ioctl
</function></funcdef>
17 <paramdef>int
<parameter>fd
</parameter></paramdef>
18 <paramdef>int
<parameter>request
</parameter></paramdef>
19 <paramdef>struct v4l2_enum_dv_timings *
<parameter>argp
</parameter></paramdef>
25 <title>Arguments
</title>
29 <term><parameter>fd
</parameter></term>
35 <term><parameter>request
</parameter></term>
37 <para>VIDIOC_ENUM_DV_TIMINGS, VIDIOC_SUBDEV_ENUM_DV_TIMINGS
</para>
41 <term><parameter>argp
</parameter></term>
50 <title>Description
</title>
52 <para>While some DV receivers or transmitters support a wide range of timings, others
53 support only a limited number of timings. With this ioctl applications can enumerate a list
54 of known supported timings. Call &VIDIOC-DV-TIMINGS-CAP; to check if it also supports other
55 standards or even custom timings that are not in this list.
</para>
57 <para>To query the available timings, applications initialize the
58 <structfield>index
</structfield> field, set the
<structfield>pad
</structfield> field to
0,
59 zero the reserved array of &v4l2-enum-dv-timings; and call the
60 <constant>VIDIOC_ENUM_DV_TIMINGS
</constant> ioctl on a video node with a
61 pointer to this structure. Drivers fill the rest of the structure or return an
62 &EINVAL; when the index is out of bounds. To enumerate all supported DV timings,
63 applications shall begin at index zero, incrementing by one until the
64 driver returns
<errorcode>EINVAL
</errorcode>. Note that drivers may enumerate a
65 different set of DV timings after switching the video input or
68 <para>When implemented by the driver DV timings of subdevices can be queried
69 by calling the
<constant>VIDIOC_SUBDEV_ENUM_DV_TIMINGS
</constant> ioctl directly
70 on a subdevice node. The DV timings are specific to inputs (for DV receivers) or
71 outputs (for DV transmitters), applications must specify the desired pad number
72 in the &v4l2-enum-dv-timings;
<structfield>pad
</structfield> field. Attempts to
73 enumerate timings on a pad that doesn't support them will return an
&EINVAL;.
</para>
75 <table pgwide=
"1" frame=
"none" id=
"v4l2-enum-dv-timings">
76 <title>struct
<structname>v4l2_enum_dv_timings
</structname></title>
82 <entry><structfield>index
</structfield></entry>
83 <entry>Number of the DV timings, set by the
88 <entry><structfield>pad
</structfield></entry>
89 <entry>Pad number as reported by the media controller API. This field
90 is only used when operating on a subdevice node. When operating on a
91 video node applications must set this field to zero.
</entry>
95 <entry><structfield>reserved
</structfield>[
2]
</entry>
96 <entry>Reserved for future extensions. Drivers and applications must
97 set the array to zero.
</entry>
100 <entry>&v4l2-dv-timings;
</entry>
101 <entry><structfield>timings
</structfield></entry>
102 <entry>The timings.
</entry>
114 <term><errorcode>EINVAL
</errorcode></term>
116 <para>The &v4l2-enum-dv-timings;
<structfield>index
</structfield>
117 is out of bounds or the
<structfield>pad
</structfield> number is invalid.
</para>
121 <term><errorcode>ENODATA
</errorcode></term>
123 <para>Digital video presets are not supported for this input or output.
</para>