Skip to main content

Pipeline runtime

Graph, PipelineRun, options, reports, errors. More...

Classes Index

structDebugOptions

Tunables for debug-mode pipeline dumps. More...

structDebugOutput

One captured pipeline output (single-shot dump result). More...

structDebugStream

Streaming iterator over debug-mode pipeline outputs. More...

structBox

One axis-aligned detection produced by BoxDecode. More...

structBoxDecodeResult

Parsed BoxDecode output paired with its raw byte buffer. More...

structFormatSpec

Thin wrapper around FormatTag with implicit string conversions. More...

classRtspServerHandle

Live handle for a Graph running in RTSP server mode. More...

classGraph

The assembly stage — turns a list of Nodes into a runnable, deterministic pipeline. More...

structGroupMeta

Per-fragment metadata captured during build. More...

structRtspServerOptions

Options for Graph::run_rtsp() — controls the RTSP server's mount point and ports. More...

structAdvancedExecutionOptions

Intent-named, jargon-free execution controls (preferred over the raw legacy fields). More...

structGraphOptions

Per-Graph construction options. More...

structOutputTensorOptions

Options for Graph::add_output_tensor() — the tensor-friendly output helper. More...

structSample

Typed payload returned by Run::pull() and consumed by Run::push(). More...

structRunOptions

Per-Run runtime options. More...

classRun

Live pipeline handle: push inputs in, pull outputs out. More...

structBoxDecodeOptions

Options driving a standalone BoxDecode invocation. More...

Enumerations Index

enum classBoxDecodeType : std::int32_t { ... }

Decode families accepted by the BoxDecode backend. More...

enum classBoxDecodeTypeOption : std::int32_t { ... }

Tensor packing/layout option within a decode family. More...

enum classBoxDecodeSourceStorage : std::int32_t { ... }

Source byte layout of the head tensors feeding a BoxDecode stage. More...

enum classFormatTag { ... }

Identifies a media or tensor payload format. More...

enum classRunMode { ... }

Internal timing mode a Run operates in. More...

enum classSampleKind { ... }

What kind of payload a Sample carries. More...

enum classPullStatus { ... }

Result status of Run::pull(). More...

enum classOverflowPolicy { ... }

What push() does when the input queue is full. More...

enum classRunPreset { ... }

Convenience preset bundles for RunOptions. More...

enum classOutputMemory { ... }

How output Tensors relate to the underlying GStreamer buffers. More...

Description

Graph, PipelineRun, options, reports, errors.

Enumerations

BoxDecodeSourceStorage

enum class simaai::neat::BoxDecodeSourceStorage : std::int32_t
strong

Source byte layout of the head tensors feeding a BoxDecode stage.

Enumeration values
DenseHwcDense, physically contiguous HWC heads (e.g. a Cast/dequant output) (= 0)
PackedCBlockChannel-block packed / tessellated heads (e.g. a cblock detess output) (= 1)

For model-pack (Model-constructed) graphs this is resolved authoritatively from the model archive and must NOT be set by hand. For hand-built graphs that decode without a model pack (e.g. a Cast/detess stage stitched directly into SimaBoxDecode), the upstream contract does not carry the packing flags, so the value cannot be inferred and must be specified explicitly via the SimaBoxDecode constructor. When it is neither supplied by a model pack nor specified, contract compilation fails fast.

Definition at line 99 of file BoxDecodeType.h.

BoxDecodeType

enum class simaai::neat::BoxDecodeType : std::int32_t
strong

Decode families accepted by the BoxDecode backend.

Enumeration values
UnspecifiedSentinel: no decode family selected (fails fast at runtime) (= 0)
YoloGeneric YOLO family token (= 1)
YoloV5YOLOv5 detection (= 2)
YoloV5SegYOLOv5 segmentation (= 3)
YoloV7YOLOv7 detection (= 4)
YoloV7SegYOLOv7 segmentation (= 5)
YoloV8YOLOv8 detection (= 6)
YoloV8SegYOLOv8 segmentation (= 7)
YoloV8PoseYOLOv8 pose-estimation heads (= 8)
YoloV9YOLOv9 detection (= 9)
YoloV9SegYOLOv9 segmentation (= 10)
YoloV10YOLOv10 detection (= 11)
YoloV10SegYOLOv10 segmentation (= 12)
DetrDETR-style transformer detection (= 13)
EffDetEfficientDet detection (= 14)
RcnnStage1Region-proposal stage of two-stage R-CNN models (= 15)
CenternetCenterNet keypoint-style detection (= 16)
YoloV26YOLO26 detection (raw l/t/r/b distance heads) (= 17)
YoloV26PoseYOLO26 pose-estimation heads (= 18)
YoloV26SegYOLO26 segmentation heads (= 19)
YoloV6YOLOv6 raw l/t/r/b distance heads (= 20)
YoloXYOLOX raw xywh heads with separate objectness and class logits (= 21)

Unspecified is an internal unset sentinel and must fail fast before runtime decode. Most YOLO-family variants share the same class-inference contract in genericboxdecode_v2:

  • decoupled heads: repeated class-depth tensors, class depth > 4
  • packed heads: depth = 3 * (num_classes + 5), consistent across heads YoloV26 uses decoupled 4-channel raw l/t/r/b bbox heads paired with class heads. YoloV26Seg uses the same raw l/t/r/b bbox heads, class-score heads, 32-channel mask-coefficient heads, and a trailing mask prototype. YoloV26Pose uses the same raw l/t/r/b bbox heads, 1-channel pose scores, and 51-channel keypoint heads.

Definition at line 37 of file BoxDecodeType.h.

