ioctl VIDIOC_G_SLICED_VBI_CAP
&manvol;
VIDIOC_G_SLICED_VBI_CAP
Query sliced VBI capabilities
int ioctl
int fd
int request
struct v4l2_sliced_vbi_cap *argp
Arguments
fd
&fd;
request
VIDIOC_G_SLICED_VBI_CAP
argp
Description
To find out which data services are supported by a sliced
VBI capture or output device, applications initialize the
type field of a &v4l2-sliced-vbi-cap;,
clear the reserved array and
call the VIDIOC_G_SLICED_VBI_CAP ioctl. The
driver fills in the remaining fields or returns an &EINVAL; if the
sliced VBI API is unsupported or type
is invalid.
Note the type field was added,
and the ioctl changed from read-only to write-read, in Linux 2.6.19.
struct v4l2_sliced_vbi_cap
__u16
service_set
A set of all data services
supported by the driver. Equal to the union of all elements of the
service_lines array.
__u16
service_lines[2][24]
Each element of this array
contains a set of data services the hardware can look for or insert
into a particular scan line. Data services are defined in . Array indices map to ITU-R
line numbers (see also and ) as follows:
Element
525 line systems
625 line systems
service_lines[0][1]
1
1
service_lines[0][23]
23
23
service_lines[1][1]
264
314
service_lines[1][23]
286
336
The number of VBI lines the
hardware can capture or output per frame, or the number of services it
can identify on a given line may be limited. For example on PAL line
16 the hardware may be able to look for a VPS or Teletext signal, but
not both at the same time. Applications can learn about these limits
using the &VIDIOC-S-FMT; ioctl as described in .
Drivers must set
service_lines[0][0] and
service_lines[1][0] to zero.
__u32
type
Type of the data stream, see . Should be
V4L2_BUF_TYPE_SLICED_VBI_CAPTURE or
V4L2_BUF_TYPE_SLICED_VBI_OUTPUT.
__u32
reserved[3]
This array is reserved for future
extensions. Applications and drivers must set it to zero.
Sliced VBI services
Symbol
Value
Reference
Lines, usually
Payload
V4L2_SLICED_TELETEXT_B (Teletext
System B)
0x0001
,
PAL/SECAM line 7-22, 320-335 (second field 7-22)
Last 42 of the 45 byte Teletext packet, that is
without clock run-in and framing code, lsb first transmitted.
V4L2_SLICED_VPS
0x0400
PAL line 16
Byte number 3 to 15 according to Figure 9 of
ETS 300 231, lsb first transmitted.
V4L2_SLICED_CAPTION_525
0x1000
NTSC line 21, 284 (second field 21)
Two bytes in transmission order, including parity
bit, lsb first transmitted.
V4L2_SLICED_WSS_625
0x4000
,
PAL/SECAM line 23
Byte 0 1
msb lsb msb lsb
Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9
V4L2_SLICED_VBI_525
0x1000
Set of services applicable to 525
line systems.
V4L2_SLICED_VBI_625
0x4401
Set of services applicable to 625
line systems.
&return-value;
EINVAL
The value in the type field is
wrong.