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
指向 struct
v4l2_sliced_vbi_cap
的指针。
7.40.4. 描述¶
为了找出切片 VBI 捕获或输出设备支持哪些数据服务,应用程序初始化 struct v4l2_sliced_vbi_cap
的 type
字段,清除 reserved
数组并调用 VIDIOC_G_SLICED_VBI_CAP ioctl。 如果切片 VBI API 不受支持或 type
无效,驱动程序将填充剩余字段或返回 EINVAL
错误代码。
注意
type
字段已添加,并且 ioctl 在 Linux 2.6.19 中从只读更改为写入-读取。
-
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 或 Teletext 信号,但不能同时查找两者。 应用程序可以使用 VIDIOC_S_FMT ioctl 了解这些限制,如 切片 VBI 数据接口 中所述。 |
||||
驱动程序必须将 |
||||
__u32 |
|
数据流的类型,请参见 |
||
__u32 |
|
此数组保留供将来扩展使用。 应用程序和驱动程序必须将其设置为零。 |
符号 |
值 |
参考 |
通常的行 |
有效负载 |
---|---|---|---|---|
|
0x0001 |
PAL/SECAM 行 7-22、320-335(第二个场 7-22) |
45 字节 Teletext 数据包的最后 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
字段中的值错误。