Based on kernel version 4.7.2. Page generated on 2016-08-22 22:45 EST.
1 <refentry id="vidioc-enum-dv-timings"> 2 <refmeta> 3 <refentrytitle>ioctl VIDIOC_ENUM_DV_TIMINGS, VIDIOC_SUBDEV_ENUM_DV_TIMINGS</refentrytitle> 4 &manvol; 5 </refmeta> 6 7 <refnamediv> 8 <refname>VIDIOC_ENUM_DV_TIMINGS</refname> 9 <refname>VIDIOC_SUBDEV_ENUM_DV_TIMINGS</refname> 10 <refpurpose>Enumerate supported Digital Video timings</refpurpose> 11 </refnamediv> 12 13 <refsynopsisdiv> 14 <funcsynopsis> 15 <funcprototype> 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> 20 </funcprototype> 21 </funcsynopsis> 22 </refsynopsisdiv> 23 24 <refsect1> 25 <title>Arguments</title> 26 27 <variablelist> 28 <varlistentry> 29 <term><parameter>fd</parameter></term> 30 <listitem> 31 <para>&fd;</para> 32 </listitem> 33 </varlistentry> 34 <varlistentry> 35 <term><parameter>request</parameter></term> 36 <listitem> 37 <para>VIDIOC_ENUM_DV_TIMINGS, VIDIOC_SUBDEV_ENUM_DV_TIMINGS</para> 38 </listitem> 39 </varlistentry> 40 <varlistentry> 41 <term><parameter>argp</parameter></term> 42 <listitem> 43 <para></para> 44 </listitem> 45 </varlistentry> 46 </variablelist> 47 </refsect1> 48 49 <refsect1> 50 <title>Description</title> 51 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> 56 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 66 output.</para> 67 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> 74 75 <table pgwide="1" frame="none" id="v4l2-enum-dv-timings"> 76 <title>struct <structname>v4l2_enum_dv_timings</structname></title> 77 <tgroup cols="3"> 78 &cs-str; 79 <tbody valign="top"> 80 <row> 81 <entry>__u32</entry> 82 <entry><structfield>index</structfield></entry> 83 <entry>Number of the DV timings, set by the 84 application.</entry> 85 </row> 86 <row> 87 <entry>__u32</entry> 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> 92 </row> 93 <row> 94 <entry>__u32</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> 98 </row> 99 <row> 100 <entry>&v4l2-dv-timings;</entry> 101 <entry><structfield>timings</structfield></entry> 102 <entry>The timings.</entry> 103 </row> 104 </tbody> 105 </tgroup> 106 </table> 107 </refsect1> 108 109 <refsect1> 110 &return-value; 111 112 <variablelist> 113 <varlistentry> 114 <term><errorcode>EINVAL</errorcode></term> 115 <listitem> 116 <para>The &v4l2-enum-dv-timings; <structfield>index</structfield> 117 is out of bounds or the <structfield>pad</structfield> number is invalid.</para> 118 </listitem> 119 </varlistentry> 120 <varlistentry> 121 <term><errorcode>ENODATA</errorcode></term> 122 <listitem> 123 <para>Digital video presets are not supported for this input or output.</para> 124 </listitem> 125 </varlistentry> 126 </variablelist> 127 </refsect1> 128 </refentry>