# Topology graph XML

Source: [https://docs.qualcomm.com/doc/80-88500-4/topic/128_Topology_graph_XML.html](https://docs.qualcomm.com/doc/80-88500-4/topic/128_Topology_graph_XML.html)

The hardware and software image processing nodes are required to produce desired
    output, and the connections between those nodes determine how data flows through the camera
    subsystem. This set of nodes and connections is called a topology.

A use case is defined by a set of targets to be processed, and a set of per-session settings
      which further define how the data should be processed. Each use case is represented by a
      topology, which is the connection between the information passed into the HAL3 API, and the
      concrete definition of how to process the data. The list of all the use cases and their
      corresponding topologies are encoded in an XML file. A use case is selected during
      configure\_streams based on two sections in the XML and an XSD schema, which defines the
      structure of the XML, is provided. Tools are provided to package the XML files as an offline
      binary for consumption by the CHI driver.

Figure : Relationship between nodes, ports, and links
      
      ![](data:image/png;base64,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)

For additional information, see the following documents:

- For information on generating new use cases in XML, see <cite class="cite">Qualcomm Spectra ISP Camera
          CHI API Reference</cite> (80-PC212-1).
- For information on generating custom CHI nodes, see <cite class="cite">CHI Customization Guide</cite>
        (80-PN984-4).

**Parent Topic:** [Camera](https://docs.qualcomm.com/doc/80-88500-4/topic/122_Camera.html)

Last Published: Aug 18, 2023

[Previous Topic
CHI architecture model](https://docs.qualcomm.com/bundle/publicresource/80-88500-4/topics/127_CHI_architecture_model.md) [Next Topic
CamX](https://docs.qualcomm.com/bundle/publicresource/80-88500-4/topics/129_CamX.md)