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欄位中的值錯誤。