[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