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 |
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.jsonwith the actual path to your JSON configuration file.The
nameproperty 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.