€•RŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ2/translations/zh_CN/userspace-api/media/v4l/format”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/zh_TW/userspace-api/media/v4l/format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/it_IT/userspace-api/media/v4l/format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/ja_JP/userspace-api/media/v4l/format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/ko_KR/userspace-api/media/v4l/format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/sp_SP/userspace-api/media/v4l/format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”h]”hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒL/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/format.rst”h KubhŒtarget”“”)”}”(hŒ .. _format:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œformat”uh1h´h KhhhžhhŸh³ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ Data Formats”h]”hŒ Data Formats”…””}”(hhÉhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhhÄhžhhŸh³h KubhÃ)”}”(hhh]”(hÈ)”}”(hŒData Format Negotiation”h]”hŒData Format Negotiation”…””}”(hhÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhh×hžhhŸh³h K ubhŒ paragraph”“”)”}”(hXŽDifferent devices exchange different kinds of data with applications, for example video images, raw or sliced VBI data, RDS datagrams. Even within one kind many different formats are possible, in particular there is an abundance of image formats. Although drivers must provide a default and the selection persists across closing and reopening a device, applications should always negotiate a data format before engaging in data exchange. Negotiation means the application asks for a particular format and the driver selects and reports the best the hardware can do to satisfy the request. Of course applications can also just query the current selection.”h]”hXŽDifferent devices exchange different kinds of data with applications, for example video images, raw or sliced VBI data, RDS datagrams. Even within one kind many different formats are possible, in particular there is an abundance of image formats. Although drivers must provide a default and the selection persists across closing and reopening a device, applications should always negotiate a data format before engaging in data exchange. Negotiation means the application asks for a particular format and the driver selects and reports the best the hardware can do to satisfy the request. Of course applications can also just query the current selection.”…””}”(hhêhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K hh×hžhubhé)”}”(hXA single mechanism exists to negotiate all data formats using the aggregate struct :c:type:`v4l2_format` and the :ref:`VIDIOC_G_FMT ` and :ref:`VIDIOC_S_FMT ` ioctls. Additionally the :ref:`VIDIOC_TRY_FMT ` ioctl can be used to examine what the hardware *could* do, without actually selecting a new data format. The data formats supported by the V4L2 API are covered in the respective device section in :ref:`devices`. For a closer look at image formats see :ref:`pixfmt`.”h]”(hŒSA single mechanism exists to negotiate all data formats using the aggregate struct ”…””}”(hhøhžhhŸNh Nubh)”}”(hŒ:c:type:`v4l2_format`”h]”hŒliteral”“”)”}”(hjh]”hŒ v4l2_format”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(Œxref”Œc”Œc-type”eh"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œuserspace-api/media/v4l/format”Œ refdomain”jŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”j$Œ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbŒ reftarget”Œ v4l2_format”uh1hhŸh³h KhhøubhŒ and the ”…””}”(hhøhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_G_FMT `”h]”hŒinline”“”)”}”(hj:h]”hŒ VIDIOC_G_FMT”…””}”(hj>hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj8ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jHŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h KhhøubhŒ and ”…””}”(hhøhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j=)”}”(hj`h]”hŒ VIDIOC_S_FMT”…””}”(hjbhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj^ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jlŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h KhhøubhŒ ioctls. Additionally the ”…””}”(hhøhžhhŸNh Nubh)”}”(hŒ$:ref:`VIDIOC_TRY_FMT `”h]”j=)”}”(hj„h]”hŒVIDIOC_TRY_FMT”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj‚ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h KhhøubhŒ0 ioctl can be used to examine what the hardware ”…””}”(hhøhžhhŸNh NubhŒemphasis”“”)”}”(hŒ*could*”h]”hŒcould”…””}”(hj¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hhøubhŒŽ do, without actually selecting a new data format. The data formats supported by the V4L2 API are covered in the respective device section in ”…””}”(hhøhžhhŸNh Nubh)”}”(hŒ:ref:`devices`”h]”j=)”}”(hj¼h]”hŒdevices”…””}”(hj¾hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjºubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jÈŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆj2Œdevices”uh1hhŸh³h KhhøubhŒ). For a closer look at image formats see ”…””}”(hhøhžhhŸNh Nubh)”}”(hŒ :ref:`pixfmt`”h]”j=)”}”(hjàh]”hŒpixfmt”…””}”(hjâhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjÞubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jìŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆj2Œpixfmt”uh1hhŸh³h KhhøubhŒ.”…””}”(hhøhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h Khh×hžhubhé)”}”(hXŒThe :ref:`VIDIOC_S_FMT ` ioctl is a major turning-point in the initialization sequence. Prior to this point multiple panel applications can access the same device concurrently to select the current input, change controls or modify other properties. The first :ref:`VIDIOC_S_FMT ` assigns a logical stream (video data, VBI data etc.) exclusively to one file descriptor.”h]”(hŒThe ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j=)”}”(hjh]”hŒ VIDIOC_S_FMT”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h K"hjubhŒë ioctl is a major turning-point in the initialization sequence. Prior to this point multiple panel applications can access the same device concurrently to select the current input, change controls or modify other properties. The first ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j=)”}”(hj6h]”hŒ VIDIOC_S_FMT”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj4ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jBŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h K"hjubhŒY assigns a logical stream (video data, VBI data etc.) exclusively to one file descriptor.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K"hh×hžhubhé)”}”(hX°Exclusive means no other application, more precisely no other file descriptor, can grab this stream or change device properties inconsistent with the negotiated parameters. A video standard change for example, when the new standard uses a different number of scan lines, can invalidate the selected image format. Therefore only the file descriptor owning the stream can make invalidating changes. Accordingly multiple file descriptors which grabbed different logical streams prevent each other from interfering with their settings. When for example video overlay is about to start or already in progress, simultaneous video capturing may be restricted to the same cropping and image size.”h]”hX°Exclusive means no other application, more precisely no other file descriptor, can grab this stream or change device properties inconsistent with the negotiated parameters. A video standard change for example, when the new standard uses a different number of scan lines, can invalidate the selected image format. Therefore only the file descriptor owning the stream can make invalidating changes. Accordingly multiple file descriptors which grabbed different logical streams prevent each other from interfering with their settings. When for example video overlay is about to start or already in progress, simultaneous video capturing may be restricted to the same cropping and image size.”…””}”(hj^hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K)hh×hžhubhé)”}”(hXWhen applications omit the :ref:`VIDIOC_S_FMT ` ioctl its locking side effects are implied by the next step, the selection of an I/O method with the :ref:`VIDIOC_REQBUFS` ioctl or implicit with the first :c:func:`read()` or :c:func:`write()` call.”h]”(hŒWhen applications omit the ”…””}”(hjlhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j=)”}”(hjvh]”hŒ VIDIOC_S_FMT”…””}”(hjxhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjtubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j‚Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h K5hjlubhŒf ioctl its locking side effects are implied by the next step, the selection of an I/O method with the ”…””}”(hjlhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_REQBUFS`”h]”j=)”}”(hjšh]”hŒVIDIOC_REQBUFS”…””}”(hjœhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj˜ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j¦Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆj2Œvidioc_reqbufs”uh1hhŸh³h K5hjlubhŒ" ioctl or implicit with the first ”…””}”(hjlhžhhŸNh Nubh)”}”(hŒ:c:func:`read()`”h]”j)”}”(hj¾h]”hŒread()”…””}”(hjÀhžhhŸNh Nubah}”(h]”h ]”(jjŒc-func”eh"]”h$]”h&]”uh1jhj¼ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j#j'j2Œread”uh1hhŸh³h K5hjlubhŒ or ”…””}”(hjlhžhhŸNh Nubh)”}”(hŒ:c:func:`write()`”h]”j)”}”(hjáh]”hŒwrite()”…””}”(hjãhžhhŸNh Nubah}”(h]”h ]”(jjŒc-func”eh"]”h$]”h&]”uh1jhjßubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j#j'j2Œwrite”uh1hhŸh³h K5hjlubhŒ call.”…””}”(hjlhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K5hh×hžhubhé)”}”(hX¥Generally only one logical stream can be assigned to a file descriptor, the exception being drivers permitting simultaneous video capturing and overlay using the same file descriptor for compatibility with V4L and earlier versions of V4L2. Switching the logical stream or returning into "panel mode" is possible by closing and reopening the device. Drivers *may* support a switch using :ref:`VIDIOC_S_FMT `.”h]”(hXiGenerally only one logical stream can be assigned to a file descriptor, the exception being drivers permitting simultaneous video capturing and overlay using the same file descriptor for compatibility with V4L and earlier versions of V4L2. Switching the logical stream or returning into “panel mode†is possible by closing and reopening the device. Drivers ”…””}”(hjhžhhŸNh Nubj§)”}”(hŒ*may*”h]”hŒmay”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hjubhŒ support a switch using ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j=)”}”(hj$h]”hŒ VIDIOC_S_FMT”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj"ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j0Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h K;hjubhŒ.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K;hh×hžhubhé)”}”(hŒîAll drivers exchanging data with applications must support the :ref:`VIDIOC_G_FMT ` and :ref:`VIDIOC_S_FMT ` ioctl. Implementation of the :ref:`VIDIOC_TRY_FMT ` is highly recommended but optional.”h]”(hŒ?All drivers exchanging data with applications must support the ”…””}”(hjLhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_G_FMT `”h]”j=)”}”(hjVh]”hŒ VIDIOC_G_FMT”…””}”(hjXhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjTubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jbŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h KBhjLubhŒ and ”…””}”(hjLhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j=)”}”(hjzh]”hŒ VIDIOC_S_FMT”…””}”(hj|hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjxubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j†Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h KBhjLubhŒ ioctl. Implementation of the ”…””}”(hjLhžhhŸNh Nubh)”}”(hŒ$:ref:`VIDIOC_TRY_FMT `”h]”j=)”}”(hjžh]”hŒVIDIOC_TRY_FMT”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hjœubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jªŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj2Œ vidioc_g_fmt”uh1hhŸh³h KBhjLubhŒ$ is highly recommended but optional.”…””}”(hjLhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KBhh×hžhubeh}”(h]”Œdata-format-negotiation”ah ]”h"]”Œdata format negotiation”ah$]”h&]”uh1hÂhhÄhžhhŸh³h K ubhÃ)”}”(hhh]”(hÈ)”}”(hŒImage Format Enumeration”h]”hŒImage Format Enumeration”…””}”(hjÑhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjÎhžhhŸh³h KGubhé)”}”(hŒ«Apart of the generic format negotiation functions a special ioctl to enumerate all image formats supported by video capture, overlay or output devices is available. [#f1]_”h]”(hŒ¥Apart of the generic format negotiation functions a special ioctl to enumerate all image formats supported by video capture, overlay or output devices is available. ”…””}”(hjßhžhhŸNh NubhŒfootnote_reference”“”)”}”(hŒ[#f1]_”h]”hŒ1”…””}”(hjéhžhhŸNh Nubah}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œauto”KhÀŒf1”Œdocname”juh1jçhjߌresolved”Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KIhjÎhžhubhé)”}”(hŒjThe :ref:`VIDIOC_ENUM_FMT` ioctl must be supported by all drivers exchanging image data with applications.”h]”(hŒThe ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_ENUM_FMT`”h]”j=)”}”(hj h]”hŒVIDIOC_ENUM_FMT”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j<hj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆj2Œvidioc_enum_fmt”uh1hhŸh³h KMhjubhŒP ioctl must be supported by all drivers exchanging image data with applications.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KMhjÎhžhubhŒ important”“”)”}”(hŒþDrivers are not supposed to convert image formats in kernel space. They must enumerate only formats directly supported by the hardware. If necessary driver writers should publish an example conversion routine or library for integration into applications.”h]”hé)”}”(hŒþDrivers are not supposed to convert image formats in kernel space. They must enumerate only formats directly supported by the hardware. If necessary driver writers should publish an example conversion routine or library for integration into applications.”h]”hŒþDrivers are not supposed to convert image formats in kernel space. They must enumerate only formats directly supported by the hardware. If necessary driver writers should publish an example conversion routine or library for integration into applications.”…””}”(hj:hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KRhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j4hjÎhžhhŸh³h NubhŒfootnote”“”)”}”(hX Enumerating formats an application has no a-priori knowledge of (otherwise it could explicitly ask for them and need not enumerate) seems useless, but there are applications serving as proxy between drivers and the actual video applications for which this is useful.”h]”(hŒlabel”“”)”}”(hhh]”hŒ1”…””}”(hjVhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjPhžhhŸNh Nubhé)”}”(hX Enumerating formats an application has no a-priori knowledge of (otherwise it could explicitly ask for them and need not enumerate) seems useless, but there are applications serving as proxy between drivers and the actual video applications for which this is useful.”h]”hX Enumerating formats an application has no a-priori knowledge of (otherwise it could explicitly ask for them and need not enumerate) seems useless, but there are applications serving as proxy between drivers and the actual video applications for which this is useful.”…””}”(hjchžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KXhjPubeh}”(h]”jùah ]”h"]”Œf1”ah$]”h&]”jóajøKjújuh1jNhŸh³h KWhjÎhžhubeh}”(h]”Œimage-format-enumeration”ah ]”h"]”Œimage format enumeration”ah$]”h&]”uh1hÂhhÄhžhhŸh³h KGubeh}”(h]”(Œ data-formats”hÁeh ]”h"]”(Œ data formats”Œformat”eh$]”h&]”uh1hÂhhhžhhŸh³h KŒexpect_referenced_by_name”}”j†h¶sŒexpect_referenced_by_id”}”hÁh¶subeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÇNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j°Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œf1”]”jéasŒrefids”}”(hÁ]”h¶ajù]”jéauŒnameids”}”(j†hÁj…j‚jËjÈj}jzjujùuŒ nametypes”}”(j†ˆj…‰jˉj}‰juˆuh}”(hÁhÄj‚hÄjÈh×jzjÎjójéjùjPuŒ footnote_refs”}”jð]”jéasŒ citation_refs”}”Œ autofootnotes”]”jPaŒautofootnote_refs”]”jéaŒsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”j¾Ks…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”hé)”}”(hhh]”hŒ,Hyperlink target "format" is not referenced.”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”uh1hèhjubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”h³Œline”Kuh1jubaŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.