BoxDecodeTypeOption

enum class simaai::neat::BoxDecodeTypeOption : std::int32_t
strong

Tensor packing/layout option within a decode family.

Enumeration values
AutoBackend infers the layout from tensor shapes (= 0)
PackedPerHeadEach head holds a single packed tensor (box+obj+cls) (= 1)
InterleavedByHeadHeads interleaved within tensors (= 2)
GroupedByRoleTensors grouped by role (box, score, class) (= 3)
Split3InterleavedThree split tensors, head-interleaved (= 4)
Split3GroupedThree split tensors, grouped by role (= 5)
InterleavedByHeadProbabilityInterleaved-by-head, class scores as probabilities (= 6)
InterleavedByHeadLogitInterleaved-by-head, class scores as logits (= 7)
GroupedByRoleProbabilityGrouped-by-role, class scores as probabilities (= 8)
GroupedByRoleLogitGrouped-by-role, class scores as logits (= 9)

Some families admit multiple equivalent head layouts (packed vs interleaved, grouped by role, probability vs logit class scores). Auto lets the planner pick from observed tensor geometry; the explicit values force a particular decoding contract for ambiguous models.

Definition at line 74 of file BoxDecodeType.h.

FormatTag

enum class simaai::neat::FormatTag
strong

Identifies a media or tensor payload format.

Enumeration values
AutoUnset / framework decides (= 0)
RGBPacked RGB, 8 bits per channel
BGRPacked BGR, 8 bits per channel (OpenCV default)
GRAY8Single-plane 8-bit grayscale
NV12YUV 4:2:0, Y plane + interleaved UV plane
I420YUV 4:2:0, three planes (Y, U, V)
YUYVYUV 4:2:2 packed (Y0 U Y1 V)
ENCODEDGeneric encoded payload (codec from caps)
H264H.264 access unit / NAL stream
ByteStreamOpaque byte stream; downstream interprets bytes by contract
MLAMLA-tessellated tensor payload
BBOXDecoded bounding-box byte stream
ARGMAXArgmax/segmentation map
DETESSDEQUANTDetessellated + dequantized tensor payload
FP32IEEE-754 32-bit float tensor
INT8Signed 8-bit integer tensor
UINT8Unsigned 8-bit integer tensor
BF16bfloat16 tensor
EVXX_FLOAT32EV-side alias for FP32
EVXX_INT8EV-side alias for INT8
EVXX_BFLOAT16EV-side alias for BF16

Used in caps strings and option fields throughout the pipeline. Auto is the unset sentinel (let the framework pick or sniff). The EVXX_ variants are aliases preferred by the EV74 caps surface.

See Also

FormatSpec

Definition at line 36 of file FormatSpec.h.

OutputMemory

enum class simaai::neat::OutputMemory
strong

How output Tensors relate to the underlying GStreamer buffers.

Enumeration values
Auto (= 0)
ZeroCopy
Owned

Auto lets the framework pick based on platform and pipeline shape. ZeroCopy shares storage with GStreamer (faster but lifetime-coupled to the Run). Owned copies into a framework-owned buffer (safer, slightly slower).

Definition at line 100 of file Run.h.

OverflowPolicy

enum class simaai::neat::OverflowPolicy
strong

What push() does when the input queue is full.

Enumeration values
Blockpush() blocks until queue space frees up. Lossless. Use for batch processing (= 0)
KeepLatestDrop the oldest queued frame to make room
DropIncomingDrop the new frame; keep what's queued

The right choice depends on the input source — file batches want lossless, live cameras want freshness, network feeds with chokepoint pipelines want bounded memory.

Definition at line 70 of file Run.h.

PullStatus

enum class simaai::neat::PullStatus
strong

Result status of Run::pull().

Enumeration values
OkA sample is available in the output parameter
TimeoutThe wait elapsed without a sample arriving
ClosedThe pipeline has reached EOS; no more samples will come
ErrorA runtime error occurred; check the optional PullError

Definition at line 432 of file GraphOptions.h.

RunMode

enum class simaai::neat::RunMode
strong

Internal timing mode a Run operates in.

Enumeration values
AsyncContinuous pipeline; user pushes/pulls asynchronously
SyncOne frame in, one result out, synchronously

Public Graph users should not pass this into Graph::build(...): use Graph::build(...) for reusable push/pull runners and Graph::run(...) for one-shot execution. The runtime still keeps this enum to select internal optimized paths.

See Also

Graph::build, Graph::run

Definition at line 195 of file GraphOptions.h.

RunPreset

enum class simaai::neat::RunPreset
strong

Convenience preset bundles for RunOptions.

Enumeration values
RealtimeLow-latency; small queues; KeepLatest overflow
BalancedDefault; moderate queues; Block overflow
ReliableLossless; deeper queues; Block overflow

Each preset adjusts queue depth, overflow policy, and output ownership to a profile that's known to work well for one workload class. Use start_measurement() when you want performance data for any preset.

Definition at line 86 of file Run.h.

SampleKind

enum class simaai::neat::SampleKind
strong

What kind of payload a Sample carries.

Enumeration values
TensorSingle tensor payload (the tensor field is set)
TensorSetMultiple tensors at one logical output index (the tensors field is set)
BundleRecursive: payload is a vector of Samples (the fields field is set)
UnknownDefault/uninitialized

The framework's outputs come in three shapes depending on the model's output topology: a single Tensor, a flat list of Tensors (TensorSet), or a recursive Bundle of Samples (Bundle, used by multi-logical-output models).

See Also

Sample

Definition at line 421 of file GraphOptions.h.


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.