€•ŒSŒ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ŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/pt_BR/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 ”…””}”(hj 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”]”j8Œ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbŒ reftarget”Œ v4l2_format”uh1hh³hÇh´Khj ubhŒ and the ”…””}”(hj h²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_G_FMT `”h]”hŒinline”“”)”}”(hjNh]”hŒ VIDIOC_G_FMT”…””}”(hjRh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjLubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j\Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´Khj ubhŒ and ”…””}”(hj h²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”jQ)”}”(hjth]”hŒ VIDIOC_S_FMT”…””}”(hjvh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjrubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j€Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´Khj ubhŒ ioctls. Additionally the ”…””}”(hj h²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_TRY_FMT `”h]”jQ)”}”(hj˜h]”hŒVIDIOC_TRY_FMT”…””}”(hjšh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhj–ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j¤Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´Khj ubhŒ0 ioctl can be used to examine what the hardware ”…””}”(hj h²hh³Nh´NubhŒemphasis”“”)”}”(hŒ*could*”h]”hŒcould”…””}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj 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 ”…””}”(hj h²hh³Nh´Nubh)”}”(hŒ:ref:`devices`”h]”jQ)”}”(hjÐh]”hŒdevices”…””}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjÎubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jÜŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒdevices”uh1hh³hÇh´Khj ubhŒ). For a closer look at image formats see ”…””}”(hj h²hh³Nh´Nubh)”}”(hŒ :ref:`pixfmt`”h]”jQ)”}”(hjôh]”hŒpixfmt”…””}”(hjöh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjòubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒpixfmt”uh1hh³hÇh´Khj ubhŒ.”…””}”(hj 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]”jQ)”}”(hj&h]”hŒ VIDIOC_S_FMT”…””}”(hj(h²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhj$ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j2Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ 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]”jQ)”}”(hjJh]”hŒ VIDIOC_S_FMT”…””}”(hjLh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjHubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jVŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ 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.”…””}”(hjrh²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 ”…””}”(hj€h²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”jQ)”}”(hjŠh]”hŒ VIDIOC_S_FMT”…””}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjˆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j–Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´K5hj€ubhŒf ioctl its locking side effects are implied by the next step, the selection of an I/O method with the ”…””}”(hj€h²hh³Nh´Nubh)”}”(hŒ:ref:`VIDIOC_REQBUFS`”h]”jQ)”}”(hj®h]”hŒVIDIOC_REQBUFS”…””}”(hj°h²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhj¬ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jºŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒvidioc_reqbufs”uh1hh³hÇh´K5hj€ubhŒ" ioctl or implicit with the first ”…””}”(hj€h²hh³Nh´Nubh)”}”(hŒ:c:func:`read()`”h]”j)”}”(hjÒh]”hŒread()”…””}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”(j$j%Œc-func”eh"]”h$]”h&]”uh1jhjÐubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j%Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j7j;jFŒread”uh1hh³hÇh´K5hj€ubhŒ or ”…””}”(hj€h²hh³Nh´Nubh)”}”(hŒ:c:func:`write()`”h]”j)”}”(hjõh]”hŒwrite()”…””}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”(j$j%Œc-func”eh"]”h$]”h&]”uh1jhjóubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j%Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j7j;jFŒwrite”uh1hh³hÇh´K5hj€ubhŒ call.”…””}”(hj€h²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”…””}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhjubhŒ support a switch using ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”jQ)”}”(hj8h]”hŒ VIDIOC_S_FMT”…””}”(hj:h²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhj6ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jDŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ 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 ”…””}”(hj`h²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_G_FMT `”h]”jQ)”}”(hjjh]”hŒ VIDIOC_G_FMT”…””}”(hjlh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjhubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jvŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´KBhj`ubhŒ and ”…””}”(hj`h²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”jQ)”}”(hjŽh]”hŒ VIDIOC_S_FMT”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjŒubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”jšŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´KBhj`ubhŒ ioctl. Implementation of the ”…””}”(hj`h²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_TRY_FMT `”h]”jQ)”}”(hj²h]”hŒVIDIOC_TRY_FMT”…””}”(hj´h²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhj°ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j¾Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjFŒ vidioc_g_fmt”uh1hh³hÇh´KBhj`ubhŒ$ is highly recommended but optional.”…””}”(hj`h²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”j1uh1jû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]”jQ)”}”(hj h]”hŒVIDIOC_ENUM_FMT”…””}”(hj"h²hh³Nh´Nubah}”(h]”h ]”(j$Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jPhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j1Œ refdomain”j,Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒ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.”…””}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KRhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jHhjâ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”…””}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhjdh²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.”…””}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KXhjdubeh}”(h]”j ah ]”h"]”Œf1”ah$]”h&]”jaj Kjj1uh1jbh³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‘jŽj‰j uŒ nametypes”}”(jšˆj™‰j߉j‘‰j‰ˆuh}”(hÕhØj–hØjÜhëjŽjâjjýj jduŒ footnote_refs”}”j]”jýasŒ citation_refs”}”Œ autofootnotes”]”jdaŒ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.”…””}”hj2sbah}”(h]”h ]”h"]”h$]”h&]”uh1hühj/ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1j-ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.