[RFCv3 PATCH 1/8] v4l2 core: add the missing pieces to support DVI/HDMI/DisplayPort.

Soby Mathew soby.linuxtv at gmail.com
Mon Aug 13 04:48:28 PDT 2012


Hi Hans,
   The patch seems to cover most of the requirement.  I find 2 gaps:

> +/*  DV-class control IDs defined by V4L2 */
> +#define V4L2_CID_DV_CLASS_BASE                 (V4L2_CTRL_CLASS_DV | 0x900)
> +#define V4L2_CID_DV_CLASS                      (V4L2_CTRL_CLASS_DV | 1)
> +
> +#define        V4L2_CID_DV_TX_HOTPLUG                  (V4L2_CID_DV_CLASS_BASE + 1)
> +#define        V4L2_CID_DV_TX_RXSENSE                  (V4L2_CID_DV_CLASS_BASE + 2)
> +#define        V4L2_CID_DV_TX_EDID_PRESENT             (V4L2_CID_DV_CLASS_BASE + 3)
> +#define        V4L2_CID_DV_TX_MODE                     (V4L2_CID_DV_CLASS_BASE + 4)
> +enum v4l2_dv_tx_mode {
> +       V4L2_DV_TX_MODE_DVI_D   = 0,
> +       V4L2_DV_TX_MODE_HDMI    = 1,
> +};


Even at the receiver side the DVI/HDMI mode need to be detected. So
probably a control for the RX mode is needed.


> +#define V4L2_CID_DV_TX_RGB_RANGE               (V4L2_CID_DV_CLASS_BASE + 5)
> +enum v4l2_dv_rgb_range {
> +       V4L2_DV_RGB_RANGE_AUTO    = 0,
> +       V4L2_DV_RGB_RANGE_LIMITED = 1,
> +       V4L2_DV_RGB_RANGE_FULL    = 2,
> +};
> +
> +#define        V4L2_CID_DV_RX_POWER_PRESENT            (V4L2_CID_DV_CLASS_BASE + 100)
> +#define V4L2_CID_DV_RX_RGB_RANGE               (V4L2_CID_DV_CLASS_BASE + 101)
> +

Similarly, some sources can support YC mode of transmission instaed of
RGB. To control the YC Quantization Range, we can define  control
V4L2_CID_DV_TX_YC_RANGE

Similar control would be needed at the Rx side also like
V4L2_CID_DV_RX_YC_RANGE.


Best Regards
Soby Mathew


More information about the dri-devel mailing list