diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2012-07-05 05:54:38 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-30 19:23:07 -0400 |
commit | 50121317c2035c017d62c8ec24f84b91ef8d4de2 (patch) | |
tree | bf5628bd8f41fff750ccd174a0ef54c7b4d310cb /Documentation | |
parent | 82b655bfc32b793344ef0ddd46df8af8b98b55c7 (diff) |
[media] v4l2 spec: add VIDIOC_ENUM_FREQ_BANDS documentation
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/media/v4l/compat.xml | 12 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/v4l2.xml | 6 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml | 179 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-g-frequency.xml | 7 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-g-tuner.xml | 26 |
5 files changed, 221 insertions, 9 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index c9c7d1ca8d67..faa0fd14666a 100644 --- a/Documentation/DocBook/media/v4l/compat.xml +++ b/Documentation/DocBook/media/v4l/compat.xml | |||
@@ -2480,6 +2480,15 @@ that used it. It was originally scheduled for removal in 2.6.35. | |||
2480 | </orderedlist> | 2480 | </orderedlist> |
2481 | </section> | 2481 | </section> |
2482 | 2482 | ||
2483 | <section> | ||
2484 | <title>V4L2 in Linux 3.6</title> | ||
2485 | <orderedlist> | ||
2486 | <listitem> | ||
2487 | <para>Added support for frequency band enumerations: &VIDIOC-ENUM-FREQ-BANDS;.</para> | ||
2488 | </listitem> | ||
2489 | </orderedlist> | ||
2490 | </section> | ||
2491 | |||
2483 | <section id="other"> | 2492 | <section id="other"> |
2484 | <title>Relation of V4L2 to other Linux multimedia APIs</title> | 2493 | <title>Relation of V4L2 to other Linux multimedia APIs</title> |
2485 | 2494 | ||
@@ -2609,6 +2618,9 @@ ioctls.</para> | |||
2609 | <para><link linkend="v4l2-auto-focus-area"><constant> | 2618 | <para><link linkend="v4l2-auto-focus-area"><constant> |
2610 | V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para> | 2619 | V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para> |
2611 | </listitem> | 2620 | </listitem> |
2621 | <listitem> | ||
2622 | <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para> | ||
2623 | </listitem> | ||
2612 | </itemizedlist> | 2624 | </itemizedlist> |
2613 | </section> | 2625 | </section> |
2614 | 2626 | ||
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml index 36bafc48e03b..eee6908c749f 100644 --- a/Documentation/DocBook/media/v4l/v4l2.xml +++ b/Documentation/DocBook/media/v4l/v4l2.xml | |||
@@ -140,6 +140,11 @@ structs, ioctls) must be noted in more detail in the history chapter | |||
140 | applications. --> | 140 | applications. --> |
141 | 141 | ||
142 | <revision> | 142 | <revision> |
143 | <revnumber>3.6</revnumber> | ||
144 | <date>2012-07-02</date> | ||
145 | <authorinitials>hv</authorinitials> | ||
146 | <revremark>Added VIDIOC_ENUM_FREQ_BANDS. | ||
147 | </revremark> | ||
143 | <revnumber>3.5</revnumber> | 148 | <revnumber>3.5</revnumber> |
144 | <date>2012-05-07</date> | 149 | <date>2012-05-07</date> |
145 | <authorinitials>sa, sn</authorinitials> | 150 | <authorinitials>sa, sn</authorinitials> |
@@ -534,6 +539,7 @@ and discussions on the V4L mailing list.</revremark> | |||
534 | &sub-enum-fmt; | 539 | &sub-enum-fmt; |
535 | &sub-enum-framesizes; | 540 | &sub-enum-framesizes; |
536 | &sub-enum-frameintervals; | 541 | &sub-enum-frameintervals; |
542 | &sub-enum-freq-bands; | ||
537 | &sub-enuminput; | 543 | &sub-enuminput; |
538 | &sub-enumoutput; | 544 | &sub-enumoutput; |
539 | &sub-enumstd; | 545 | &sub-enumstd; |
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml new file mode 100644 index 000000000000..6541ba0175ed --- /dev/null +++ b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml | |||
@@ -0,0 +1,179 @@ | |||
1 | <refentry id="vidioc-enum-freq-bands"> | ||
2 | <refmeta> | ||
3 | <refentrytitle>ioctl VIDIOC_ENUM_FREQ_BANDS</refentrytitle> | ||
4 | &manvol; | ||
5 | </refmeta> | ||
6 | |||
7 | <refnamediv> | ||
8 | <refname>VIDIOC_ENUM_FREQ_BANDS</refname> | ||
9 | <refpurpose>Enumerate supported frequency bands</refpurpose> | ||
10 | </refnamediv> | ||
11 | |||
12 | <refsynopsisdiv> | ||
13 | <funcsynopsis> | ||
14 | <funcprototype> | ||
15 | <funcdef>int <function>ioctl</function></funcdef> | ||
16 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
17 | <paramdef>int <parameter>request</parameter></paramdef> | ||
18 | <paramdef>struct v4l2_frequency_band | ||
19 | *<parameter>argp</parameter></paramdef> | ||
20 | </funcprototype> | ||
21 | </funcsynopsis> | ||
22 | </refsynopsisdiv> | ||
23 | |||
24 | <refsect1> | ||
25 | <title>Arguments</title> | ||
26 | |||
27 | <variablelist> | ||
28 | <varlistentry> | ||
29 | <term><parameter>fd</parameter></term> | ||
30 | <listitem> | ||
31 | <para>&fd;</para> | ||
32 | </listitem> | ||
33 | </varlistentry> | ||
34 | <varlistentry> | ||
35 | <term><parameter>request</parameter></term> | ||
36 | <listitem> | ||
37 | <para>VIDIOC_ENUM_FREQ_BANDS</para> | ||
38 | </listitem> | ||
39 | </varlistentry> | ||
40 | <varlistentry> | ||
41 | <term><parameter>argp</parameter></term> | ||
42 | <listitem> | ||
43 | <para></para> | ||
44 | </listitem> | ||
45 | </varlistentry> | ||
46 | </variablelist> | ||
47 | </refsect1> | ||
48 | |||
49 | <refsect1> | ||
50 | <title>Description</title> | ||
51 | |||
52 | <note> | ||
53 | <title>Experimental</title> | ||
54 | <para>This is an <link linkend="experimental"> experimental </link> | ||
55 | interface and may change in the future.</para> | ||
56 | </note> | ||
57 | |||
58 | <para>Enumerates the frequency bands that a tuner or modulator supports. | ||
59 | To do this applications initialize the <structfield>tuner</structfield>, | ||
60 | <structfield>type</structfield> and <structfield>index</structfield> fields, | ||
61 | and zero out the <structfield>reserved</structfield> array of a &v4l2-frequency-band; and | ||
62 | call the <constant>VIDIOC_ENUM_FREQ_BANDS</constant> ioctl with a pointer | ||
63 | to this structure.</para> | ||
64 | |||
65 | <para>This ioctl is supported if the <constant>V4L2_TUNER_CAP_FREQ_BANDS</constant> capability | ||
66 | of the corresponding tuner/modulator is set.</para> | ||
67 | |||
68 | <table pgwide="1" frame="none" id="v4l2-frequency-band"> | ||
69 | <title>struct <structname>v4l2_frequency_band</structname></title> | ||
70 | <tgroup cols="3"> | ||
71 | &cs-str; | ||
72 | <tbody valign="top"> | ||
73 | <row> | ||
74 | <entry>__u32</entry> | ||
75 | <entry><structfield>tuner</structfield></entry> | ||
76 | <entry>The tuner or modulator index number. This is the | ||
77 | same value as in the &v4l2-input; <structfield>tuner</structfield> | ||
78 | field and the &v4l2-tuner; <structfield>index</structfield> field, or | ||
79 | the &v4l2-output; <structfield>modulator</structfield> field and the | ||
80 | &v4l2-modulator; <structfield>index</structfield> field.</entry> | ||
81 | </row> | ||
82 | <row> | ||
83 | <entry>__u32</entry> | ||
84 | <entry><structfield>type</structfield></entry> | ||
85 | <entry>The tuner type. This is the same value as in the | ||
86 | &v4l2-tuner; <structfield>type</structfield> field. The type must be set | ||
87 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> | ||
88 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> | ||
89 | for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for | ||
90 | modulators (currently only radio modulators are supported). | ||
91 | See <xref linkend="v4l2-tuner-type" /></entry> | ||
92 | </row> | ||
93 | <row> | ||
94 | <entry>__u32</entry> | ||
95 | <entry><structfield>index</structfield></entry> | ||
96 | <entry>Identifies the frequency band, set by the application.</entry> | ||
97 | </row> | ||
98 | <row> | ||
99 | <entry>__u32</entry> | ||
100 | <entry><structfield>capability</structfield></entry> | ||
101 | <entry spanname="hspan">The tuner/modulator capability flags for | ||
102 | this frequency band, see <xref linkend="tuner-capability" />. The <constant>V4L2_TUNER_CAP_LOW</constant> | ||
103 | capability must be the same for all frequency bands of the selected tuner/modulator. | ||
104 | So either all bands have that capability set, or none of them have that capability.</entry> | ||
105 | </row> | ||
106 | <row> | ||
107 | <entry>__u32</entry> | ||
108 | <entry><structfield>rangelow</structfield></entry> | ||
109 | <entry spanname="hspan">The lowest tunable frequency in | ||
110 | units of 62.5 kHz, or if the <structfield>capability</structfield> | ||
111 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | ||
112 | Hz, for this frequency band.</entry> | ||
113 | </row> | ||
114 | <row> | ||
115 | <entry>__u32</entry> | ||
116 | <entry><structfield>rangehigh</structfield></entry> | ||
117 | <entry spanname="hspan">The highest tunable frequency in | ||
118 | units of 62.5 kHz, or if the <structfield>capability</structfield> | ||
119 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | ||
120 | Hz, for this frequency band.</entry> | ||
121 | </row> | ||
122 | <row> | ||
123 | <entry>__u32</entry> | ||
124 | <entry><structfield>modulation</structfield></entry> | ||
125 | <entry spanname="hspan">The supported modulation systems of this frequency band. | ||
126 | See <xref linkend="band-modulation" />. Note that currently only one | ||
127 | modulation system per frequency band is supported. More work will need to | ||
128 | be done if multiple modulation systems are possible. Contact the | ||
129 | linux-media mailing list (&v4l-ml;) if you need that functionality.</entry> | ||
130 | </row> | ||
131 | <row> | ||
132 | <entry>__u32</entry> | ||
133 | <entry><structfield>reserved</structfield>[9]</entry> | ||
134 | <entry>Reserved for future extensions. Applications and drivers | ||
135 | must set the array to zero.</entry> | ||
136 | </row> | ||
137 | </tbody> | ||
138 | </tgroup> | ||
139 | </table> | ||
140 | |||
141 | <table pgwide="1" frame="none" id="band-modulation"> | ||
142 | <title>Band Modulation Systems</title> | ||
143 | <tgroup cols="3"> | ||
144 | &cs-def; | ||
145 | <tbody valign="top"> | ||
146 | <row> | ||
147 | <entry><constant>V4L2_BAND_MODULATION_VSB</constant></entry> | ||
148 | <entry>0x02</entry> | ||
149 | <entry>Vestigial Sideband modulation, used for analog TV.</entry> | ||
150 | </row> | ||
151 | <row> | ||
152 | <entry><constant>V4L2_BAND_MODULATION_FM</constant></entry> | ||
153 | <entry>0x04</entry> | ||
154 | <entry>Frequency Modulation, commonly used for analog radio.</entry> | ||
155 | </row> | ||
156 | <row> | ||
157 | <entry><constant>V4L2_BAND_MODULATION_AM</constant></entry> | ||
158 | <entry>0x08</entry> | ||
159 | <entry>Amplitude Modulation, commonly used for analog radio.</entry> | ||
160 | </row> | ||
161 | </tbody> | ||
162 | </tgroup> | ||
163 | </table> | ||
164 | </refsect1> | ||
165 | |||
166 | <refsect1> | ||
167 | &return-value; | ||
168 | |||
169 | <variablelist> | ||
170 | <varlistentry> | ||
171 | <term><errorcode>EINVAL</errorcode></term> | ||
172 | <listitem> | ||
173 | <para>The <structfield>tuner</structfield> or <structfield>index</structfield> | ||
174 | is out of bounds or the <structfield>type</structfield> field is wrong.</para> | ||
175 | </listitem> | ||
176 | </varlistentry> | ||
177 | </variablelist> | ||
178 | </refsect1> | ||
179 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml index 40e58a42eb26..c7a1c462e724 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml | |||
@@ -98,11 +98,12 @@ the &v4l2-output; <structfield>modulator</structfield> field and the | |||
98 | <entry>__u32</entry> | 98 | <entry>__u32</entry> |
99 | <entry><structfield>type</structfield></entry> | 99 | <entry><structfield>type</structfield></entry> |
100 | <entry>The tuner type. This is the same value as in the | 100 | <entry>The tuner type. This is the same value as in the |
101 | &v4l2-tuner; <structfield>type</structfield> field. See The type must be set | 101 | &v4l2-tuner; <structfield>type</structfield> field. The type must be set |
102 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> | 102 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> |
103 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> | 103 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> |
104 | for all others. The field is not applicable to modulators, &ie; ignored | 104 | for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for |
105 | by drivers. See <xref linkend="v4l2-tuner-type" /></entry> | 105 | modulators (currently only radio modulators are supported). |
106 | See <xref linkend="v4l2-tuner-type" /></entry> | ||
106 | </row> | 107 | </row> |
107 | <row> | 108 | <row> |
108 | <entry>__u32</entry> | 109 | <entry>__u32</entry> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml index 95d5371c1709..720395127904 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml | |||
@@ -119,10 +119,14 @@ field is not quite clear.--></para></entry> | |||
119 | <xref linkend="tuner-capability" />. Audio flags indicate the ability | 119 | <xref linkend="tuner-capability" />. Audio flags indicate the ability |
120 | to decode audio subprograms. They will <emphasis>not</emphasis> | 120 | to decode audio subprograms. They will <emphasis>not</emphasis> |
121 | change, for example with the current video standard.</para><para>When | 121 | change, for example with the current video standard.</para><para>When |
122 | the structure refers to a radio tuner only the | 122 | the structure refers to a radio tuner the |
123 | <constant>V4L2_TUNER_CAP_LOW</constant>, | 123 | <constant>V4L2_TUNER_CAP_LANG1</constant>, |
124 | <constant>V4L2_TUNER_CAP_STEREO</constant> and | 124 | <constant>V4L2_TUNER_CAP_LANG2</constant> and |
125 | <constant>V4L2_TUNER_CAP_RDS</constant> flags can be set.</para></entry> | 125 | <constant>V4L2_TUNER_CAP_NORM</constant> flags can't be used.</para> |
126 | <para>If multiple frequency bands are supported, then | ||
127 | <structfield>capability</structfield> is the union of all | ||
128 | <structfield>capability></structfield> fields of each &v4l2-frequency-band;. | ||
129 | </para></entry> | ||
126 | </row> | 130 | </row> |
127 | <row> | 131 | <row> |
128 | <entry>__u32</entry> | 132 | <entry>__u32</entry> |
@@ -130,7 +134,9 @@ the structure refers to a radio tuner only the | |||
130 | <entry spanname="hspan">The lowest tunable frequency in | 134 | <entry spanname="hspan">The lowest tunable frequency in |
131 | units of 62.5 kHz, or if the <structfield>capability</structfield> | 135 | units of 62.5 kHz, or if the <structfield>capability</structfield> |
132 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | 136 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 |
133 | Hz.</entry> | 137 | Hz. If multiple frequency bands are supported, then |
138 | <structfield>rangelow</structfield> is the lowest frequency | ||
139 | of all the frequency bands.</entry> | ||
134 | </row> | 140 | </row> |
135 | <row> | 141 | <row> |
136 | <entry>__u32</entry> | 142 | <entry>__u32</entry> |
@@ -138,7 +144,9 @@ Hz.</entry> | |||
138 | <entry spanname="hspan">The highest tunable frequency in | 144 | <entry spanname="hspan">The highest tunable frequency in |
139 | units of 62.5 kHz, or if the <structfield>capability</structfield> | 145 | units of 62.5 kHz, or if the <structfield>capability</structfield> |
140 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | 146 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 |
141 | Hz.</entry> | 147 | Hz. If multiple frequency bands are supported, then |
148 | <structfield>rangehigh</structfield> is the highest frequency | ||
149 | of all the frequency bands.</entry> | ||
142 | </row> | 150 | </row> |
143 | <row> | 151 | <row> |
144 | <entry>__u32</entry> | 152 | <entry>__u32</entry> |
@@ -340,6 +348,12 @@ radio tuners.</entry> | |||
340 | <entry>0x0200</entry> | 348 | <entry>0x0200</entry> |
341 | <entry>The RDS data is parsed by the hardware and set via controls.</entry> | 349 | <entry>The RDS data is parsed by the hardware and set via controls.</entry> |
342 | </row> | 350 | </row> |
351 | <row> | ||
352 | <entry><constant>V4L2_TUNER_CAP_FREQ_BANDS</constant></entry> | ||
353 | <entry>0x0400</entry> | ||
354 | <entry>The &VIDIOC-ENUM-FREQ-BANDS; ioctl can be used to enumerate | ||
355 | the available frequency bands.</entry> | ||
356 | </row> | ||
343 | </tbody> | 357 | </tbody> |
344 | </tgroup> | 358 | </tgroup> |
345 | </table> | 359 | </table> |