7.9. ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP

7.9.1. 名称

VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - 数字视频接收器/发射器的功能

7.9.2. 概要

VIDIOC_DV_TIMINGS_CAP

int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)

VIDIOC_SUBDEV_DV_TIMINGS_CAP

int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)

7.9.3. 参数

fd

open() 返回的文件描述符。

argp

指向 struct v4l2_dv_timings_cap 的指针。

7.9.4. 描述

要查询 DV 接收器/发射器的功能,应用程序将 pad 字段初始化为 0,将 struct v4l2_dv_timings_cap 的保留数组归零,并在视频节点上调用 VIDIOC_DV_TIMINGS_CAP ioctl,驱动程序将填充该结构。

注意

在切换视频输入或输出后,驱动程序可能会返回不同的值。

当驱动程序实现时,可以通过直接在子设备节点上调用 VIDIOC_SUBDEV_DV_TIMINGS_CAP ioctl 来查询子设备的 DV 功能。 这些功能特定于输入(对于 DV 接收器)或输出(对于 DV 发射器),应用程序必须在 struct v4l2_dv_timings_cap pad 字段中指定所需的 pad 编号,并将 reserved 数组归零。 尝试查询不支持功能的 pad 将返回 EINVAL 错误代码。

type v4l2_bt_timings_cap
struct v4l2_bt_timings_cap

__u32

min_width

活动视频的最小宽度(以像素为单位)。

__u32

max_width

活动视频的最大宽度(以像素为单位)。

__u32

min_height

活动视频的最小高度(以行为单位)。

__u32

max_height

活动视频的最大高度(以行为单位)。

__u64

min_pixelclock

最小像素时钟频率(以 Hz 为单位)。

__u64

max_pixelclock

最大像素时钟频率(以 Hz 为单位)。

__u32

standards

硬件支持的视频标准。 有关标准列表,请参阅 DV BT 时序标准

__u32

capabilities

一些标志,提供有关功能的更多信息。 有关标志的说明,请参阅 DV BT 时序功能

__u32

reserved[16]

保留供将来扩展使用。 驱动程序必须将数组设置为零。

type v4l2_dv_timings_cap
struct v4l2_dv_timings_cap

__u32

type

DV 时序的类型,如 DV 时序类型 中列出的。

__u32

pad

媒体控制器 API 报告的 Pad 编号。 此字段仅在对子设备节点进行操作时使用。 在视频节点上操作时,应用程序必须将此字段设置为零。

__u32

reserved[2]

保留供将来扩展使用。

驱动程序和应用程序必须将数组设置为零。

union {

(匿名)

struct v4l2_bt_timings_cap

bt

硬件的 BT.656/1120 时序功能。

__u32

raw_data[32]

}

DV BT 时序功能

Flag

描述

V4L2_DV_BT_CAP_INTERLACED

支持隔行扫描格式。

V4L2_DV_BT_CAP_PROGRESSIVE

支持逐行扫描格式。

V4L2_DV_BT_CAP_REDUCED_BLANKING

CVT/GTF 特定:时序可以使用减少消隐 (CVT) 或“辅助 GTF”曲线 (GTF)。

V4L2_DV_BT_CAP_CUSTOM

可以支持非标准时序,即不属于 standards 字段中设置的标准的时序。

7.9.5. 返回值

成功时返回 0,出错时返回 -1,并适当设置 errno 变量。 泛型错误代码在 泛型错误代码 章节中描述。