simaaiprocessmla ================ This GStreamer plugin, ``simaaiprocessmla``, executes Machine Learning Accelerator (MLA) inference within a GStreamer pipeline. It takes input buffers, performs inference using a specified MLA model, and outputs the results in new buffers. The plugin handles memory allocation and management, ensuring efficient integration with the SiMa.ai hardware. Properties ---------- ============== ======= =================== ========================================================================= Property Type Default Value Description ============== ======= =================== ========================================================================= config string “” Path to configuration file. dump-data boolean FALSE Save binary outputs to ``/tmp/[node-name]``. multi-pipeline boolean FALSE If TRUE, utilizes a dispatcher enabling multiple pipelines on the device. num-buffers uint 5 Number of buffers allocated for processing. name string “simaaiprocessmla0” The name of the object. silent boolean FALSE If TRUE, suppresses verbose output. transmit boolean FALSE Transmit KPI Message. ============== ======= =================== ========================================================================= Usage ----- The ``simaaiprocessmla`` plugin is integrated into a GStreamer pipeline as a ``base-transform`` element. It takes input data (the format defined in the config file), runs inference through the specified MLA model, and delivers results in a specified output format (also defined in the config file). Example ``gst-launch-1.0`` pipeline: .. code:: bash gst-launch-1.0 simaaisrc location=/path/to/input.file ! ...input-processing-elements... ! simaaiprocessmla name=mla config=/path/to/config.json ! ...output-processing-elements... ! fakesink Replace ``/path/to/input.file`` with the actual path to your input file and ``/path/to/config.json`` with the path to your configuration file. The ``...input-processing-elements...`` and ``...output-processing-elements...`` should be replaced with the appropriate GStreamer elements for your input and output data formats, respectively. The config file must define the input and output data paths. Config File Example ------------------- .. code:: json { "version" : 0.1, "simaai__params" : { "next_cpu" : 1, "outputs" : [ { "name": "hm_tensor", "size": 115200 }, { "name": "paf_tensor", "size": 172800 } ], "batch_size" : 1, "batch_sz_model": 1, "model_path" : "/data/openpose.elf" }, "caps": { "sink_pads": [ { "media_type": "video/x-raw", "params": [ { "name": "format", "type": "string", "values": "RGB, BGR", "json_field": null }, { "name": "width", "type": "int", "values": "1 - 4096", "json_field": null }, { "name": "height", "type": "int", "values": "1 - 4096", "json_field": null } ] } ], "src_pads": [ { "media_type": "application/vnd.simaai.tensor", "params": [ { "name": "format", "type": "string", "values": "MLA", "json_field": null } ] } ] } } Installation ------------ To install the ``simaaiprocessmla`` plugin, copy the plugin files from ``/usr/local/simaai/plugin_zoo/gst-simaai-plugins-base/gst/`` into your project’s ``plugins/`` directory. The plugin needs to be placed inside a subdirectory of the same name as its plugin name, e.g. ``plugins/simaaiprocessmla/``.