<refentry id="vidioc-g-std"> <refmeta> <refentrytitle>ioctl VIDIOC_G_STD, VIDIOC_S_STD</refentrytitle> &manvol; </refmeta> <refnamediv> <refname>VIDIOC_G_STD</refname> <refname>VIDIOC_S_STD</refname> <refpurpose>Query or select the video standard of the current input</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcprototype> <funcdef>int <function>ioctl</function></funcdef> <paramdef>int <parameter>fd</parameter></paramdef> <paramdef>int <parameter>request</parameter></paramdef> <paramdef>v4l2_std_id *<parameter>argp</parameter></paramdef> </funcprototype> </funcsynopsis> <funcsynopsis> <funcprototype> <funcdef>int <function>ioctl</function></funcdef> <paramdef>int <parameter>fd</parameter></paramdef> <paramdef>int <parameter>request</parameter></paramdef> <paramdef>const v4l2_std_id *<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_G_STD, VIDIOC_S_STD</para> </listitem> </varlistentry> <varlistentry> <term><parameter>argp</parameter></term> <listitem> <para></para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Description</title> <para>To query and select the current video standard applications use the <constant>VIDIOC_G_STD</constant> and <constant>VIDIOC_S_STD</constant> ioctls which take a pointer to a &v4l2-std-id; type as argument. <constant>VIDIOC_G_STD</constant> can return a single flag or a set of flags as in &v4l2-standard; field <structfield>id</structfield>. The flags must be unambiguous such that they appear in only one enumerated <structname>v4l2_standard</structname> structure.</para> <para><constant>VIDIOC_S_STD</constant> accepts one or more flags, being a write-only ioctl it does not return the actual new standard as <constant>VIDIOC_G_STD</constant> does. When no flags are given or the current input does not support the requested standard the driver returns an &EINVAL;. When the standard set is ambiguous drivers may return <errorcode>EINVAL</errorcode> or choose any of the requested standards. If the current input or output does not support standard video timings (e.g. if &VIDIOC-ENUMINPUT; does not set the <constant>V4L2_IN_CAP_STD</constant> flag), then &ENODATA; is returned.</para> </refsect1> <refsect1> &return-value; <variablelist> <varlistentry> <term><errorcode>EINVAL</errorcode></term> <listitem> <para>The <constant>VIDIOC_S_STD</constant> parameter was unsuitable.</para> </listitem> </varlistentry> <varlistentry> <term><errorcode>ENODATA</errorcode></term> <listitem> <para>Standard video timings are not supported for this input or output.</para> </listitem> </varlistentry> </variablelist> </refsect1> </refentry>