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]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}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh# do this by software, see also the }(hhhhhNhNubh)}(h":ref:`raw VBI interface `h]hinline)}(hjh]hraw VBI interface}(hj hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc&userspace-api/media/v4l/dev-sliced-vbi refdomainjreftyperef 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 }(hj2hhhNhNubhliteral)}(h ``/dev/vbi``h]h/dev/vbi}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j:hj2ubh device is }(hj2hhhNhNubh)}(h*raw*h]hraw}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubhZ VBI capturing or output, and the sliced VBI function is only available after calling the }(hj2hhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hjbh]h VIDIOC_S_FMT}(hjdhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]refdocj  refdomainjnreftyperef refexplicitrefwarnj& vidioc_g_fmtuh1hhhhKhj2ubh$ ioctl as defined below. Likewise a }(hj2hhhNhNubj;)}(h``/dev/video``h]h /dev/video}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j:hj2ubh 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.}(hj2hhhNhNubeh}(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 }(hjhhhNhNubj;)}(h``V4L2_CAP_SLICED_VBI_CAPTURE``h]hV4L2_CAP_SLICED_VBI_CAPTURE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j:hjubh or }(hjhhhNhNubj;)}(h``V4L2_CAP_SLICED_VBI_OUTPUT``h]hV4L2_CAP_SLICED_VBI_OUTPUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j:hjubh flag respectively, in the }(hjhhhNhNubj;)}(h``capabilities``h]h capabilities}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j:hjubh field of struct }(hjhhhNhNubh)}(h:c:type:`v4l2_capability`h]j;)}(hjh]hv4l2_capability}(hjhhhNhNubah}(h]h ](jcc-typeeh"]h$]h&]uh1j:hjubah}(h]h ]h"]h$]h&]refdocj  refdomainjreftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]j  ASTIdentifier)} identifierV4LsbNasbj&v4l2_capabilityuh1hhhhK"hjubh returned by the }(hjhhhNhNubh)}(h:ref:`VIDIOC_QUERYCAP`h]j)}(hj h]hVIDIOC_QUERYCAP}(hj"hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj  refdomainj,reftyperef refexplicitrefwarnj&vidioc_querycapuh1hhhhK"hjubh4 ioctl. At least one of the read/write or streaming }(hjhhhNhNubh)}(h:ref:`I/O methods `h]j)}(hjDh]h I/O methods}(hjFhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]refdocj  refdomainjPreftyperef 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}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthhhhhK+ubh)}(hXBSliced VBI devices shall support :ref:`video input or output