mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-07 08:48:05 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
308
Documentation/DocBook/media/v4l/vidioc-enuminput.xml
Normal file
308
Documentation/DocBook/media/v4l/vidioc-enuminput.xml
Normal file
|
@ -0,0 +1,308 @@
|
|||
<refentry id="vidioc-enuminput">
|
||||
<refmeta>
|
||||
<refentrytitle>ioctl VIDIOC_ENUMINPUT</refentrytitle>
|
||||
&manvol;
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>VIDIOC_ENUMINPUT</refname>
|
||||
<refpurpose>Enumerate video inputs</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_input
|
||||
*<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_ENUMINPUT</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>argp</parameter></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>To query the attributes of a video input applications
|
||||
initialize the <structfield>index</structfield> field of &v4l2-input;
|
||||
and call the <constant>VIDIOC_ENUMINPUT</constant> ioctl with a
|
||||
pointer to this structure. Drivers fill the rest of the structure or
|
||||
return an &EINVAL; when the index is out of bounds. To enumerate all
|
||||
inputs applications shall begin at index zero, incrementing by one
|
||||
until the driver returns <errorcode>EINVAL</errorcode>.</para>
|
||||
|
||||
<table frame="none" pgwide="1" id="v4l2-input">
|
||||
<title>struct <structname>v4l2_input</structname></title>
|
||||
<tgroup cols="3">
|
||||
&cs-str;
|
||||
<tbody valign="top">
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>index</structfield></entry>
|
||||
<entry>Identifies the input, set by the
|
||||
application.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u8</entry>
|
||||
<entry><structfield>name</structfield>[32]</entry>
|
||||
<entry>Name of the video input, a NUL-terminated ASCII
|
||||
string, for example: "Vin (Composite 2)". This information is intended
|
||||
for the user, preferably the connector label on the device itself.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>type</structfield></entry>
|
||||
<entry>Type of the input, see <xref
|
||||
linkend="input-type" />.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>audioset</structfield></entry>
|
||||
<entry><para>Drivers can enumerate up to 32 video and
|
||||
audio inputs. This field shows which audio inputs were selectable as
|
||||
audio source if this was the currently selected video input. It is a
|
||||
bit mask. The LSB corresponds to audio input 0, the MSB to input 31.
|
||||
Any number of bits can be set, or none.</para><para>When the driver
|
||||
does not enumerate audio inputs no bits must be set. Applications
|
||||
shall not interpret this as lack of audio support. Some drivers
|
||||
automatically select audio sources and do not enumerate them since
|
||||
there is no choice anyway.</para><para>For details on audio inputs and
|
||||
how to select the current input see <xref
|
||||
linkend="audio" />.</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>tuner</structfield></entry>
|
||||
<entry>Capture devices can have zero or more tuners (RF
|
||||
demodulators). When the <structfield>type</structfield> is set to
|
||||
<constant>V4L2_INPUT_TYPE_TUNER</constant> this is an RF connector and
|
||||
this field identifies the tuner. It corresponds to
|
||||
&v4l2-tuner; field <structfield>index</structfield>. For details on
|
||||
tuners see <xref linkend="tuner" />.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>&v4l2-std-id;</entry>
|
||||
<entry><structfield>std</structfield></entry>
|
||||
<entry>Every video input supports one or more different
|
||||
video standards. This field is a set of all supported standards. For
|
||||
details on video standards and how to switch see <xref
|
||||
linkend="standard" />.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>status</structfield></entry>
|
||||
<entry>This field provides status information about the
|
||||
input. See <xref linkend="input-status" /> for flags.
|
||||
With the exception of the sensor orientation bits <structfield>status</structfield> is only valid when this is the
|
||||
current input.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>capabilities</structfield></entry>
|
||||
<entry>This field provides capabilities for the
|
||||
input. See <xref linkend="input-capabilities" /> for flags.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>__u32</entry>
|
||||
<entry><structfield>reserved</structfield>[3]</entry>
|
||||
<entry>Reserved for future extensions. Drivers must set
|
||||
the array to zero.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<table frame="none" pgwide="1" id="input-type">
|
||||
<title>Input Types</title>
|
||||
<tgroup cols="3">
|
||||
&cs-def;
|
||||
<tbody valign="top">
|
||||
<row>
|
||||
<entry><constant>V4L2_INPUT_TYPE_TUNER</constant></entry>
|
||||
<entry>1</entry>
|
||||
<entry>This input uses a tuner (RF demodulator).</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_INPUT_TYPE_CAMERA</constant></entry>
|
||||
<entry>2</entry>
|
||||
<entry>Analog baseband input, for example CVBS /
|
||||
Composite Video, S-Video, RGB.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<!-- Status flags based on proposal by Mark McClelland,
|
||||
video4linux-list@redhat.com on 18 Oct 2002, subject "Re: [V4L] Re:
|
||||
v4l2 api". "Why are some of them inverted? So that the driver doesn't
|
||||
have to lie about the status in cases where it can't tell one way or
|
||||
the other. Plus, a status of zero would generally mean that everything
|
||||
is OK." -->
|
||||
|
||||
<table frame="none" pgwide="1" id="input-status">
|
||||
<title>Input Status Flags</title>
|
||||
<tgroup cols="3">
|
||||
<colspec colname="c1" />
|
||||
<colspec colname="c2" align="center" />
|
||||
<colspec colname="c3" />
|
||||
<spanspec namest="c1" nameend="c3" spanname="hspan"
|
||||
align="left" />
|
||||
<tbody valign="top">
|
||||
<row>
|
||||
<entry spanname="hspan">General</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_POWER</constant></entry>
|
||||
<entry>0x00000001</entry>
|
||||
<entry>Attached device is off.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_SIGNAL</constant></entry>
|
||||
<entry>0x00000002</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_COLOR</constant></entry>
|
||||
<entry>0x00000004</entry>
|
||||
<entry>The hardware supports color decoding, but does not
|
||||
detect color modulation in the signal.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="hspan">Sensor Orientation</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_HFLIP</constant></entry>
|
||||
<entry>0x00000010</entry>
|
||||
<entry>The input is connected to a device that produces a signal
|
||||
that is flipped horizontally and does not correct this before passing the
|
||||
signal to userspace.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_VFLIP</constant></entry>
|
||||
<entry>0x00000020</entry>
|
||||
<entry>The input is connected to a device that produces a signal
|
||||
that is flipped vertically and does not correct this before passing the
|
||||
signal to userspace. Note that a 180 degree rotation is the same as HFLIP | VFLIP</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="hspan">Analog Video</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_H_LOCK</constant></entry>
|
||||
<entry>0x00000100</entry>
|
||||
<entry>No horizontal sync lock.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_COLOR_KILL</constant></entry>
|
||||
<entry>0x00000200</entry>
|
||||
<entry>A color killer circuit automatically disables color
|
||||
decoding when it detects no color modulation. When this flag is set
|
||||
the color killer is enabled <emphasis>and</emphasis> has shut off
|
||||
color decoding.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="hspan">Digital Video</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_SYNC</constant></entry>
|
||||
<entry>0x00010000</entry>
|
||||
<entry>No synchronization lock.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_EQU</constant></entry>
|
||||
<entry>0x00020000</entry>
|
||||
<entry>No equalizer lock.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_CARRIER</constant></entry>
|
||||
<entry>0x00040000</entry>
|
||||
<entry>Carrier recovery failed.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="hspan">VCR and Set-Top Box</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_MACROVISION</constant></entry>
|
||||
<entry>0x01000000</entry>
|
||||
<entry>Macrovision is an analog copy prevention system
|
||||
mangling the video signal to confuse video recorders. When this
|
||||
flag is set Macrovision has been detected.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_NO_ACCESS</constant></entry>
|
||||
<entry>0x02000000</entry>
|
||||
<entry>Conditional access denied.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_ST_VTR</constant></entry>
|
||||
<entry>0x04000000</entry>
|
||||
<entry>VTR time constant. [?]</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<!-- Capability flags based on video timings RFC by Muralidharan
|
||||
Karicheri, titled RFC (v1.2): V4L - Support for video timings at the
|
||||
input/output interface to linux-media@vger.kernel.org on 19 Oct 2009.
|
||||
-->
|
||||
<table frame="none" pgwide="1" id="input-capabilities">
|
||||
<title>Input capabilities</title>
|
||||
<tgroup cols="3">
|
||||
&cs-def;
|
||||
<tbody valign="top">
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_CAP_DV_TIMINGS</constant></entry>
|
||||
<entry>0x00000002</entry>
|
||||
<entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_IN_CAP_STD</constant></entry>
|
||||
<entry>0x00000004</entry>
|
||||
<entry>This input supports setting the TV standard by using VIDIOC_S_STD.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
&return-value;
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><errorcode>EINVAL</errorcode></term>
|
||||
<listitem>
|
||||
<para>The &v4l2-input; <structfield>index</structfield> is
|
||||
out of bounds.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
</refentry>
|
Loading…
Add table
Add a link
Reference in a new issue