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 <structname>v4l2_sliced_vbi_cap</structname> __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.