simaaidecoder

This section talks about the GStreamer plugin named simaaidecoder.

Description

simaaidecoder is used for decoding the incoming stream using Allegro Decoder. Supports the H.264 compression standards HEVC (High Efficiency Video Coding) with support for baseline/main/high profiles, 4:2:0 pixels and 8-bit precision. The encoder supports rates up to 4KP30, while the decoder supports up to 4KP60.

  • The standalone configuration of plugin through its individual parameters.

  • The configuration manager method, which only needs the config``and ``node-name properties.

The SiMa.ai decoder plugin supports the following:

../../_images/mlsoc_diagram_allegro.png

Config JSON Parameters

Config JSON is not needed for this plugin.

Example Usage

1simaaidecoder name=simaaidecoder1 op-buff-name=simaaidecoder1 dec-width=1280 dec-height=720 dec-fmt=YUV420P dec-fps=30 next-element=CVU op-buff-cached=true

gst-inspect-1.0 Output

  1Factory Details:
  2Rank                     primary (256)
  3Long-name                SiMa.AI Decoder Plugin
  4Klass                    Decoder
  5Description              Video Decoder
  6Author                   Pawan Kumar <pawankumar.ts@sima.ai>
  7
  8Plugin Details:
  9Name                     simaaidecoder
 10Description              GStreamer SiMa.ai Decoder Plugin
 11Filename                 /usr/lib/gstreamer-1.0/libgstsimaaidecoder.so
 12Version                  1.18.16
 13License                  LGPL
 14Source module            simaai-soc-pipeline-decoder
 15Binary package           GStreamer SiMa.ai Decoder Plug-in
 16Origin URL               https://bitbucket.org/sima-ai/simaai-soc-pipeline
 17
 18GObject
 19+----GInitiallyUnowned
 20    +----GstObject
 21            +----GstElement
 22                +----GstSimaAiDecoder
 23
 24Pad Templates:
 25SINK template: 'sink'
 26    Availability: Always
 27    Capabilities:
 28    video/x-h264
 29                parsed: true
 30        stream-format: byte-stream
 31            alignment: au
 32    video/x-h264
 33                parsed: false
 34    video/x-h265
 35                parsed: true
 36        stream-format: byte-stream
 37            alignment: au
 38    video/x-h265
 39                parsed: false
 40
 41SRC template: 'src'
 42    Availability: Always
 43    Capabilities:
 44    video/x-raw
 45                format: { (string)I420, (string)NV12 }
 46
 47Element has no clocking capabilities.
 48Element has no URI handling capabilities.
 49
 50Pads:
 51SRC: 'src'
 52    Pad Template: 'src'
 53SINK: 'sink'
 54    Pad Template: 'sink'
 55
 56Element Properties:
 57apu-mem-pool        : Choose one of o/p pool in APU "malloc" or "CMA(reserved)"
 58                        flags: readable, writable
 59                        String. Default: "malloc"
 60config              : Config JSON for CM (if given no other config params needed)
 61                        flags: readable, writable
 62                        String. Default: ""
 63dec-fmt             : o/p fmt either "NV12","YUV420P"
 64                        flags: readable, writable
 65                        String. Default: "NV12"
 66dec-fps             : Works only for dec-type:split-input mode
 67                        flags: readable, writable
 68                        Integer. Range: 0 - 2147483647 Default: -1
 69dec-height          : Video file resolution height
 70                        flags: readable, writable
 71                        Integer. Range: 0 - 1080 Default: -1
 72dec-ip-cnt          : Decoder i/p count(Default:unalign-input 2,split-input 5)
 73                        flags: readable, writable
 74                        Integer. Range: 2 - 6 Default: 2
 75dec-mode            : Either "split-input" or "unalign-input"
 76                        flags: readable, writable
 77                        String. Default: "split-input"
 78dec-type            : Either h264 or h265
 79                        flags: readable, writable
 80                        String. Default: "h264"
 81dec-width           : Video file resolution width
 82                        flags: readable, writable
 83                        Integer. Range: 0 - 1920 Default: -1
 84dump-cnt            : No. of decode frames to be dumped
 85                        flags: readable, writable
 86                        Integer. Range: 0 - 2147483647 Default: -1
 87dump-path           : Path for decode frames to be dumped
 88                        flags: readable, writable
 89                        String. Default: "/tmp"
 90ip-queue-max-buffers: High water mark for input queue ,if > then it blocks
 91                        flags: readable, writable
 92                        Integer. Range: 0 - 2147483647 Default: 60
 93ip-queue-min-buffers: Low water mark for input queue
 94                        flags: readable, writable
 95                        Integer. Range: 0 - 2147483647 Default: 30
 96name                : The name of the object
 97                        flags: readable, writable, 0x2000
 98                        String. Default: "simaaidecoder0"
 99next-element        : Choose one of o/p pool "CVU","FPGA","ISP" "APU"(as of now only CVU & APU supported)
100                        flags: readable, writable
101                        String. Default: "CVU"
102node-name           : As in json for matching it for CM
103                        flags: readable, writable
104                        String. Default: ""
105op-buff-cached      : Specify if op-buff from decoder is cached (applicable for CVU & CMA heap)
106                        flags: readable, writable
107                        Boolean. Default: false
108op-buff-name        : "buffer-name" as custom meta for o/p buffer (Default: CM node-name,if no CM element-name)
109                        flags: readable, writable
110                        String. Default: "simaaidecoder0"
111op-pool-cnt         : o/p buffer count from pool as in next-element prop
112                        flags: readable, writable
113                        Integer. Range: 5 - 10 Default: 7
114parent              : The parent of the object
115                        flags: readable, writable, 0x2000
116                        Object of type "GstObject"

Note

Please refer to simaaidecoder’s README file for more information.