€•&IŒ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”Œ*/translations/zh_CN/admin-guide/media/vimc”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_TW/admin-guide/media/vimc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/it_IT/admin-guide/media/vimc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ja_JP/admin-guide/media/vimc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ko_KR/admin-guide/media/vimc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/sp_SP/admin-guide/media/vimc”Œ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Œ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒD/var/lib/git/docbuild/linux/Documentation/admin-guide/media/vimc.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ*The Virtual Media Controller Driver (vimc)”h]”hŒ*The Virtual Media Controller Driver (vimc)”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hŒŸThe vimc driver emulates complex video hardware using the V4L2 API and the Media API. It has a capture device and three subdevices: sensor, debayer and scaler.”h]”hŒŸThe vimc driver emulates complex video hardware using the V4L2 API and the Media API. It has a capture device and three subdevices: sensor, debayer and scaler.”…””}”(hhËhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒTopology”h]”hŒTopology”…””}”(hhÜhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhÙhžhhŸh³h K ubhÊ)”}”(hŒ™The topology is hardcoded, although you could modify it in vimc-core and recompile the driver to achieve your own topology. This is the default topology:”h]”hŒ™The topology is hardcoded, although you could modify it in vimc-core and recompile the driver to achieve your own topology. This is the default topology:”…””}”(hhêhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hhÙhžhubhŒtarget”“”)”}”(hŒ.. _vimc_topology_graph:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œvimc-topology-graph”uh1høh KhhÙhžhhŸh³ubŒkfigure”Œ kernel_figure”“”)”}”(hhh]”hŒfigure”“”)”}”(hhh]”(hŒimage”“”)”}”(hŒŒ.. kernel-figure:: vimc.dot :alt: Diagram of the default media pipeline topology :align: center Media pipeline graph on vimc ”h]”h}”(h]”h ]”h"]”h$]”h&]”Œalt”Œ.Diagram of the default media pipeline topology”Œuri”Œadmin-guide/media/vimc.dot”Œ candidates”}”Œ*”j suh1jhjhŸh³h KubhŒcaption”“”)”}”(hŒMedia pipeline graph on vimc”h]”hŒMedia pipeline graph on vimc”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hŸh³h Khjubeh}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œalign”Œcenter”uh1j hj ubah}”(h]”jah ]”h"]”Œvimc_topology_graph”ah$]”h&]”uh1jhhÙhžhhŸh³h NŒexpect_referenced_by_name”}”jAhúsŒexpect_referenced_by_id”}”jhúsubhµ)”}”(hhh]”(hº)”}”(hŒConfiguring the topology”h]”hŒConfiguring the topology”…””}”(hjKhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjHhžhhŸh³h KubhÊ)”}”(hXüEach subdevice will come with its default configuration (pixelformat, height, width, ...). One needs to configure the topology in order to match the configuration on each linked subdevice to stream frames through the pipeline. If the configuration doesn't match, the stream will fail. The ``v4l-utils`` package is a bundle of user-space applications, that comes with ``media-ctl`` and ``v4l2-ctl`` that can be used to configure the vimc configuration. This sequence of commands fits for the default topology:”h]”(hX#Each subdevice will come with its default configuration (pixelformat, height, width, ...). One needs to configure the topology in order to match the configuration on each linked subdevice to stream frames through the pipeline. If the configuration doesn’t match, the stream will fail. The ”…””}”(hjYhžhhŸNh NubhŒliteral”“”)”}”(hŒ ``v4l-utils``”h]”hŒ v4l-utils”…””}”(hjchžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jahjYubhŒA package is a bundle of user-space applications, that comes with ”…””}”(hjYhžhhŸNh Nubjb)”}”(hŒ ``media-ctl``”h]”hŒ media-ctl”…””}”(hjuhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jahjYubhŒ and ”…””}”(hjYhžhhŸNh Nubjb)”}”(hŒ ``v4l2-ctl``”h]”hŒv4l2-ctl”…””}”(hj‡hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jahjYubhŒo that can be used to configure the vimc configuration. This sequence of commands fits for the default topology:”…””}”(hjYhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjHhžhubhŒ literal_block”“”)”}”(hXÜmedia-ctl -d platform:vimc -V '"Sensor A":0[fmt:SBGGR8_1X8/640x480]' media-ctl -d platform:vimc -V '"Debayer A":0[fmt:SBGGR8_1X8/640x480]' media-ctl -d platform:vimc -V '"Scaler":0[fmt:RGB888_1X24/640x480]' media-ctl -d platform:vimc -V '"Scaler":0[crop:(100,50)/400x150]' media-ctl -d platform:vimc -V '"Scaler":1[fmt:RGB888_1X24/300x700]' v4l2-ctl -z platform:vimc -d "RGB/YUV Capture" -v width=300,height=700 v4l2-ctl -z platform:vimc -d "Raw Capture 0" -v pixelformat=BA81”h]”hXÜmedia-ctl -d platform:vimc -V '"Sensor A":0[fmt:SBGGR8_1X8/640x480]' media-ctl -d platform:vimc -V '"Debayer A":0[fmt:SBGGR8_1X8/640x480]' media-ctl -d platform:vimc -V '"Scaler":0[fmt:RGB888_1X24/640x480]' media-ctl -d platform:vimc -V '"Scaler":0[crop:(100,50)/400x150]' media-ctl -d platform:vimc -V '"Scaler":1[fmt:RGB888_1X24/300x700]' v4l2-ctl -z platform:vimc -d "RGB/YUV Capture" -v width=300,height=700 v4l2-ctl -z platform:vimc -d "Raw Capture 0" -v pixelformat=BA81”…””}”hj¡sbah}”(h]”h ]”h"]”h$]”h&]”h±h²Œforce”‰Œlanguage”Œbash”Œhighlight_args”}”uh1jŸhŸh³h K"hjHhžhubeh}”(h]”Œconfiguring-the-topology”ah ]”h"]”Œconfiguring the topology”ah$]”h&]”uh1h´hhÙhžhhŸh³h Kubeh}”(h]”Œtopology”ah ]”h"]”Œtopology”ah$]”h&]”uh1h´hh¶hžhhŸh³h K ubhµ)”}”(hhh]”(hº)”}”(hŒ Subdevices”h]”hŒ Subdevices”…””}”(hjÇhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjÄhžhhŸh³h K-ubhÊ)”}”(hŒ’Subdevices define the behavior of an entity in the topology. Depending on the subdevice, the entity can have multiple pads of type source or sink.”h]”hŒ’Subdevices define the behavior of an entity in the topology. Depending on the subdevice, the entity can have multiple pads of type source or sink.”…””}”(hjÕhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K/hjÄhžhubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒnvimc-sensor: Generates images in several formats using video test pattern generator. Exposes: * 1 Pad source ”h]”(hŒterm”“”)”}”(hŒ vimc-sensor:”h]”hŒ vimc-sensor:”…””}”(hjðhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jîhŸh³h K6hjêubhŒ definition”“”)”}”(hhh]”(hÊ)”}”(hŒPGenerates images in several formats using video test pattern generator. Exposes:”h]”hŒPGenerates images in several formats using video test pattern generator. Exposes:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K3hjubhŒ bullet_list”“”)”}”(hhh]”hŒ list_item”“”)”}”(hŒ 1 Pad source ”h]”hÊ)”}”(hŒ 1 Pad source”h]”hŒ 1 Pad source”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K6hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”Œbullet”j#uh1jhŸh³h K6hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jþhjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jèhŸh³h K6hjåubjé)”}”(hŒ vimc-lens: Ancillary lens for a sensor. Supports auto focus control. Linked to a vimc-sensor using an ancillary link. The lens supports FOCUS_ABSOLUTE control. ”h]”(jï)”}”(hŒ vimc-lens:”h]”hŒ vimc-lens:”…””}”(hjGhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jîhŸh³h K;hjCubjÿ)”}”(hhh]”hÊ)”}”(hŒ”Ancillary lens for a sensor. Supports auto focus control. Linked to a vimc-sensor using an ancillary link. The lens supports FOCUS_ABSOLUTE control.”h]”hŒ”Ancillary lens for a sensor. Supports auto focus control. Linked to a vimc-sensor using an ancillary link. The lens supports FOCUS_ABSOLUTE control.”…””}”(hjXhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K9hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jþhjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jèhŸh³h K;hjåhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jãhjÄhžhhŸNh Nubj )”}”(hXimedia-ctl -p ... - entity 28: Lens A (0 pad, 0 link) type V4L2 subdev subtype Lens flags 0 device node name /dev/v4l-subdev6 - entity 29: Lens B (0 pad, 0 link) type V4L2 subdev subtype Lens flags 0 device node name /dev/v4l-subdev7 v4l2-ctl -d /dev/v4l-subdev7 -C focus_absolute focus_absolute: 0”h]”hXimedia-ctl -p ... - entity 28: Lens A (0 pad, 0 link) type V4L2 subdev subtype Lens flags 0 device node name /dev/v4l-subdev6 - entity 29: Lens B (0 pad, 0 link) type V4L2 subdev subtype Lens flags 0 device node name /dev/v4l-subdev7 v4l2-ctl -d /dev/v4l-subdev7 -C focus_absolute focus_absolute: 0”…””}”hjxsbah}”(h]”h ]”h"]”h$]”h&]”h±h²j¯‰j°Œbash”j²}”uh1jŸhŸh³h K=hjÄhžhubjä)”}”(hhh]”(jé)”}”(hŒovimc-debayer: Transforms images in bayer format into a non-bayer format. Exposes: * 1 Pad sink * 1 Pad source ”h]”(jï)”}”(hŒ vimc-debayer:”h]”hŒ vimc-debayer:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jîhŸh³h KPhj‹ubjÿ)”}”(hhh]”(hÊ)”}”(hŒCTransforms images in bayer format into a non-bayer format. Exposes:”h]”hŒCTransforms images in bayer format into a non-bayer format. Exposes:”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KLhjubj)”}”(hhh]”(j)”}”(hŒ 1 Pad sink”h]”hÊ)”}”(hj³h]”hŒ 1 Pad sink”…””}”(hjµhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KOhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj®ubj)”}”(hŒ 1 Pad source ”h]”hÊ)”}”(hŒ 1 Pad source”h]”hŒ 1 Pad source”…””}”(hjÌhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KPhjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj®ubeh}”(h]”h ]”h"]”h$]”h&]”j6j#uh1jhŸh³h KOhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jþhj‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jèhŸh³h KPhjˆubjé)”}”(hXKvimc-scaler: Re-size the image to meet the source pad resolution. E.g.: if the sync pad is configured to 360x480 and the source to 1280x720, the image will be stretched to fit the source resolution. Works for any resolution within the vimc limitations (even shrinking the image if necessary). Exposes: * 1 Pad sink * 1 Pad source ”h]”(jï)”}”(hŒ vimc-scaler:”h]”hŒ vimc-scaler:”…””}”(hjöhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jîhŸh³h KZhjòubjÿ)”}”(hhh]”(hÊ)”}”(hX Re-size the image to meet the source pad resolution. E.g.: if the sync pad is configured to 360x480 and the source to 1280x720, the image will be stretched to fit the source resolution. Works for any resolution within the vimc limitations (even shrinking the image if necessary). Exposes:”h]”hX Re-size the image to meet the source pad resolution. E.g.: if the sync pad is configured to 360x480 and the source to 1280x720, the image will be stretched to fit the source resolution. Works for any resolution within the vimc limitations (even shrinking the image if necessary). Exposes:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KShjubj)”}”(hhh]”(j)”}”(hŒ 1 Pad sink”h]”hÊ)”}”(hjh]”hŒ 1 Pad sink”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KYhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒ 1 Pad source ”h]”hÊ)”}”(hŒ 1 Pad source”h]”hŒ 1 Pad source”…””}”(hj3hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KZhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”j6j#uh1jhŸh³h KYhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jþhjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1jèhŸh³h KZhjˆhžhubjé)”}”(hŒwvimc-capture: Exposes node /dev/videoX to allow userspace to capture the stream. Exposes: * 1 Pad sink * 1 Pad source ”h]”(jï)”}”(hŒ vimc-capture:”h]”hŒ vimc-capture:”…””}”(hj]hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jîhŸh³h KahjYubjÿ)”}”(hhh]”(hÊ)”}”(hŒKExposes node /dev/videoX to allow userspace to capture the stream. Exposes:”h]”hŒKExposes node /dev/videoX to allow userspace to capture the stream. Exposes:”…””}”(hjnhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K]hjkubj)”}”(hhh]”(j)”}”(hŒ 1 Pad sink”h]”hÊ)”}”(hjh]”hŒ 1 Pad sink”…””}”(hjƒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K`hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj|ubj)”}”(hŒ 1 Pad source ”h]”hÊ)”}”(hŒ 1 Pad source”h]”hŒ 1 Pad source”…””}”(hjšhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kahj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj|ubeh}”(h]”h ]”h"]”h$]”h&]”j6j#uh1jhŸh³h K`hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jþhjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1jèhŸh³h Kahjˆhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jãhjÄhžhhŸNh Nubeh}”(h]”Œ subdevices”ah ]”h"]”Œ subdevices”ah$]”h&]”uh1h´hh¶hžhhŸh³h K-ubhµ)”}”(hhh]”(hº)”}”(hŒModule options”h]”hŒModule options”…””}”(hjÑhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjÎhžhhŸh³h KdubhÊ)”}”(hŒ4Vimc has a module parameter to configure the driver.”h]”hŒ4Vimc has a module parameter to configure the driver.”…””}”(hjßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KfhjÎhžhubj)”}”(hhh]”j)”}”(hŒ½``allocator=`` memory allocator selection, default is 0. It specifies the way buffers will be allocated. - 0: vmalloc - 1: dma-contig”h]”(hÊ)”}”(hŒ``allocator=``”h]”jb)”}”(hjöh]”hŒallocator=”…””}”(hjøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jahjôubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhhjðubhŒ block_quote”“”)”}”(hŒ‡memory allocator selection, default is 0. It specifies the way buffers will be allocated. - 0: vmalloc - 1: dma-contig”h]”(hÊ)”}”(hŒYmemory allocator selection, default is 0. It specifies the way buffers will be allocated.”h]”hŒYmemory allocator selection, default is 0. It specifies the way buffers will be allocated.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kjhj ubj )”}”(hŒ- 0: vmalloc - 1: dma-contig”h]”j)”}”(hhh]”(j)”}”(hŒ 0: vmalloc”h]”hÊ)”}”(hj(h]”hŒ 0: vmalloc”…””}”(hj*hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kmhj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubj)”}”(hŒ 1: dma-contig”h]”hÊ)”}”(hj?h]”hŒ 1: dma-contig”…””}”(hjAhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Knhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubeh}”(h]”h ]”h"]”h$]”h&]”j6Œ-”uh1jhŸh³h Kmhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j hŸh³h Kmhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hŸh³h Kjhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjíhžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”j6j#uh1jhŸh³h KhhjÎhžhubeh}”(h]”Œmodule-options”ah ]”h"]”Œmodule options”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kdubeh}”(h]”Œ(the-virtual-media-controller-driver-vimc”ah ]”h"]”Œ*the virtual media controller driver (vimc)”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(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”}”Œrefids”}”j]”húasŒnameids”}”(j€j}jÁj¾jAjj¹j¶jËjÈjxjuuŒ nametypes”}”(j€‰jÁ‰jAˆj¹‰jˉjx‰uh}”(j}h¶j¾hÙjj j¶jHjÈjÄjujÎj6juŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œ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Œ9Hyperlink target "vimc-topology-graph" is not referenced.”…””}”hjsbah}”(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.