← Documents Documentation/userspace-api/media/v4l/tuner.rst GitHub 원문 ↗

Linux 6.18.37 · Userspace API / Media / V4L

V4L2 튜너와 변조기

튜너·변조기 속성, RF 주파수와 필수 capability를 설명합니다.

Source pathDocumentation/userspace-api/media/v4l/tuner.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

tuner.rst:1-85

튜너·변조기 속성, RF 주파수와 필수 capability를 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
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.
86

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

RF 신호를 복조하는 튜너

1-40

비디오 입력 장치는 RF 신호를 복조하는 튜너를 하나 이상 가질 수 있습니다. RF 커넥터 수에 따라 튜너 하나가 여러 비디오 입력과 연결될 수 있으며, `VIDIOC_ENUMINPUT`이 반환한 `v4l2_input.type`은 `V4L2_INPUT_TYPE_TUNER`, `tuner` 필드는 해당 튜너 인덱스가 됩니다. 라디오 입력 장치는 비디오 입력 없이 인덱스 0인 튜너 하나만 가집니다.

`VIDIOC_G_TUNER`와 `VIDIOC_S_TUNER`는 각각 튜너 속성을 조회하고 변경합니다. 현재 비디오 또는 라디오 입력의 튜너를 조회하면 `v4l2_tuner`에 신호 상태도 포함됩니다. `VIDIOC_S_TUNER`는 여러 튜너 사이를 전환하지 않으며 현재 비디오 입력이 튜너를 결정합니다.

튜너가 하나 이상인 드라이버는 두 ioctl을 모두 지원하고 `VIDIOC_QUERYCAP`의 `v4l2_capability`에 `V4L2_CAP_TUNER`를 설정해야 합니다.

.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later

.. _tuner:

*********************
Tuners and Modulators
*********************


Tuners
======

Video input devices can have one or more tuners demodulating a RF
signal. Each tuner is associated with one or more video inputs,
depending on the number of RF connectors on the tuner. The ``type``
field of the respective struct :c:type:`v4l2_input`
returned by the :ref:`VIDIOC_ENUMINPUT` ioctl is
set to ``V4L2_INPUT_TYPE_TUNER`` and its ``tuner`` field contains the
index number of the tuner.

Radio input devices have exactly one tuner with index zero, no video
inputs.

To query and change tuner properties applications use the
:ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>` and
:ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` ioctls, respectively. The
struct :c:type:`v4l2_tuner` returned by :ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>`
also contains signal status information applicable when the tuner of the
current video or radio input is queried.

.. note::

   :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` does not switch the
   current tuner, when there is more than one. The tuner is solely
   determined by the current video input. Drivers must support both ioctls
   and set the ``V4L2_CAP_TUNER`` flag in the struct :c:type:`v4l2_capability`
   returned by the :ref:`VIDIOC_QUERYCAP` ioctl when the
   device has one or more tuners.

출력 신호를 RF로 변조하는 변조기

41-75

비디오 출력 장치는 송출하거나 TV 또는 비디오 레코더의 안테나 입력에 연결할 비디오 신호를 변조하는 변조기를 하나 이상 가질 수 있습니다. `VIDIOC_ENUMOUTPUT`이 반환한 `v4l2_output.type`은 `V4L2_OUTPUT_TYPE_MODULATOR`, `modulator` 필드는 변조기 인덱스입니다. 라디오 출력 장치는 비디오 출력 없이 인덱스 0인 변조기 하나만 가집니다.

장치 노드 하나는 튜너와 변조기를 동시에 지원할 수 없습니다. `VIDIOC_S_FREQUENCY`에서 주파수가 튜너용인지 변조기용인지 지정할 수 없기 때문이며, 양쪽 기능을 가진 하드웨어는 기능별 장치 노드 두 개를 사용해야 합니다.

`VIDIOC_G_MODULATOR`와 `VIDIOC_S_MODULATOR`는 변조기 속성을 조회하고 변경합니다. 설정 호출은 현재 변조기를 전환하지 않고 현재 비디오 출력이 변조기를 결정합니다. 드라이버는 두 호출을 모두 지원하고 `V4L2_CAP_MODULATOR`를 설정해야 합니다.

Modulators
==========

Video output devices can have one or more modulators, that modulate a
video signal for radiation or connection to the antenna input of a TV
set or video recorder. Each modulator is associated with one or more
video outputs, depending on the number of RF connectors on the
modulator. The ``type`` field of the respective struct
:c:type:`v4l2_output` returned by the
:ref:`VIDIOC_ENUMOUTPUT` ioctl is set to
``V4L2_OUTPUT_TYPE_MODULATOR`` and its ``modulator`` field contains the
index number of the modulator.

Radio output devices have exactly one modulator with index zero, no
video outputs.

A video or radio device cannot support both a tuner and a modulator. Two
separate device nodes will have to be used for such hardware, one that
supports the tuner functionality and one that supports the modulator
functionality. The reason is a limitation with the
:ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl where you
cannot specify whether the frequency is for a tuner or a modulator.

To query and change modulator properties applications use the
:ref:`VIDIOC_G_MODULATOR <VIDIOC_G_MODULATOR>` and
:ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl. Note that
:ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` does not switch the current modulator, when there
is more than one at all. The modulator is solely determined by the
current video output. Drivers must support both ioctls and set the
``V4L2_CAP_MODULATOR`` flag in the struct
:c:type:`v4l2_capability` returned by the
:ref:`VIDIOC_QUERYCAP` ioctl when the device has
one or more modulators.

튜너와 변조기의 RF 주파수

76-85

TV와 라디오 장치 모두 `VIDIOC_G_FREQUENCY`와 `VIDIOC_S_FREQUENCY`에 `v4l2_frequency` 포인터를 전달해 튜너 또는 변조기의 RF 주파수를 조회하고 설정합니다. 튜너·변조기 ioctl을 지원하거나 라디오 장치인 드라이버는 두 주파수 ioctl을 모두 구현해야 합니다.

RF 제어 관계
방향RF 기능연결 인덱스capability
입력튜너v4l2_input.tunerV4L2_CAP_TUNER
출력변조기v4l2_output.modulatorV4L2_CAP_MODULATOR

입출력 방향별 구조체와 capability를 정리합니다.

Radio Frequency
===============

To get and set the tuner or modulator radio frequency applications use
the :ref:`VIDIOC_G_FREQUENCY <VIDIOC_G_FREQUENCY>` and
:ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl which both take
a pointer to a struct :c:type:`v4l2_frequency`. These
ioctls are used for TV and radio devices alike. Drivers must support
both ioctls when the tuner or modulator ioctls are supported, or when
the device is a radio device.