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_captype 字段,清除 reserved 数组,然后调用 VIDIOC_G_SLICED_VBI_CAP ioctl。如果切片 VBI API 不支持或 type 无效,驱动程序会填充剩余字段或返回 EINVAL 错误代码。

注意

type 字段是在 Linux 2.6.19 中添加的,并且 ioctl 从只读变为可读写。

type v4l2_sliced_vbi_cap
结构体 v4l2_sliced_vbi_cap

__u16

service_set

驱动程序支持的所有数据服务的集合。

等于 service_lines 数组的所有元素的并集。

__u16

service_lines[2][24]

此数组的每个元素都包含硬件可以在特定扫描线上查找或插入的一组数据服务。数据服务在 切片 VBI 服务 中定义。数组索引映射到 ITU-R 行号[1],如下所示

元素

525 行系统

625 行系统

service_lines[0][1]

1

1

service_lines[0][23]

23

23

service_lines[1][1]

264

314

service_lines[1][23]

286

336

硬件每帧可以捕获或输出的 VBI 行数,或者它可以在给定行上识别的服务数量可能会受到限制。例如,在 PAL 第 16 行上,硬件可能能够查找 VPS 或图文电视信号,但不能同时查找两者。应用程序可以使用 VIDIOC_S_FMT ioctl 了解这些限制,如 切片 VBI 数据接口 中所述。

驱动程序必须将 service_lines [0][0] 和 service_lines[1][0] 设置为零。

__u32

type

数据流的类型,请参阅 v4l2_buf_type。应为 V4L2_BUF_TYPE_SLICED_VBI_CAPTUREV4L2_BUF_TYPE_SLICED_VBI_OUTPUT

__u32

reserved[3]

此数组保留以供将来扩展使用。

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

切片 VBI 服务

符号

参考

通常的行

有效载荷

V4L2_SLICED_TELETEXT_B (图文电视系统 B)

0x0001

ETS 300 706,

ITU BT.653

PAL/SECAM 行 7-22, 320-335 (第二个场 7-22)

45 字节图文电视数据包的最后 42 个字节,即没有时钟同步和帧代码,先发送 lsb。

V4L2_SLICED_VPS

0x0400

ETS 300 231

PAL 行 16

根据 ETS 300 231 的图 9 的字节号 3 到 15,先发送 lsb。

V4L2_SLICED_CAPTION_525

0x1000

CEA 608-E

NTSC 行 21, 284 (第二个场 21)

按传输顺序的两个字节,包括奇偶校验位,先发送 lsb。

V4L2_SLICED_WSS_625

0x4000

EN 300 294,

ITU BT.1119

PAL/SECAM 行 23

请参阅下面的 V4L2_SLICED_VBI_CAP WSS_625 有效载荷

V4L2_SLICED_VBI_525

0x1000

适用于 525 行系统的服务集。

V4L2_SLICED_VBI_625

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 字段中的值错误。