]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - Documentation/DocBook/media/v4l/vidioc-g-selection.xml
doc-rst: Remove the media docbook
[mirror_ubuntu-zesty-kernel.git] / Documentation / DocBook / media / v4l / vidioc-g-selection.xml
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml
deleted file mode 100644 (file)
index 997f4e9..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-<refentry id="vidioc-g-selection">
-
-  <refmeta>
-    <refentrytitle>ioctl VIDIOC_G_SELECTION, VIDIOC_S_SELECTION</refentrytitle>
-    &manvol;
-  </refmeta>
-
-  <refnamediv>
-    <refname>VIDIOC_G_SELECTION</refname>
-    <refname>VIDIOC_S_SELECTION</refname>
-    <refpurpose>Get or set one of the selection rectangles</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_selection *<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_SELECTION, VIDIOC_S_SELECTION</para>
-       </listitem>
-      </varlistentry>
-      <varlistentry>
-       <term><parameter>argp</parameter></term>
-       <listitem>
-         <para></para>
-       </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsect1>
-
-  <refsect1>
-    <title>Description</title>
-
-    <para>The ioctls are used to query and configure selection rectangles.</para>
-
-<para>To query the cropping (composing) rectangle set &v4l2-selection;
-<structfield> type </structfield> field to the respective buffer type.
-Do not use the multiplanar buffer types.  Use <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>
-instead of <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE</constant> and use
-<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant> instead of
-<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant>.  The next step is
-setting the value of &v4l2-selection; <structfield>target</structfield> field
-to <constant>V4L2_SEL_TGT_CROP</constant> (<constant>V4L2_SEL_TGT_COMPOSE</constant>).
-Please refer to table <xref linkend="v4l2-selections-common" /> or <xref linkend="selection-api" />
-for additional targets.  The <structfield>flags</structfield> and <structfield>reserved
-</structfield> fields of &v4l2-selection; are ignored and they must be filled
-with zeros.  The driver fills the rest of the structure or
-returns &EINVAL; if incorrect buffer type or target was used. If cropping
-(composing) is not supported then the active rectangle is not mutable and it is
-always equal to the bounds rectangle.  Finally, the &v4l2-rect;
-<structfield>r</structfield> rectangle is filled with the current cropping
-(composing) coordinates. The coordinates are expressed in driver-dependent
-units. The only exception are rectangles for images in raw formats, whose
-coordinates are always expressed in pixels.</para>
-
-<para>To change the cropping (composing) rectangle set the &v4l2-selection;
-<structfield>type</structfield> field to the respective buffer type.  Do not
-use multiplanar buffers.  Use <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>
-instead of <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE</constant>.  Use
-<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant> instead of
-<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant>.  The next step is
-setting the value of &v4l2-selection; <structfield>target</structfield> to
-<constant>V4L2_SEL_TGT_CROP</constant> (<constant>V4L2_SEL_TGT_COMPOSE</constant>).
-Please refer to table <xref linkend="v4l2-selections-common" /> or <xref linkend="selection-api" />
-for additional targets.  The &v4l2-rect; <structfield>r</structfield> rectangle need to be
-set to the desired active area. Field &v4l2-selection; <structfield> reserved
-</structfield> is ignored and must be filled with zeros.  The driver may adjust
-coordinates of the requested rectangle. An application may
-introduce constraints to control rounding behaviour. The &v4l2-selection;
-<structfield>flags</structfield> field must be set to one of the following:
-
-<itemizedlist>
-  <listitem>
-<para><constant>0</constant> - The driver can adjust the rectangle size freely
-and shall choose a crop/compose rectangle as close as possible to the requested
-one.</para>
-  </listitem>
-  <listitem>
-<para><constant>V4L2_SEL_FLAG_GE</constant> - The driver is not allowed to
-shrink the rectangle.  The original rectangle must lay inside the adjusted
-one.</para>
-  </listitem>
-  <listitem>
-<para><constant>V4L2_SEL_FLAG_LE</constant> - The driver is not allowed to
-enlarge the rectangle.  The adjusted rectangle must lay inside the original
-one.</para>
-  </listitem>
-  <listitem>
-<para><constant>V4L2_SEL_FLAG_GE | V4L2_SEL_FLAG_LE</constant> - The driver
-must choose the size exactly the same as in the requested rectangle.</para>
-  </listitem>
-</itemizedlist>
-
-Please refer to <xref linkend="sel-const-adjust" />.
-
-</para>
-
-<para> The driver may have to adjusts the requested dimensions against hardware
-limits and other parts as the pipeline, i.e. the bounds given by the
-capture/output window or TV display. The closest possible values of horizontal
-and vertical offset and sizes are chosen according to following priority:
-
-<orderedlist>
-  <listitem>
-    <para>Satisfy constraints from &v4l2-selection; <structfield>flags</structfield>.</para>
-  </listitem>
-  <listitem>
-    <para>Adjust width, height, left, and top to hardware limits and alignments.</para>
-  </listitem>
-  <listitem>
-    <para>Keep center of adjusted rectangle as close as possible to the original one.</para>
-  </listitem>
-  <listitem>
-    <para>Keep width and height as close as possible to original ones.</para>
-  </listitem>
-  <listitem>
-    <para>Keep horizontal and vertical offset as close as possible to original ones.</para>
-  </listitem>
-</orderedlist>
-
-On success the &v4l2-rect; <structfield>r</structfield> field contains
-the adjusted rectangle. When the parameters are unsuitable the application may
-modify the cropping (composing) or image parameters and repeat the cycle until
-satisfactory parameters have been negotiated. If constraints flags have to be
-violated at then ERANGE is returned. The error indicates that <emphasis>there
-exist no rectangle</emphasis> that satisfies the constraints.</para>
-
-  <para>Selection targets and flags are documented in <xref
-  linkend="v4l2-selections-common"/>.</para>
-
-    <para>
-      <figure id="sel-const-adjust">
-       <title>Size adjustments with constraint flags.</title>
-       <mediaobject>
-         <imageobject>
-           <imagedata fileref="constraints.png" format="PNG" />
-         </imageobject>
-         <textobject>
-           <phrase>Behaviour of rectangle adjustment for different constraint
-            flags.</phrase>
-         </textobject>
-       </mediaobject>
-      </figure>
-    </para>
-
-  <para>
-    <table pgwide="1" frame="none" id="v4l2-selection">
-      <title>struct <structname>v4l2_selection</structname></title>
-      <tgroup cols="3">
-       &cs-str;
-       <tbody valign="top">
-         <row>
-           <entry>__u32</entry>
-           <entry><structfield>type</structfield></entry>
-           <entry>Type of the buffer (from &v4l2-buf-type;).</entry>
-         </row>
-         <row>
-           <entry>__u32</entry>
-           <entry><structfield>target</structfield></entry>
-            <entry>Used to select between <link linkend="v4l2-selections-common"> cropping
-           and composing rectangles</link>.</entry>
-         </row>
-         <row>
-           <entry>__u32</entry>
-           <entry><structfield>flags</structfield></entry>
-            <entry>Flags controlling the selection rectangle adjustments, refer to
-           <link linkend="v4l2-selection-flags">selection flags</link>.</entry>
-         </row>
-         <row>
-           <entry>&v4l2-rect;</entry>
-           <entry><structfield>r</structfield></entry>
-           <entry>The selection rectangle.</entry>
-         </row>
-         <row>
-           <entry>__u32</entry>
-           <entry><structfield>reserved[9]</structfield></entry>
-           <entry>Reserved fields for future use. Drivers and applications must zero this array.</entry>
-         </row>
-       </tbody>
-      </tgroup>
-    </table>
-  </para>
-  </refsect1>
-
-  <refsect1>
-    &return-value;
-    <variablelist>
-      <varlistentry>
-       <term><errorcode>EINVAL</errorcode></term>
-       <listitem>
-         <para>Given buffer type <structfield>type</structfield> or
-the selection target <structfield>target</structfield> is not supported,
-or the <structfield>flags</structfield> argument is not valid.</para>
-       </listitem>
-      </varlistentry>
-      <varlistentry>
-       <term><errorcode>ERANGE</errorcode></term>
-       <listitem>
-         <para>It is not possible to adjust &v4l2-rect; <structfield>
-r</structfield> rectangle to satisfy all constraints given in the
-<structfield>flags</structfield> argument.</para>
-       </listitem>
-      </varlistentry>
-      <varlistentry>
-       <term><errorcode>EBUSY</errorcode></term>
-       <listitem>
-         <para>It is not possible to apply change of the selection rectangle
-at the moment. Usually because streaming is in progress.</para>
-       </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsect1>
-
-</refentry>