요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. _dv-controls:
*******************************
Digital Video Control Reference
*******************************
The Digital Video control class is intended to control receivers and
transmitters for `VGA <http://en.wikipedia.org/wiki/Vga>`__,
`DVI <http://en.wikipedia.org/wiki/Digital_Visual_Interface>`__
(Digital Visual Interface), HDMI (:ref:`hdmi`) and DisplayPort
(:ref:`dp`). These controls are generally expected to be private to
the receiver or transmitter subdevice that implements them, so they are
only exposed on the ``/dev/v4l-subdev*`` device node.
.. note::
Note that these devices can have multiple input or output pads which are
hooked up to e.g. HDMI connectors. Even though the subdevice will
receive or transmit video from/to only one of those pads, the other pads
can still be active when it comes to EDID (Extended Display
Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital
Content Protection System, :ref:`hdcp`) processing, allowing the
device to do the fairly slow EDID/HDCP handling in advance. This allows
for quick switching between connectors.
These pads appear in several of the controls in this section as
bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad
1, etc. The maximum value of the control is the set of valid pads.
.. _dv-control-id:
Digital Video Control IDs
=========================
``V4L2_CID_DV_CLASS (class)``
The Digital Video class descriptor.
``V4L2_CID_DV_TX_HOTPLUG (bitmask)``
Many connectors have a hotplug pin which is high if EDID information
is available from the source. This control shows the state of the
hotplug pin as seen by the transmitter. Each bit corresponds to an
output pad on the transmitter. If an output pad does not have an
associated hotplug pin, then the bit for that pad will be 0. This
read-only control is applicable to DVI-D, HDMI and DisplayPort
connectors.
``V4L2_CID_DV_TX_RXSENSE (bitmask)``
Rx Sense is the detection of pull-ups on the TMDS clock lines. This
normally means that the sink has left/entered standby (i.e. the
transmitter can sense that the receiver is ready to receive video).
Each bit corresponds to an output pad on the transmitter. If an
output pad does not have an associated Rx Sense, then the bit for
that pad will be 0. This read-only control is applicable to DVI-D
and HDMI devices.
``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)``
When the transmitter sees the hotplug signal from the receiver it
will attempt to read the EDID. If set, then the transmitter has read
at least the first block (= 128 bytes). Each bit corresponds to an
output pad on the transmitter. If an output pad does not support
EDIDs, then the bit for that pad will be 0. This read-only control
is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
``V4L2_CID_DV_TX_MODE``
(enum)
enum v4l2_dv_tx_mode -
HDMI transmitters can transmit in DVI-D mode (just video) or in HDMI
mode (video + audio + auxiliary data). This control selects which
mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.
This control is applicable to HDMI connectors.
``V4L2_CID_DV_TX_RGB_RANGE``
(enum)
enum v4l2_dv_rgb_range -
Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO
follows the RGB quantization range specified in the standard for the
video interface (ie. :ref:`cea861` for HDMI).
V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the
standard to be compatible with sinks that have not implemented the
standard correctly (unfortunately quite common for HDMI and DVI-D).
Full range allows all possible values to be used whereas limited
range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is
the number of bits per component. This control is applicable to VGA,
DVI-A/D, HDMI and DisplayPort connectors.
``V4L2_CID_DV_TX_IT_CONTENT_TYPE``
(enum)
enum v4l2_dv_it_content_type -
Configures the IT Content Type of the transmitted video. This
information is sent over HDMI and DisplayPort connectors as part of
the AVI InfoFrame. The term 'IT Content' is used for content that
originates from a computer as opposed to content from a TV broadcast
or an analog source. The enum v4l2_dv_it_content_type defines
the possible content types:
.. tabularcolumns:: |p{7.3cm}|p{10.2cm}|
.. flat-table::
:header-rows: 0
:stub-columns: 0
* - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS``
- Graphics content. Pixel data should be passed unfiltered and
without analog reconstruction.
* - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO``
- Photo content. The content is derived from digital still pictures.
The content should be passed through with minimal scaling and
picture enhancements.
* - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA``
- Cinema content.
* - ``V4L2_DV_IT_CONTENT_TYPE_GAME``
- Game content. Audio and video latency should be minimized.
* - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC``
- No IT Content information is available and the ITC bit in the AVI
InfoFrame is set to 0.
``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)``
Detects whether the receiver receives power from the source (e.g.
HDMI carries 5V on one of the pins). This is often used to power an
eeprom which contains EDID information, such that the source can
read the EDID even if the sink is in standby/power off. Each bit
corresponds to an input pad on the receiver. If an input pad
cannot detect whether power is present, then the bit for that pad
will be 0. This read-only control is applicable to DVI-D, HDMI and
DisplayPort connectors.
``V4L2_CID_DV_RX_RGB_RANGE``
(enum)
enum v4l2_dv_rgb_range -
Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO
follows the RGB quantization range specified in the standard for the
video interface (ie. :ref:`cea861` for HDMI).
V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the
standard to be compatible with sources that have not implemented the
standard correctly (unfortunately quite common for HDMI and DVI-D).
Full range allows all possible values to be used whereas limited
range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is
the number of bits per component. This control is applicable to VGA,
DVI-A/D, HDMI and DisplayPort connectors.
``V4L2_CID_DV_RX_IT_CONTENT_TYPE``
(enum)
enum v4l2_dv_it_content_type -
Reads the IT Content Type of the received video. This information is
sent over HDMI and DisplayPort connectors as part of the AVI
InfoFrame. The term 'IT Content' is used for content that originates
from a computer as opposed to content from a TV broadcast or an
analog source. See ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` for the
available content types.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DV receiver·transmitter와 pad bitmask
1-37Digital Video 제어 클래스는 VGA, DVI, HDMI, DisplayPort receiver와 transmitter를 제어합니다. 보통 해당 기능을 구현한 subdevice에 private하게 속하므로 `/dev/v4l-subdev*` node에서 노출됩니다.
한 subdevice에 여러 input/output pad와 connector가 연결될 수 있습니다. 현재 video를 송수신하지 않는 pad도 EDID와 HDCP 처리를 미리 진행할 수 있어 connector 전환 시간을 줄입니다.
이 문서의 여러 bitmask control은 pad마다 한 비트를 사용합니다. Bit 0은 pad 0, bit 1은 pad 1이며 control maximum은 유효한 pad bit의 집합입니다.
비활성 connector도 EDID/HDCP 작업을 병행해 전환 지연을 줄입니다.
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. _dv-controls:
*******************************
Digital Video Control Reference
*******************************
The Digital Video control class is intended to control receivers and
transmitters for `VGA <http://en.wikipedia.org/wiki/Vga>`__,
`DVI <http://en.wikipedia.org/wiki/Digital_Visual_Interface>`__
(Digital Visual Interface), HDMI (:ref:`hdmi`) and DisplayPort
(:ref:`dp`). These controls are generally expected to be private to
the receiver or transmitter subdevice that implements them, so they are
only exposed on the ``/dev/v4l-subdev*`` device node.
.. note::
Note that these devices can have multiple input or output pads which are
hooked up to e.g. HDMI connectors. Even though the subdevice will
receive or transmit video from/to only one of those pads, the other pads
can still be active when it comes to EDID (Extended Display
Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital
Content Protection System, :ref:`hdcp`) processing, allowing the
device to do the fairly slow EDID/HDCP handling in advance. This allows
for quick switching between connectors.
These pads appear in several of the controls in this section as
bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad
1, etc. The maximum value of the control is the set of valid pads.
.. _dv-control-id:
Digital Video Control IDs
=========================
Digital-video transmitter 제어
38-124`V4L2_CID_DV_CLASS`는 Digital Video class descriptor입니다. TX hotplug, Rx Sense, EDID-present는 transmitter output pad별 read-only bitmask입니다.
지원하지 않는 신호 또는 기능의 pad bit는 0입니다.
`V4L2_CID_DV_TX_MODE`는 HDMI connector를 video-only DVI-D mode로 쓸지, video·audio·auxiliary data를 보내는 HDMI mode로 쓸지 선택합니다.
`V4L2_CID_DV_TX_RGB_RANGE`는 RGB output quantization을 AUTO, LIMITED, FULL 중에서 선택합니다. AUTO는 interface 표준을 따르고 LIMITED/FULL은 표준을 잘못 구현한 sink와 호환하기 위한 override입니다. N-bit limited range는 `(16 << (N-8))`부터 `(235 << (N-8))`까지입니다.
Transmitter가 connector로 내보낼 signal format을 선택합니다.
`V4L2_CID_DV_TX_IT_CONTENT_TYPE`은 HDMI/DisplayPort AVI InfoFrame의 IT Content Type을 구성합니다. Computer-origin content를 graphics, photo, cinema, game으로 분류하며 NO_ITC는 정보가 없어 AVI InfoFrame ITC bit를 0으로 둡니다.
Sink가 scaling, enhancement와 latency 정책을 선택하는 hint입니다.
``V4L2_CID_DV_CLASS (class)``
The Digital Video class descriptor.
``V4L2_CID_DV_TX_HOTPLUG (bitmask)``
Many connectors have a hotplug pin which is high if EDID information
is available from the source. This control shows the state of the
hotplug pin as seen by the transmitter. Each bit corresponds to an
output pad on the transmitter. If an output pad does not have an
associated hotplug pin, then the bit for that pad will be 0. This
read-only control is applicable to DVI-D, HDMI and DisplayPort
connectors.
``V4L2_CID_DV_TX_RXSENSE (bitmask)``
Rx Sense is the detection of pull-ups on the TMDS clock lines. This
normally means that the sink has left/entered standby (i.e. the
transmitter can sense that the receiver is ready to receive video).
Each bit corresponds to an output pad on the transmitter. If an
output pad does not have an associated Rx Sense, then the bit for
that pad will be 0. This read-only control is applicable to DVI-D
and HDMI devices.
``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)``
When the transmitter sees the hotplug signal from the receiver it
will attempt to read the EDID. If set, then the transmitter has read
at least the first block (= 128 bytes). Each bit corresponds to an
output pad on the transmitter. If an output pad does not support
EDIDs, then the bit for that pad will be 0. This read-only control
is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
``V4L2_CID_DV_TX_MODE``
(enum)
enum v4l2_dv_tx_mode -
HDMI transmitters can transmit in DVI-D mode (just video) or in HDMI
mode (video + audio + auxiliary data). This control selects which
mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.
This control is applicable to HDMI connectors.
``V4L2_CID_DV_TX_RGB_RANGE``
(enum)
enum v4l2_dv_rgb_range -
Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO
follows the RGB quantization range specified in the standard for the
video interface (ie. :ref:`cea861` for HDMI).
V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the
standard to be compatible with sinks that have not implemented the
standard correctly (unfortunately quite common for HDMI and DVI-D).
Full range allows all possible values to be used whereas limited
range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is
the number of bits per component. This control is applicable to VGA,
DVI-A/D, HDMI and DisplayPort connectors.
``V4L2_CID_DV_TX_IT_CONTENT_TYPE``
(enum)
enum v4l2_dv_it_content_type -
Configures the IT Content Type of the transmitted video. This
information is sent over HDMI and DisplayPort connectors as part of
the AVI InfoFrame. The term 'IT Content' is used for content that
originates from a computer as opposed to content from a TV broadcast
or an analog source. The enum v4l2_dv_it_content_type defines
the possible content types:
.. tabularcolumns:: |p{7.3cm}|p{10.2cm}|
.. flat-table::
:header-rows: 0
:stub-columns: 0
* - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS``
- Graphics content. Pixel data should be passed unfiltered and
without analog reconstruction.
* - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO``
- Photo content. The content is derived from digital still pictures.
The content should be passed through with minimal scaling and
picture enhancements.
* - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA``
- Cinema content.
* - ``V4L2_DV_IT_CONTENT_TYPE_GAME``
- Game content. Audio and video latency should be minimized.
* - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC``
- No IT Content information is available and the ITC bit in the AVI
InfoFrame is set to 0.
Digital-video receiver 제어
125-159`V4L2_CID_DV_RX_POWER_PRESENT`는 source가 receiver input pad에 전원을 공급하는지 나타내는 read-only bitmask입니다. 예를 들어 HDMI 5 V는 sink가 standby 또는 power-off 상태여도 EDID EEPROM을 구동할 수 있게 합니다.
`V4L2_CID_DV_RX_RGB_RANGE`는 RGB input을 AUTO, LIMITED, FULL로 해석합니다. AUTO는 interface 표준을 따르고 override 값은 표준을 잘못 구현한 source와 호환할 때 사용합니다. Limited range 계산은 transmitter와 같은 N-bit 공식을 사용합니다.
`V4L2_CID_DV_RX_IT_CONTENT_TYPE`은 수신한 HDMI/DisplayPort AVI InfoFrame의 IT Content Type을 읽습니다. 사용 가능한 값과 의미는 transmitter 제어와 같습니다.
Receiver input pad의 전원과 수신 metadata를 읽거나 해석합니다.
``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)``
Detects whether the receiver receives power from the source (e.g.
HDMI carries 5V on one of the pins). This is often used to power an
eeprom which contains EDID information, such that the source can
read the EDID even if the sink is in standby/power off. Each bit
corresponds to an input pad on the receiver. If an input pad
cannot detect whether power is present, then the bit for that pad
will be 0. This read-only control is applicable to DVI-D, HDMI and
DisplayPort connectors.
``V4L2_CID_DV_RX_RGB_RANGE``
(enum)
enum v4l2_dv_rgb_range -
Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO
follows the RGB quantization range specified in the standard for the
video interface (ie. :ref:`cea861` for HDMI).
V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the
standard to be compatible with sources that have not implemented the
standard correctly (unfortunately quite common for HDMI and DVI-D).
Full range allows all possible values to be used whereas limited
range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is
the number of bits per component. This control is applicable to VGA,
DVI-A/D, HDMI and DisplayPort connectors.
``V4L2_CID_DV_RX_IT_CONTENT_TYPE``
(enum)
enum v4l2_dv_it_content_type -
Reads the IT Content Type of the received video. This information is
sent over HDMI and DisplayPort connectors as part of the AVI
InfoFrame. The term 'IT Content' is used for content that originates
from a computer as opposed to content from a TV broadcast or an
analog source. See ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` for the
available content types.
요약·해설
ext-ctrls-dv.rst:1-159Digital Video control은 subdevice의 여러 connector pad를 bitmask로 나타내고 hotplug, Rx Sense, EDID와 source power를 추적합니다. RGB quantization override와 AVI InfoFrame IT Content Type은 표준을 따르되 상호운용 문제를 보정할 수 있습니다.