sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget:/translations/zh_CN/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/zh_TW/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/it_IT/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/ja_JP/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/ko_KR/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/pt_BR/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/sp_SP/userspace-api/media/v4l/dev-sliced-vbimodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhT/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rsthKubhtarget)}(h .. _sliced:h]h}(h]h ]h"]h$]h&]refidsliceduh1hhKhhhhhhubhsection)}(hhh](htitle)}(hSliced VBI Data Interfaceh]hSliced VBI Data Interface}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hVBI stands for Vertical Blanking Interval, a gap in the sequence of lines of an analog video signal. During VBI no picture information is transmitted, allowing some time while the electron beam of a cathode ray tube TV returns to the top of the screen.h]hVBI stands for Vertical Blanking Interval, a gap in the sequence of lines of an analog video signal. During VBI no picture information is transmitted, allowing some time while the electron beam of a cathode ray tube TV returns to the top of the screen.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hX,Sliced VBI devices use hardware to demodulate data transmitted in the VBI. V4L2 drivers shall *not* do this by software, see also the :ref:`raw VBI interface `. The data is passed as short packets of fixed size, covering one scan line each. The number of packets per video frame is variable.h](h^Sliced VBI devices use hardware to demodulate data transmitted in the VBI. V4L2 drivers shall }(hhhhhNhNubhemphasis)}(h*not*h]hnot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhubh# do this by software, see also the }(hhhhhNhNubh)}(h":ref:`raw VBI interface `h]hinline)}(hjh]hraw VBI interface}(hjhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc&userspace-api/media/v4l/dev-sliced-vbi refdomainj(reftyperef refexplicitrefwarn reftargetraw-vbiuh1hhhhKhhubh. The data is passed as short packets of fixed size, covering one scan line each. The number of packets per video frame is variable.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hX_Sliced VBI capture and output devices are accessed through the same character special files as raw VBI devices. When a driver supports both interfaces, the default function of a ``/dev/vbi`` device is *raw* VBI capturing or output, and the sliced VBI function is only available after calling the :ref:`VIDIOC_S_FMT ` ioctl as defined below. Likewise a ``/dev/video`` device may support the sliced VBI API, however the default function here is video capturing or output. Different file descriptors must be used to pass raw and sliced VBI data simultaneously, if this is supported by the driver.h](hSliced VBI capture and output devices are accessed through the same character special files as raw VBI devices. When a driver supports both interfaces, the default function of a }(hjFhhhNhNubhliteral)}(h ``/dev/vbi``h]h/dev/vbi}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjFubh device is }(hjFhhhNhNubj)}(h*raw*h]hraw}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubhZ VBI capturing or output, and the sliced VBI function is only available after calling the }(hjFhhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hjvh]h VIDIOC_S_FMT}(hjxhhhNhNubah}(h]h ](j'stdstd-refeh"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]refdocj4 refdomainjreftyperef refexplicitrefwarnj: vidioc_g_fmtuh1hhhhKhjFubh$ ioctl as defined below. Likewise a }(hjFhhhNhNubjO)}(h``/dev/video``h]h /dev/video}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjFubh device may support the sliced VBI API, however the default function here is video capturing or output. Different file descriptors must be used to pass raw and sliced VBI data simultaneously, if this is supported by the driver.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hQuerying Capabilitiesh]hQuerying Capabilities}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK ubh)}(hXDevices supporting the sliced VBI capturing or output API set the ``V4L2_CAP_SLICED_VBI_CAPTURE`` or ``V4L2_CAP_SLICED_VBI_OUTPUT`` flag respectively, in the ``capabilities`` field of struct :c:type:`v4l2_capability` returned by the :ref:`VIDIOC_QUERYCAP` ioctl. At least one of the read/write or streaming :ref:`I/O methods ` must be supported. Sliced VBI devices may have a tuner or modulator.h](hBDevices supporting the sliced VBI capturing or output API set the }(hjhhhNhNubjO)}(h``V4L2_CAP_SLICED_VBI_CAPTURE``h]hV4L2_CAP_SLICED_VBI_CAPTURE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh or }(hjhhhNhNubjO)}(h``V4L2_CAP_SLICED_VBI_OUTPUT``h]hV4L2_CAP_SLICED_VBI_OUTPUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh flag respectively, in the }(hjhhhNhNubjO)}(h``capabilities``h]h capabilities}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh field of struct }(hjhhhNhNubh)}(h:c:type:`v4l2_capability`h]jO)}(hjh]hv4l2_capability}(hjhhhNhNubah}(h]h ](j'cc-typeeh"]h$]h&]uh1jNhjubah}(h]h ]h"]h$]h&]refdocj4 refdomainj reftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)} identifierV4LsbNasbj:v4l2_capabilityuh1hhhhK"hjubh returned by the }(hjhhhNhNubh)}(h:ref:`VIDIOC_QUERYCAP`h]j)}(hj4h]hVIDIOC_QUERYCAP}(hj6hhhNhNubah}(h]h ](j'stdstd-refeh"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]refdocj4 refdomainj@reftyperef refexplicitrefwarnj:vidioc_querycapuh1hhhhK"hjubh4 ioctl. At least one of the read/write or streaming }(hjhhhNhNubh)}(h:ref:`I/O methods `h]j)}(hjXh]h I/O methods}(hjZhhhNhNubah}(h]h ](j'stdstd-refeh"]h$]h&]uh1jhjVubah}(h]h ]h"]h$]h&]refdocj4 refdomainjdreftyperef refexplicitrefwarnj:iouh1hhhhK"hjubhE must be supported. Sliced VBI devices may have a tuner or modulator.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK"hjhhubeh}(h]querying-capabilitiesah ]h"]querying capabilitiesah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSupplemental Functionsh]hSupplemental Functions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK+ubh)}(hXBSliced VBI devices shall support :ref:`video input or output