7.40. ioctl VIDIOC_G_SLICED_VBI_CAP¶
7.40.1. 名称¶
VIDIOC_G_SLICED_VBI_CAP - 查询切片 VBI 功能
7.40.2. 概要¶
-
VIDIOC_G_SLICED_VBI_CAP¶
int ioctl(int fd, VIDIOC_G_SLICED_VBI_CAP, struct v4l2_sliced_vbi_cap *argp)
7.40.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向结构体
v4l2_sliced_vbi_cap
的指针。
7.40.4. 描述¶
为了找出切片 VBI 捕获或输出设备支持哪些数据服务,应用程序需要初始化结构体 v4l2_sliced_vbi_cap
的 type
字段,清除 reserved
数组,然后调用 VIDIOC_G_SLICED_VBI_CAP ioctl。如果切片 VBI API 不支持或 type
无效,驱动程序会填充剩余字段或返回 EINVAL
错误代码。
注意
type
字段是在 Linux 2.6.19 中添加的,并且 ioctl 从只读变为可读写。
-
type v4l2_sliced_vbi_cap¶
__u16 |
|
驱动程序支持的所有数据服务的集合。 等于 |
||
__u16 |
|
此数组的每个元素都包含硬件可以在特定扫描线上查找或插入的一组数据服务。数据服务在 切片 VBI 服务 中定义。数组索引映射到 ITU-R 行号[1],如下所示 |
||
元素 |
525 行系统 |
625 行系统 |
||
|
1 |
1 |
||
|
23 |
23 |
||
|
264 |
314 |
||
|
286 |
336 |
||
硬件每帧可以捕获或输出的 VBI 行数,或者它可以在给定行上识别的服务数量可能会受到限制。例如,在 PAL 第 16 行上,硬件可能能够查找 VPS 或图文电视信号,但不能同时查找两者。应用程序可以使用 VIDIOC_S_FMT ioctl 了解这些限制,如 切片 VBI 数据接口 中所述。 |
||||
驱动程序必须将 |
||||
__u32 |
|
数据流的类型,请参阅 |
||
__u32 |
|
此数组保留以供将来扩展使用。 应用程序和驱动程序必须将其设置为零。 |
符号 |
值 |
参考 |
通常的行 |
有效载荷 |
---|---|---|---|---|
|
0x0001 |
PAL/SECAM 行 7-22, 320-335 (第二个场 7-22) |
45 字节图文电视数据包的最后 42 个字节,即没有时钟同步和帧代码,先发送 lsb。 |
|
|
0x0400 |
PAL 行 16 |
根据 ETS 300 231 的图 9 的字节号 3 到 15,先发送 lsb。 |
|
|
0x1000 |
NTSC 行 21, 284 (第二个场 21) |
按传输顺序的两个字节,包括奇偶校验位,先发送 lsb。 |
|
|
0x4000 |
PAL/SECAM 行 23 |
请参阅下面的 V4L2_SLICED_VBI_CAP WSS_625 有效载荷。 |
|
|
0x1000 |
适用于 525 行系统的服务集。 |
||
|
0x4401 |
适用于 625 行系统的服务集。 |
7.40.4.1. V4L2_SLICED_VBI_CAP WSS_625 有效载荷¶
V4L2_SLICED_WSS_625
的有效载荷为
字节
0
1
位
msb
lsb
msb
lsb
7
6
5
4
3
2
1
0
x
x
13
12
11
10
9
8
7.40.5. 返回值¶
成功时返回 0,错误时返回 -1,并且会相应地设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
type
字段中的值错误。