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/DocBook | |
| 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/DocBook')
| -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> |
