€•JŒ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ŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/pt_BR/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”uh1j 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”}”Œ*”j4suh1j%hj"h³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&]”uh1j8h³hÇh´Khj"ubeh}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œalign”Œcenter”uh1j hjubah}”(h]”jah ]”h"]”Œvimc_topology_graph”ah$]”h&]”uh1jhhíh²hh³hÇh´NŒexpect_referenced_by_name”}”jUjsŒexpect_referenced_by_id”}”jjsubhÉ)”}”(hhh]”(hÎ)”}”(hŒConfiguring the topology”h]”hŒConfiguring the topology”…””}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj\h²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 ”…””}”(hjmh²hh³Nh´NubhŒliteral”“”)”}”(hŒ ``v4l-utils``”h]”hŒ v4l-utils”…””}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjmubhŒA package is a bundle of user-space applications, that comes with ”…””}”(hjmh²hh³Nh´Nubjv)”}”(hŒ ``media-ctl``”h]”hŒ media-ctl”…””}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjmubhŒ and ”…””}”(hjmh²hh³Nh´Nubjv)”}”(hŒ ``v4l2-ctl``”h]”hŒv4l2-ctl”…””}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjmubhŒo that can be used to configure the vimc configuration. This sequence of commands fits for the default topology:”…””}”(hjmh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj\h²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"hj\h²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:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³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”…””}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K6hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j*hj'ubah}”(h]”h ]”h"]”h$]”h&]”Œbullet”j7uh1j%h³hÇh´K6hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjþ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:”…””}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K;hjWubj)”}”(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.”…””}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K9hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjWubeh}”(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”…””}”hjŒsbah}”(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:”…””}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³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´KLhj±ubj&)”}”(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&]”uh1j*hjÂ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&]”uh1j*hjÂubeh}”(h]”h ]”h"]”h$]”h&]”jJj7uh1j%h³hÇh´KOhj±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸ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&]”uh1jh³hÇh´KZhjubj)”}”(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Þ)”}”(hj.h]”hŒ 1 Pad sink”…””}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KYhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j*hj)ubj+)”}”(hŒ 1 Pad source ”h]”hÞ)”}”(hŒ 1 Pad source”h]”hŒ 1 Pad source”…””}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KZhjCubah}”(h]”h ]”h"]”h$]”h&]”uh1j*hj)ubeh}”(h]”h ]”h"]”h$]”h&]”jJj7uh1j%h³hÇh´KYhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(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:”…””}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kahjmubj)”}”(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:”…””}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K]hjubj&)”}”(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´K`hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j*hjubj+)”}”(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&]”uh1j*hjubeh}”(h]”h ]”h"]”h$]”h&]”jJj7uh1j%h³hÇh´K`hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubeh}”(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]”jv)”}”(hj h]”hŒallocator=”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhjubhŒ 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.”…””}”(hj%h²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&]”uh1j*hj7ubj+)”}”(hŒ 1: dma-contig”h]”hÞ)”}”(hjSh]”hŒ 1: dma-contig”…””}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KnhjQubah}”(h]”h ]”h"]”h$]”h&]”uh1j*hj7ubeh}”(h]”h ]”h"]”h$]”h&]”jJŒ-”uh1j%h³hÇh´Kmhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kmhj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kjhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j*hjh²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”jJj7uh1j%h³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]”jasŒnameids”}”(j”j‘jÕjÒjUjjÍjÊjßjÜjŒj‰uŒ nametypes”}”(j”‰jÕ‰jUˆj͉j߉jŒ‰uh}”(j‘hÊjÒhíjjjÊj\jÜjØj‰jâjJj"uŒ 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.”…””}”hj$sbah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhj!ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1jubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.