1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2407e84cdSMauro Carvalho Chehab.. c:namespace:: V4L 354f38fcaSMauro Carvalho Chehab 454f38fcaSMauro Carvalho Chehab.. _VIDIOC_G_SLICED_VBI_CAP: 554f38fcaSMauro Carvalho Chehab 654f38fcaSMauro Carvalho Chehab***************************** 754f38fcaSMauro Carvalho Chehabioctl VIDIOC_G_SLICED_VBI_CAP 854f38fcaSMauro Carvalho Chehab***************************** 954f38fcaSMauro Carvalho Chehab 1054f38fcaSMauro Carvalho ChehabName 1154f38fcaSMauro Carvalho Chehab==== 1254f38fcaSMauro Carvalho Chehab 1354f38fcaSMauro Carvalho ChehabVIDIOC_G_SLICED_VBI_CAP - Query sliced VBI capabilities 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho ChehabSynopsis 1654f38fcaSMauro Carvalho Chehab======== 1754f38fcaSMauro Carvalho Chehab 18407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_G_SLICED_VBI_CAP 1954f38fcaSMauro Carvalho Chehab 20407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_G_SLICED_VBI_CAP, struct v4l2_sliced_vbi_cap *argp)`` 2154f38fcaSMauro Carvalho Chehab 2254f38fcaSMauro Carvalho ChehabArguments 2354f38fcaSMauro Carvalho Chehab========= 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab``fd`` 26407e84cdSMauro Carvalho Chehab File descriptor returned by :c:func:`open()`. 2754f38fcaSMauro Carvalho Chehab 2854f38fcaSMauro Carvalho Chehab``argp`` 2954f38fcaSMauro Carvalho Chehab Pointer to struct :c:type:`v4l2_sliced_vbi_cap`. 3054f38fcaSMauro Carvalho Chehab 3154f38fcaSMauro Carvalho ChehabDescription 3254f38fcaSMauro Carvalho Chehab=========== 3354f38fcaSMauro Carvalho Chehab 3454f38fcaSMauro Carvalho ChehabTo find out which data services are supported by a sliced VBI capture or 3554f38fcaSMauro Carvalho Chehaboutput device, applications initialize the ``type`` field of a struct 3654f38fcaSMauro Carvalho Chehab:c:type:`v4l2_sliced_vbi_cap`, clear the 3754f38fcaSMauro Carvalho Chehab``reserved`` array and call the :ref:`VIDIOC_G_SLICED_VBI_CAP <VIDIOC_G_SLICED_VBI_CAP>` ioctl. The 3854f38fcaSMauro Carvalho Chehabdriver fills in the remaining fields or returns an ``EINVAL`` error code if 3954f38fcaSMauro Carvalho Chehabthe sliced VBI API is unsupported or ``type`` is invalid. 4054f38fcaSMauro Carvalho Chehab 4154f38fcaSMauro Carvalho Chehab.. note:: 4254f38fcaSMauro Carvalho Chehab 4354f38fcaSMauro Carvalho Chehab The ``type`` field was added, and the ioctl changed from read-only 4454f38fcaSMauro Carvalho Chehab to write-read, in Linux 2.6.19. 4554f38fcaSMauro Carvalho Chehab 4654f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_sliced_vbi_cap 4754f38fcaSMauro Carvalho Chehab 48*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{1.4cm}|p{4.4cm}|p{4.5cm}|p{3.6cm}|p{3.6cm}| 4954f38fcaSMauro Carvalho Chehab 5054f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_sliced_vbi_cap 5154f38fcaSMauro Carvalho Chehab :header-rows: 0 5254f38fcaSMauro Carvalho Chehab :stub-columns: 0 5354f38fcaSMauro Carvalho Chehab :widths: 3 3 2 2 2 5454f38fcaSMauro Carvalho Chehab 5554f38fcaSMauro Carvalho Chehab * - __u16 5654f38fcaSMauro Carvalho Chehab - ``service_set`` 5754f38fcaSMauro Carvalho Chehab - :cspan:`2` A set of all data services supported by the driver. 5854f38fcaSMauro Carvalho Chehab 5954f38fcaSMauro Carvalho Chehab Equal to the union of all elements of the ``service_lines`` array. 6054f38fcaSMauro Carvalho Chehab * - __u16 6154f38fcaSMauro Carvalho Chehab - ``service_lines``\ [2][24] 6254f38fcaSMauro Carvalho Chehab - :cspan:`2` Each element of this array contains a set of data 6354f38fcaSMauro Carvalho Chehab services the hardware can look for or insert into a particular 6454f38fcaSMauro Carvalho Chehab scan line. Data services are defined in :ref:`vbi-services`. 6554f38fcaSMauro Carvalho Chehab Array indices map to ITU-R line numbers\ [#f1]_ as follows: 6654f38fcaSMauro Carvalho Chehab * - 6754f38fcaSMauro Carvalho Chehab - 6854f38fcaSMauro Carvalho Chehab - Element 6954f38fcaSMauro Carvalho Chehab - 525 line systems 7054f38fcaSMauro Carvalho Chehab - 625 line systems 7154f38fcaSMauro Carvalho Chehab * - 7254f38fcaSMauro Carvalho Chehab - 7354f38fcaSMauro Carvalho Chehab - ``service_lines``\ [0][1] 7454f38fcaSMauro Carvalho Chehab - 1 7554f38fcaSMauro Carvalho Chehab - 1 7654f38fcaSMauro Carvalho Chehab * - 7754f38fcaSMauro Carvalho Chehab - 7854f38fcaSMauro Carvalho Chehab - ``service_lines``\ [0][23] 7954f38fcaSMauro Carvalho Chehab - 23 8054f38fcaSMauro Carvalho Chehab - 23 8154f38fcaSMauro Carvalho Chehab * - 8254f38fcaSMauro Carvalho Chehab - 8354f38fcaSMauro Carvalho Chehab - ``service_lines``\ [1][1] 8454f38fcaSMauro Carvalho Chehab - 264 8554f38fcaSMauro Carvalho Chehab - 314 8654f38fcaSMauro Carvalho Chehab * - 8754f38fcaSMauro Carvalho Chehab - 8854f38fcaSMauro Carvalho Chehab - ``service_lines``\ [1][23] 8954f38fcaSMauro Carvalho Chehab - 286 9054f38fcaSMauro Carvalho Chehab - 336 9154f38fcaSMauro Carvalho Chehab * - 9254f38fcaSMauro Carvalho Chehab * - 9354f38fcaSMauro Carvalho Chehab - 9454f38fcaSMauro Carvalho Chehab - :cspan:`2` The number of VBI lines the hardware can capture or 9554f38fcaSMauro Carvalho Chehab output per frame, or the number of services it can identify on a 9654f38fcaSMauro Carvalho Chehab given line may be limited. For example on PAL line 16 the hardware 9754f38fcaSMauro Carvalho Chehab may be able to look for a VPS or Teletext signal, but not both at 9854f38fcaSMauro Carvalho Chehab the same time. Applications can learn about these limits using the 9954f38fcaSMauro Carvalho Chehab :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl as described in 10054f38fcaSMauro Carvalho Chehab :ref:`sliced`. 10154f38fcaSMauro Carvalho Chehab * - 10254f38fcaSMauro Carvalho Chehab * - 10354f38fcaSMauro Carvalho Chehab - 10454f38fcaSMauro Carvalho Chehab - :cspan:`2` Drivers must set ``service_lines`` [0][0] and 10554f38fcaSMauro Carvalho Chehab ``service_lines``\ [1][0] to zero. 10654f38fcaSMauro Carvalho Chehab * - __u32 10754f38fcaSMauro Carvalho Chehab - ``type`` 10854f38fcaSMauro Carvalho Chehab - Type of the data stream, see :c:type:`v4l2_buf_type`. Should be 10954f38fcaSMauro Carvalho Chehab ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE`` or 11054f38fcaSMauro Carvalho Chehab ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``. 11154f38fcaSMauro Carvalho Chehab * - __u32 11254f38fcaSMauro Carvalho Chehab - ``reserved``\ [3] 11354f38fcaSMauro Carvalho Chehab - :cspan:`2` This array is reserved for future extensions. 11454f38fcaSMauro Carvalho Chehab 11554f38fcaSMauro Carvalho Chehab Applications and drivers must set it to zero. 11654f38fcaSMauro Carvalho Chehab 11754f38fcaSMauro Carvalho Chehab.. [#f1] 11854f38fcaSMauro Carvalho Chehab 11954f38fcaSMauro Carvalho Chehab See also :ref:`vbi-525` and :ref:`vbi-625`. 12054f38fcaSMauro Carvalho Chehab 12154f38fcaSMauro Carvalho Chehab.. raw:: latex 12254f38fcaSMauro Carvalho Chehab 12354f38fcaSMauro Carvalho Chehab \scriptsize 12454f38fcaSMauro Carvalho Chehab 125*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{3.9cm}|p{1.0cm}|p{2.0cm}|p{3.0cm}|p{7.0cm}| 12654f38fcaSMauro Carvalho Chehab 12754f38fcaSMauro Carvalho Chehab.. _vbi-services: 12854f38fcaSMauro Carvalho Chehab 12954f38fcaSMauro Carvalho Chehab.. flat-table:: Sliced VBI services 13054f38fcaSMauro Carvalho Chehab :header-rows: 1 13154f38fcaSMauro Carvalho Chehab :stub-columns: 0 13254f38fcaSMauro Carvalho Chehab :widths: 2 1 1 2 2 13354f38fcaSMauro Carvalho Chehab 13454f38fcaSMauro Carvalho Chehab * - Symbol 13554f38fcaSMauro Carvalho Chehab - Value 13654f38fcaSMauro Carvalho Chehab - Reference 13754f38fcaSMauro Carvalho Chehab - Lines, usually 13854f38fcaSMauro Carvalho Chehab - Payload 13954f38fcaSMauro Carvalho Chehab * - ``V4L2_SLICED_TELETEXT_B`` (Teletext System B) 14054f38fcaSMauro Carvalho Chehab - 0x0001 14154f38fcaSMauro Carvalho Chehab - :ref:`ets300706`, 14254f38fcaSMauro Carvalho Chehab 14354f38fcaSMauro Carvalho Chehab :ref:`itu653` 14454f38fcaSMauro Carvalho Chehab - PAL/SECAM line 7-22, 320-335 (second field 7-22) 14554f38fcaSMauro Carvalho Chehab - Last 42 of the 45 byte Teletext packet, that is without clock 14654f38fcaSMauro Carvalho Chehab run-in and framing code, lsb first transmitted. 14754f38fcaSMauro Carvalho Chehab * - ``V4L2_SLICED_VPS`` 14854f38fcaSMauro Carvalho Chehab - 0x0400 14954f38fcaSMauro Carvalho Chehab - :ref:`ets300231` 15054f38fcaSMauro Carvalho Chehab - PAL line 16 15154f38fcaSMauro Carvalho Chehab - Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb 15254f38fcaSMauro Carvalho Chehab first transmitted. 15354f38fcaSMauro Carvalho Chehab * - ``V4L2_SLICED_CAPTION_525`` 15454f38fcaSMauro Carvalho Chehab - 0x1000 15554f38fcaSMauro Carvalho Chehab - :ref:`cea608` 15654f38fcaSMauro Carvalho Chehab - NTSC line 21, 284 (second field 21) 15754f38fcaSMauro Carvalho Chehab - Two bytes in transmission order, including parity bit, lsb first 15854f38fcaSMauro Carvalho Chehab transmitted. 15954f38fcaSMauro Carvalho Chehab * - ``V4L2_SLICED_WSS_625`` 16054f38fcaSMauro Carvalho Chehab - 0x4000 16154f38fcaSMauro Carvalho Chehab - :ref:`en300294`, 16254f38fcaSMauro Carvalho Chehab 16354f38fcaSMauro Carvalho Chehab :ref:`itu1119` 16454f38fcaSMauro Carvalho Chehab - PAL/SECAM line 23 16557161016SMauro Carvalho Chehab - See :ref:`v4l2-sliced-vbi-cap-wss-625-payload` below. 16654f38fcaSMauro Carvalho Chehab * - ``V4L2_SLICED_VBI_525`` 16754f38fcaSMauro Carvalho Chehab - 0x1000 16854f38fcaSMauro Carvalho Chehab - :cspan:`2` Set of services applicable to 525 line systems. 16954f38fcaSMauro Carvalho Chehab * - ``V4L2_SLICED_VBI_625`` 17054f38fcaSMauro Carvalho Chehab - 0x4401 17154f38fcaSMauro Carvalho Chehab - :cspan:`2` Set of services applicable to 625 line systems. 17254f38fcaSMauro Carvalho Chehab 173*fea13a69SMauro Carvalho Chehab 17454f38fcaSMauro Carvalho Chehab.. raw:: latex 17554f38fcaSMauro Carvalho Chehab 17654f38fcaSMauro Carvalho Chehab \normalsize 17754f38fcaSMauro Carvalho Chehab 17857161016SMauro Carvalho Chehab.. _v4l2-sliced-vbi-cap-wss-625-payload: 17957161016SMauro Carvalho Chehab 18057161016SMauro Carvalho ChehabV4L2_SLICED_VBI_CAP WSS_625 payload 18157161016SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18257161016SMauro Carvalho Chehab 18357161016SMauro Carvalho ChehabThe payload for ``V4L2_SLICED_WSS_625`` is: 18457161016SMauro Carvalho Chehab 18557161016SMauro Carvalho Chehab +-----+------------------+-----------------------+ 18657161016SMauro Carvalho Chehab |Byte | 0 | 1 | 18757161016SMauro Carvalho Chehab +-----+--------+---------+-----------+-----------+ 18857161016SMauro Carvalho Chehab | | msb | lsb | msb | lsb | 18957161016SMauro Carvalho Chehab | +-+-+-+--+--+-+-+--+--+-+--+---+---+--+-+--+ 19057161016SMauro Carvalho Chehab | Bit |7|6|5|4 | 3|2|1|0 | x|x|13|12 | 11|10|9|8 | 19157161016SMauro Carvalho Chehab +-----+-+-+-+--+--+-+-+--+--+-+--+---+---+--+-+--+ 19257161016SMauro Carvalho Chehab 19357161016SMauro Carvalho Chehab 19454f38fcaSMauro Carvalho ChehabReturn Value 19554f38fcaSMauro Carvalho Chehab============ 19654f38fcaSMauro Carvalho Chehab 19754f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set 19854f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the 19954f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter. 20054f38fcaSMauro Carvalho Chehab 20154f38fcaSMauro Carvalho ChehabEINVAL 20254f38fcaSMauro Carvalho Chehab The value in the ``type`` field is wrong. 203