160 lines · plain
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later2 3.. _dv-controls:4 5*******************************6Digital Video Control Reference7*******************************8 9The Digital Video control class is intended to control receivers and10transmitters for `VGA <http://en.wikipedia.org/wiki/Vga>`__,11`DVI <http://en.wikipedia.org/wiki/Digital_Visual_Interface>`__12(Digital Visual Interface), HDMI (:ref:`hdmi`) and DisplayPort13(:ref:`dp`). These controls are generally expected to be private to14the receiver or transmitter subdevice that implements them, so they are15only exposed on the ``/dev/v4l-subdev*`` device node.16 17.. note::18 19 Note that these devices can have multiple input or output pads which are20 hooked up to e.g. HDMI connectors. Even though the subdevice will21 receive or transmit video from/to only one of those pads, the other pads22 can still be active when it comes to EDID (Extended Display23 Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital24 Content Protection System, :ref:`hdcp`) processing, allowing the25 device to do the fairly slow EDID/HDCP handling in advance. This allows26 for quick switching between connectors.27 28These pads appear in several of the controls in this section as29bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad301, etc. The maximum value of the control is the set of valid pads.31 32 33.. _dv-control-id:34 35Digital Video Control IDs36=========================37 38``V4L2_CID_DV_CLASS (class)``39 The Digital Video class descriptor.40 41``V4L2_CID_DV_TX_HOTPLUG (bitmask)``42 Many connectors have a hotplug pin which is high if EDID information43 is available from the source. This control shows the state of the44 hotplug pin as seen by the transmitter. Each bit corresponds to an45 output pad on the transmitter. If an output pad does not have an46 associated hotplug pin, then the bit for that pad will be 0. This47 read-only control is applicable to DVI-D, HDMI and DisplayPort48 connectors.49 50``V4L2_CID_DV_TX_RXSENSE (bitmask)``51 Rx Sense is the detection of pull-ups on the TMDS clock lines. This52 normally means that the sink has left/entered standby (i.e. the53 transmitter can sense that the receiver is ready to receive video).54 Each bit corresponds to an output pad on the transmitter. If an55 output pad does not have an associated Rx Sense, then the bit for56 that pad will be 0. This read-only control is applicable to DVI-D57 and HDMI devices.58 59``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)``60 When the transmitter sees the hotplug signal from the receiver it61 will attempt to read the EDID. If set, then the transmitter has read62 at least the first block (= 128 bytes). Each bit corresponds to an63 output pad on the transmitter. If an output pad does not support64 EDIDs, then the bit for that pad will be 0. This read-only control65 is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.66 67``V4L2_CID_DV_TX_MODE``68 (enum)69 70enum v4l2_dv_tx_mode -71 HDMI transmitters can transmit in DVI-D mode (just video) or in HDMI72 mode (video + audio + auxiliary data). This control selects which73 mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.74 This control is applicable to HDMI connectors.75 76``V4L2_CID_DV_TX_RGB_RANGE``77 (enum)78 79enum v4l2_dv_rgb_range -80 Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO81 follows the RGB quantization range specified in the standard for the82 video interface (ie. :ref:`cea861` for HDMI).83 V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the84 standard to be compatible with sinks that have not implemented the85 standard correctly (unfortunately quite common for HDMI and DVI-D).86 Full range allows all possible values to be used whereas limited87 range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is88 the number of bits per component. This control is applicable to VGA,89 DVI-A/D, HDMI and DisplayPort connectors.90 91``V4L2_CID_DV_TX_IT_CONTENT_TYPE``92 (enum)93 94enum v4l2_dv_it_content_type -95 Configures the IT Content Type of the transmitted video. This96 information is sent over HDMI and DisplayPort connectors as part of97 the AVI InfoFrame. The term 'IT Content' is used for content that98 originates from a computer as opposed to content from a TV broadcast99 or an analog source. The enum v4l2_dv_it_content_type defines100 the possible content types:101 102.. tabularcolumns:: |p{7.3cm}|p{10.2cm}|103 104.. flat-table::105 :header-rows: 0106 :stub-columns: 0107 108 * - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS``109 - Graphics content. Pixel data should be passed unfiltered and110 without analog reconstruction.111 * - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO``112 - Photo content. The content is derived from digital still pictures.113 The content should be passed through with minimal scaling and114 picture enhancements.115 * - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA``116 - Cinema content.117 * - ``V4L2_DV_IT_CONTENT_TYPE_GAME``118 - Game content. Audio and video latency should be minimized.119 * - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC``120 - No IT Content information is available and the ITC bit in the AVI121 InfoFrame is set to 0.122 123 124 125``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)``126 Detects whether the receiver receives power from the source (e.g.127 HDMI carries 5V on one of the pins). This is often used to power an128 eeprom which contains EDID information, such that the source can129 read the EDID even if the sink is in standby/power off. Each bit130 corresponds to an input pad on the receiver. If an input pad131 cannot detect whether power is present, then the bit for that pad132 will be 0. This read-only control is applicable to DVI-D, HDMI and133 DisplayPort connectors.134 135``V4L2_CID_DV_RX_RGB_RANGE``136 (enum)137 138enum v4l2_dv_rgb_range -139 Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO140 follows the RGB quantization range specified in the standard for the141 video interface (ie. :ref:`cea861` for HDMI).142 V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the143 standard to be compatible with sources that have not implemented the144 standard correctly (unfortunately quite common for HDMI and DVI-D).145 Full range allows all possible values to be used whereas limited146 range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is147 the number of bits per component. This control is applicable to VGA,148 DVI-A/D, HDMI and DisplayPort connectors.149 150``V4L2_CID_DV_RX_IT_CONTENT_TYPE``151 (enum)152 153enum v4l2_dv_it_content_type -154 Reads the IT Content Type of the received video. This information is155 sent over HDMI and DisplayPort connectors as part of the AVI156 InfoFrame. The term 'IT Content' is used for content that originates157 from a computer as opposed to content from a TV broadcast or an158 analog source. See ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` for the159 available content types.160