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...

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...

structProfilerKernelInvocation

One kernel-invocation telemetry event. More...

structProfilerMemcpySite

Aggregate counters for one instrumented memcpy site. More...

structProfilerKernelAggregate

Aggregated timings for one (backend, kernel, stage, slot) tuple. More...

structProfilerReport

Snapshot bundle returned by LatencyProfiler::finalize(). More...

structLatencyProfilerOptions

Construction options for LatencyProfiler. More...

classLatencyProfiler

Per-sample latency tracker; attach to a Run to capture timing telemetry. 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 classFormatTag { ... }

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

enum classRunMode { ... }

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

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)

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.

Definition at line 33 of file BoxDecodeType.h.

33enum class BoxDecodeType : std::int32_t {
34 // Internal sentinel; runtime decode requires a concrete value.
35 Unspecified = 0,
36 // YOLO-family (generic token).
37 Yolo = 1,
38 YoloV5 = 2,
39 YoloV5Seg = 3,
40 YoloV7 = 4,
41 YoloV7Seg = 5,
42 YoloV8 = 6,
43 YoloV8Seg = 7,
44 YoloV8Pose = 8,
45 YoloV9 = 9,
46 YoloV9Seg = 10,
47 YoloV10 = 11,
48 YoloV10Seg = 12,
49 Detr = 13,
50 EffDet = 14,
51 RcnnStage1 = 15,
52 Centernet = 16,
53 YoloV26 = 17,
54};

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 66 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.

36enum class FormatTag {
37 Auto = 0,
38 RGB,
39 BGR,
40 GRAY8,
41 NV12,
42 I420,
43 YUYV,
44 ENCODED,
45 H264,
47 MLA,
48 BBOX,
49 ARGMAX,
51 FP32,
52 INT8,
53 UINT8,
54 BF16,
58};

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.

100enum class OutputMemory {
101 Auto = 0,
103 Owned,
104};

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 71 of file Run.h.

71enum class OverflowPolicy {
72 Block = 0,
77};

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 352 of file GraphOptions.h.

352enum class PullStatus {
353 Ok,
354 Timeout,
355 Closed,
356 Error,
357};

RunMode

enum class simaai::neat::RunMode
strong

Timing mode a Run operates in.

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

Async runs the pipeline continuously with internal worker threads; user code pushes and pulls at its own pace. Sync runs one frame at a time on the calling thread. Choose based on the input source: streaming sources → Async; one-shot/batch → Sync.

See Also

Run

Definition at line 195 of file GraphOptions.h.

195enum class RunMode {
196 Async,
197 Sync,
198};

RunPreset

enum class simaai::neat::RunPreset
strong

Convenience preset bundles for RunOptions.

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

Each preset adjusts queue depth, overflow policy, and metrics flags to a profile that's known to work well for one workload class.

Definition at line 86 of file Run.h.

86enum class RunPreset {
90};

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 341 of file GraphOptions.h.

341enum class SampleKind {
342 Tensor,
343 TensorSet,
344 Bundle,
345 Unknown,
346};

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.