simaaiprocesscvu

The simaaiprocesscvu GStreamer plugin processes buffers by executing a SiMa.ai graph on the CVU (e.g., EV74). It acts as an aggregator, collecting input buffers from multiple sources and producing a single output buffer. The plugin utilizes SiMa.ai’s memory management and dispatcher for efficient execution on the hardware.

Properties

Property

Type

Default Value

Description

config

string

“/mnt/host/evxx_pre_proc.json”

Path to the JSON configuration file for the SiMa.ai graph.

dump-data

boolean

FALSE

Saves output buffers in binary dumps in /tmp/{node-name}-:03{frame_id}.out.

emit-signals

boolean

FALSE

Send signals.

latency

int64

0

Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds).

min-upstream-latency

int64

0

Allows setting a custom minimum latency for sources added later. Used only if it exceeds the latency reported by existing sources..

name

string

“simaaiprocesscvu0”

The name of the object.

num-buffers

long

5

Number of buffers to be allocated of size of buffer.

silent

boolean

TRUE

Produce verbose output.

start-time

int64

18446744073709551615

Start time to use if start-time-selection=set.

start-time-selection

enum

0, “zero”

Decides which start time is output.

transmit

boolean

FALSE

Transmit KPI Message.

Usage

The simaaiprocesscvu plugin integrates into a GStreamer pipeline as a aggregator element. It requires input buffers with SiMa.ai metadata. Here’s an example gst-launch-1.0 command:

simaaisrc location="input" node-name="allegrodec" mem-target=1 \
! simaaiprocesscvu name=cvu config="/path/to/your/config.json" \
! fakesink
  • Replace /path/to/your/config.json with the actual path to your JSON configuration file.

  • The name property assigns a name to the plugin instance within the pipeline, used for debugging and metadata.

For correct buffer identification, the input buffer’s name must match the upstream plugin’s settings. When the upstream element is simaaisrc, this must equal its node-name parameter; for all other plugins, it must match their name parameter.

"input_buffers": [
    {
        "memories": [
            {
                "segment_name" : "tensor_one",
                "graph_input_name" : "input_one",
            {
            }
                "segment_name" : "tensor_two",
                "graph_input_name" : "input_two",
            }
        ]
        "name": "allegrodec"
    },
    {
        "memories": {
            "tensor": "input_three"
        },
        "name": "buffer_two, buffer_three, buffer_four"
    }
],
"output_memory_order" : [
    "output_tensor_3",
    "output_tensor_1",
    "output_tensor_2"
]

Installation

To install the simaaiprocesscvu plugin, copy the plugin files (located in /usr/local/simaai/plugin_zoo/gst-simaai-plugins-base/gst/) into your project’s plugins/ directory. Ensure that the necessary SiMa.ai libraries are correctly installed and configured on your system. The plugin will then be automatically discovered by GStreamer.