~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/tuner.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 
  3 .. _tuner:
  4 
  5 *********************
  6 Tuners and Modulators
  7 *********************
  8 
  9 
 10 Tuners
 11 ======
 12 
 13 Video input devices can have one or more tuners demodulating a RF
 14 signal. Each tuner is associated with one or more video inputs,
 15 depending on the number of RF connectors on the tuner. The ``type``
 16 field of the respective struct :c:type:`v4l2_input`
 17 returned by the :ref:`VIDIOC_ENUMINPUT` ioctl is
 18 set to ``V4L2_INPUT_TYPE_TUNER`` and its ``tuner`` field contains the
 19 index number of the tuner.
 20 
 21 Radio input devices have exactly one tuner with index zero, no video
 22 inputs.
 23 
 24 To query and change tuner properties applications use the
 25 :ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>` and
 26 :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` ioctls, respectively. The
 27 struct :c:type:`v4l2_tuner` returned by :ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>`
 28 also contains signal status information applicable when the tuner of the
 29 current video or radio input is queried.
 30 
 31 .. note::
 32 
 33    :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` does not switch the
 34    current tuner, when there is more than one. The tuner is solely
 35    determined by the current video input. Drivers must support both ioctls
 36    and set the ``V4L2_CAP_TUNER`` flag in the struct :c:type:`v4l2_capability`
 37    returned by the :ref:`VIDIOC_QUERYCAP` ioctl when the
 38    device has one or more tuners.
 39 
 40 
 41 Modulators
 42 ==========
 43 
 44 Video output devices can have one or more modulators, that modulate a
 45 video signal for radiation or connection to the antenna input of a TV
 46 set or video recorder. Each modulator is associated with one or more
 47 video outputs, depending on the number of RF connectors on the
 48 modulator. The ``type`` field of the respective struct
 49 :c:type:`v4l2_output` returned by the
 50 :ref:`VIDIOC_ENUMOUTPUT` ioctl is set to
 51 ``V4L2_OUTPUT_TYPE_MODULATOR`` and its ``modulator`` field contains the
 52 index number of the modulator.
 53 
 54 Radio output devices have exactly one modulator with index zero, no
 55 video outputs.
 56 
 57 A video or radio device cannot support both a tuner and a modulator. Two
 58 separate device nodes will have to be used for such hardware, one that
 59 supports the tuner functionality and one that supports the modulator
 60 functionality. The reason is a limitation with the
 61 :ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl where you
 62 cannot specify whether the frequency is for a tuner or a modulator.
 63 
 64 To query and change modulator properties applications use the
 65 :ref:`VIDIOC_G_MODULATOR <VIDIOC_G_MODULATOR>` and
 66 :ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl. Note that
 67 :ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` does not switch the current modulator, when there
 68 is more than one at all. The modulator is solely determined by the
 69 current video output. Drivers must support both ioctls and set the
 70 ``V4L2_CAP_MODULATOR`` flag in the struct
 71 :c:type:`v4l2_capability` returned by the
 72 :ref:`VIDIOC_QUERYCAP` ioctl when the device has
 73 one or more modulators.
 74 
 75 
 76 Radio Frequency
 77 ===============
 78 
 79 To get and set the tuner or modulator radio frequency applications use
 80 the :ref:`VIDIOC_G_FREQUENCY <VIDIOC_G_FREQUENCY>` and
 81 :ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl which both take
 82 a pointer to a struct :c:type:`v4l2_frequency`. These
 83 ioctls are used for TV and radio devices alike. Drivers must support
 84 both ioctls when the tuner or modulator ioctls are supported, or when
 85 the device is a radio device.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php