mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-08 01:08:03 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
204
Documentation/DocBook/media/v4l/vidioc-g-fmt.xml
Normal file
204
Documentation/DocBook/media/v4l/vidioc-g-fmt.xml
Normal file
|
@ -0,0 +1,204 @@
|
|||
<refentry id="vidioc-g-fmt">
|
||||
<refmeta>
|
||||
<refentrytitle>ioctl VIDIOC_G_FMT, VIDIOC_S_FMT,
|
||||
VIDIOC_TRY_FMT</refentrytitle>
|
||||
&manvol;
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>VIDIOC_G_FMT</refname>
|
||||
<refname>VIDIOC_S_FMT</refname>
|
||||
<refname>VIDIOC_TRY_FMT</refname>
|
||||
<refpurpose>Get or set the data format, try a format</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_format
|
||||
*<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_FMT, VIDIOC_S_FMT, VIDIOC_TRY_FMT</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>argp</parameter></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>These ioctls are used to negotiate the format of data
|
||||
(typically image format) exchanged between driver and
|
||||
application.</para>
|
||||
|
||||
<para>To query the current parameters applications set the
|
||||
<structfield>type</structfield> field of a struct
|
||||
<structname>v4l2_format</structname> to the respective buffer (stream)
|
||||
type. For example video capture devices use
|
||||
<constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant> or
|
||||
<constant>V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE</constant>. When the application
|
||||
calls the <constant>VIDIOC_G_FMT</constant> ioctl with a pointer to
|
||||
this structure the driver fills the respective member of the
|
||||
<structfield>fmt</structfield> union. In case of video capture devices
|
||||
that is either the &v4l2-pix-format; <structfield>pix</structfield> or
|
||||
the &v4l2-pix-format-mplane; <structfield>pix_mp</structfield> member.
|
||||
When the requested buffer type is not supported drivers return an
|
||||
&EINVAL;.</para>
|
||||
|
||||
<para>To change the current format parameters applications
|
||||
initialize the <structfield>type</structfield> field and all
|
||||
fields of the respective <structfield>fmt</structfield>
|
||||
union member. For details see the documentation of the various devices
|
||||
types in <xref linkend="devices" />. Good practice is to query the
|
||||
current parameters first, and to
|
||||
modify only those parameters not suitable for the application. When
|
||||
the application calls the <constant>VIDIOC_S_FMT</constant> ioctl
|
||||
with a pointer to a <structname>v4l2_format</structname> structure
|
||||
the driver checks
|
||||
and adjusts the parameters against hardware abilities. Drivers
|
||||
should not return an error code unless the <structfield>type</structfield> field is invalid, this is
|
||||
a mechanism to fathom device capabilities and to approach parameters
|
||||
acceptable for both the application and driver. On success the driver
|
||||
may program the hardware, allocate resources and generally prepare for
|
||||
data exchange.
|
||||
Finally the <constant>VIDIOC_S_FMT</constant> ioctl returns the
|
||||
current format parameters as <constant>VIDIOC_G_FMT</constant> does.
|
||||
Very simple, inflexible devices may even ignore all input and always
|
||||
return the default parameters. However all V4L2 devices exchanging
|
||||
data with the application must implement the
|
||||
<constant>VIDIOC_G_FMT</constant> and
|
||||
<constant>VIDIOC_S_FMT</constant> ioctl. When the requested buffer
|
||||
type is not supported drivers return an &EINVAL; on a
|
||||
<constant>VIDIOC_S_FMT</constant> attempt. When I/O is already in
|
||||
progress or the resource is not available for other reasons drivers
|
||||
return the &EBUSY;.</para>
|
||||
|
||||
<para>The <constant>VIDIOC_TRY_FMT</constant> ioctl is equivalent
|
||||
to <constant>VIDIOC_S_FMT</constant> with one exception: it does not
|
||||
change driver state. It can also be called at any time, never
|
||||
returning <errorcode>EBUSY</errorcode>. This function is provided to
|
||||
negotiate parameters, to learn about hardware limitations, without
|
||||
disabling I/O or possibly time consuming hardware preparations.
|
||||
Although strongly recommended drivers are not required to implement
|
||||
this ioctl.</para>
|
||||
|
||||
<para>The format as returned by <constant>VIDIOC_TRY_FMT</constant>
|
||||
must be identical to what <constant>VIDIOC_S_FMT</constant> returns for
|
||||
the same input or output.</para>
|
||||
|
||||
<table pgwide="1" frame="none" id="v4l2-format">
|
||||
<title>struct <structname>v4l2_format</structname></title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="c1" />
|
||||
<colspec colname="c2" />
|
||||
<colspec colname="c3" />
|
||||
<colspec colname="c4" />
|
||||
<tbody valign="top">
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>type</structfield></entry>
|
||||
<entry></entry>
|
||||
<entry>Type of the data stream, see <xref
|
||||
linkend="v4l2-buf-type" />.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>union</entry>
|
||||
<entry><structfield>fmt</structfield></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>&v4l2-pix-format;</entry>
|
||||
<entry><structfield>pix</structfield></entry>
|
||||
<entry>Definition of an image format, see <xref
|
||||
linkend="pixfmt" />, used by video capture and output
|
||||
devices.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>&v4l2-pix-format-mplane;</entry>
|
||||
<entry><structfield>pix_mp</structfield></entry>
|
||||
<entry>Definition of an image format, see <xref
|
||||
linkend="pixfmt" />, used by video capture and output
|
||||
devices that support the <link linkend="planar-apis">multi-planar
|
||||
version of the API</link>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>&v4l2-window;</entry>
|
||||
<entry><structfield>win</structfield></entry>
|
||||
<entry>Definition of an overlaid image, see <xref
|
||||
linkend="overlay" />, used by video overlay devices.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>&v4l2-vbi-format;</entry>
|
||||
<entry><structfield>vbi</structfield></entry>
|
||||
<entry>Raw VBI capture or output parameters. This is
|
||||
discussed in more detail in <xref linkend="raw-vbi" />. Used by raw VBI
|
||||
capture and output devices.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>&v4l2-sliced-vbi-format;</entry>
|
||||
<entry><structfield>sliced</structfield></entry>
|
||||
<entry>Sliced VBI capture or output parameters. See
|
||||
<xref linkend="sliced" /> for details. Used by sliced VBI
|
||||
capture and output devices.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>&v4l2-sdr-format;</entry>
|
||||
<entry><structfield>sdr</structfield></entry>
|
||||
<entry>Definition of a data format, see
|
||||
<xref linkend="pixfmt" />, used by SDR capture devices.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry>__u8</entry>
|
||||
<entry><structfield>raw_data</structfield>[200]</entry>
|
||||
<entry>Place holder for future extensions.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
&return-value;
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><errorcode>EINVAL</errorcode></term>
|
||||
<listitem>
|
||||
<para>The &v4l2-format; <structfield>type</structfield>
|
||||
field is invalid or the requested buffer type not supported.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
</refentry>
|
Loading…
Add table
Add a link
Reference in a new issue