<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>

    <note>
      <title>Experimental</title>
      <para>This is an <link linkend="experimental"> experimental </link>
      interface and may change in the future.</para>
    </note>

    <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 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> field
to <constant> V4L2_SEL_TGT_CROP_ACTIVE </constant> (<constant>
V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>).  Please refer to table <xref
linkend="v4l2-sel-target" /> 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_ACTIVE</constant> (<constant>
V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref
linkend="v4l2-sel-target" /> 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>

  </refsect1>

  <refsect1>
    <table frame="none" pgwide="1" id="v4l2-sel-target">
      <title>Selection targets.</title>
      <tgroup cols="3">
	&cs-def;
	<tbody valign="top">
	  <row>
            <entry><constant>V4L2_SEL_TGT_CROP_ACTIVE</constant></entry>
            <entry>0x0000</entry>
            <entry>The area that is currently cropped by hardware.</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_TGT_CROP_DEFAULT</constant></entry>
            <entry>0x0001</entry>
            <entry>Suggested cropping rectangle that covers the "whole picture".</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_TGT_CROP_BOUNDS</constant></entry>
            <entry>0x0002</entry>
            <entry>Limits for the cropping rectangle.</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_TGT_COMPOSE_ACTIVE</constant></entry>
            <entry>0x0100</entry>
            <entry>The area to which data is composed by hardware.</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_TGT_COMPOSE_DEFAULT</constant></entry>
            <entry>0x0101</entry>
            <entry>Suggested composing rectangle that covers the "whole picture".</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_TGT_COMPOSE_BOUNDS</constant></entry>
            <entry>0x0102</entry>
            <entry>Limits for the composing rectangle.</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_TGT_COMPOSE_PADDED</constant></entry>
            <entry>0x0103</entry>
            <entry>The active area and all padding pixels that are inserted or modified by hardware.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </refsect1>

  <refsect1>
    <table frame="none" pgwide="1" id="v4l2-sel-flags">
      <title>Selection constraint flags</title>
      <tgroup cols="3">
	&cs-def;
	<tbody valign="top">
	  <row>
            <entry><constant>V4L2_SEL_FLAG_GE</constant></entry>
            <entry>0x00000001</entry>
            <entry>Indicates that the adjusted rectangle must contain the original
	    &v4l2-selection; <structfield>r</structfield> rectangle.</entry>
	  </row>
	  <row>
            <entry><constant>V4L2_SEL_FLAG_LE</constant></entry>
            <entry>0x00000002</entry>
            <entry>Indicates that the adjusted rectangle must be inside the original
	    &v4l2-rect; <structfield>r</structfield> rectangle.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </refsect1>

    <section>
      <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>
    </section>

  <refsect1>
    <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-sel-target"> 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-sel-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.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </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 contraints 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>
