vision
May 15, 2026 ยท View on GitHub
{#visionmodule}
vision
Video intelligence primitives for sampled frame processing and event output.
Namespaces
| Name | Description |
|---|---|
vision |
{#vision}
vision
Classes
| Name | Description |
|---|---|
DetectionQueue | Async queue for normalized detector-ready frames. |
Detector | Base interface for detectors that consume normalized vision frames. |
FrameNormalizer | Converts sampled decoded video into owned detector-ready frames. |
FrameSampler | PacketProcessor that forwards a sampled subset of decoded video frames. |
MotionDetector | |
VisionEventEmitter | |
Detection | |
FrameNormalizerConfig | |
FrameNormalizerStats | |
FrameSamplerConfig | |
FrameSamplerStats | |
MotionDetectorConfig | |
MotionDetectorStats | |
Region | |
Track | |
VisionEvent | |
VisionFrameContext | |
VisionFramePacket | Owned detector-ready frame buffer carrying stable frame metadata. |
Typedefs
| Return | Name | Description |
|---|---|---|
Signal< void(const VisionEvent &)> | VisionEventSignal | |
VisionFrameContext | FrameRef |
{#visioneventsignal}
VisionEventSignal
using VisionEventSignal = Signal< void(const VisionEvent &)>
{#frameref}
FrameRef
using FrameRef = VisionFrameContext
Functions
| Return | Name | Description |
|---|---|---|
Vision_APIVisionFrameContext | makeVisionFrameContext nodiscard | |
FrameRef | makeFrameRef inline nodiscard | |
Vision_APIjson::Value | toJson nodiscard | |
Vision_APIjson::Value | toJson nodiscard | |
Vision_APIjson::Value | toJson nodiscard | |
Vision_APIjson::Value | toJson nodiscard | |
Vision_APIjson::Value | toJson nodiscard |
{#makevisionframecontext}
makeVisionFrameContext
nodiscard
[[nodiscard]] Vision_APIVisionFrameContext makeVisionFrameContext(const av::PlanarVideoPacket & packet, uint64_t frameId = 0, const std::string & sourceId = {}, const std::string & streamId = {}, int64_t receivedAtUsec = 0)
{#makeframeref}
makeFrameRef
inline nodiscard
[[nodiscard]] inline FrameRef makeFrameRef(const av::PlanarVideoPacket & packet, uint64_t sequence = 0, const std::string & sourceId = {}, const std::string & streamId = {}, int64_t receivedAtUsec = 0)
{#tojson-3}
toJson
nodiscard
[[nodiscard]] Vision_APIjson::Value toJson(const Region & region)
{#tojson-4}
toJson
nodiscard
[[nodiscard]] Vision_APIjson::Value toJson(const VisionFrameContext & frame)
{#tojson-5}
toJson
nodiscard
[[nodiscard]] Vision_APIjson::Value toJson(const Detection & detection)
{#tojson-6}
toJson
nodiscard
[[nodiscard]] Vision_APIjson::Value toJson(const Track & track)
{#tojson-7}
toJson
nodiscard
[[nodiscard]] Vision_APIjson::Value toJson(const VisionEvent & event)
{#detectionqueue}
DetectionQueue
#include <icy/vision/detectionqueue.h>
class DetectionQueue
Defined in src/vision/include/icy/vision/detectionqueue.h:30
Inherits:
AsyncPacketQueue< VisionFramePacket >
Async queue for normalized detector-ready frames.
This is the intentional async boundary for detection work. Upstream stages can stay borrowed until [FrameNormalizer](#framenormalizer) materializes an owned [VisionFramePacket](#visionframepacket), after which this queue bounds in-flight detection work by dropping the oldest queued frames first.
List of all members
| Name | Kind | Owner |
|---|---|---|
DetectionQueue | function | Declared here |
Queue | typedef | Inherited from AsyncPacketQueue |
Processor | typedef | Inherited from AsyncPacketQueue |
emitter | variable | Inherited from AsyncPacketQueue |
AsyncPacketQueue | function | Inherited from AsyncPacketQueue |
~AsyncPacketQueue | function | Inherited from AsyncPacketQueue |
close | function | Inherited from AsyncPacketQueue |
process | function | Inherited from AsyncPacketQueue |
accepts | function | Inherited from AsyncPacketQueue |
retention | function | Inherited from AsyncPacketQueue |
dispatch | function | Inherited from AsyncPacketQueue |
onStreamStateChange | function | Inherited from AsyncPacketQueue |
Queue | typedef | Inherited from AsyncQueue |
_thread | variable | Inherited from AsyncQueue |
AsyncQueue | function | Inherited from AsyncQueue |
cancel | function | Inherited from AsyncQueue |
~AsyncQueue | function | Inherited from AsyncQueue |
ondispatch | variable | Inherited from RunnableQueue |
_limit | variable | Inherited from RunnableQueue |
_timeout | variable | Inherited from RunnableQueue |
_dropped | variable | Inherited from RunnableQueue |
RunnableQueue | function | Inherited from RunnableQueue |
~RunnableQueue | function | Inherited from RunnableQueue |
push | function | Inherited from RunnableQueue |
flush | function | Inherited from RunnableQueue |
clear | function | Inherited from RunnableQueue |
run | function | Inherited from RunnableQueue |
runTimeout | function | Inherited from RunnableQueue |
dispatch | function | Inherited from RunnableQueue |
timeout | function | Inherited from RunnableQueue |
setTimeout | function | Inherited from RunnableQueue |
dropped | function | Inherited from RunnableQueue |
RunnableQueue | function | Inherited from RunnableQueue |
operator= | function | Inherited from RunnableQueue |
RunnableQueue | function | Inherited from RunnableQueue |
operator= | function | Inherited from RunnableQueue |
popNext | function | Inherited from RunnableQueue |
dispatchNext | function | Inherited from RunnableQueue |
_queue | variable | Inherited from Queue |
_mutex | variable | Inherited from Queue |
push | function | Inherited from Queue |
push | function | Inherited from Queue |
empty | function | Inherited from Queue |
front | function | Inherited from Queue |
back | function | Inherited from Queue |
pop | function | Inherited from Queue |
sort | function | Inherited from Queue |
size | function | Inherited from Queue |
queue | function | Inherited from Queue |
Runnable | function | Inherited from Runnable |
run | function | Inherited from Runnable |
cancel | function | Inherited from Runnable |
cancelled | function | Inherited from Runnable |
exit | variable | Inherited from Runnable |
PacketProcessor | function | Inherited from PacketProcessor |
process | function | Inherited from PacketProcessor |
accepts | function | Inherited from PacketProcessor |
operator<< | function | Inherited from PacketProcessor |
_emitter | variable | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
~PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
getEmitter | function | Inherited from PacketStreamAdapter |
retention | function | Inherited from PacketStreamAdapter |
onStreamStateChange | function | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
operator= | function | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
operator= | function | Inherited from PacketStreamAdapter |
Inherited from AsyncPacketQueue
| Kind | Name | Description |
|---|---|---|
typedef | Queue | |
typedef | Processor | |
variable | emitter | |
function | AsyncPacketQueue inline | |
function | ~AsyncPacketQueue virtual inline | |
function | close virtual inline | Flushes remaining packets, cancels the queue, and joins the dispatch thread. |
function | process virtual inline override | Clones the incoming packet and pushes it onto the async queue. This queue is therefore an explicit PacketStream ownership boundary. Drops the packet with a warning if the queue has been cancelled. |
function | accepts virtual inline override | Returns true if the packet can be cast to type T. |
function | retention virtual const inline nodiscard override | Returns how this adapter treats incoming packet lifetime. Most adapters are synchronous and therefore only borrow the packet for the current call chain. Queue-style adapters override this to advertise that they clone before deferred use. Callers may treat the first adapter reporting Cloned or Retained as the explicit ownership boundary in the stream graph. |
function | dispatch inline override | Emits the packet to downstream processors from the async thread. |
function | onStreamStateChange virtual inline override | Closes the queue on [Error](base.md#error) or Closed stream state transitions. |
Inherited from AsyncQueue
| Kind | Name | Description |
|---|---|---|
typedef | Queue | |
variable | _thread | |
function | AsyncQueue inline | |
function | cancel virtual inline override | Cancels the queue and joins the dispatch thread. |
function | ~AsyncQueue virtual inline |
Inherited from RunnableQueue
| Kind | Name | Description |
|---|---|---|
variable | ondispatch | The default dispatch function. Must be set before the queue is running. |
variable | _limit | |
variable | _timeout | |
variable | _dropped | |
function | RunnableQueue inline | |
function | ~RunnableQueue virtual inline | |
function | push virtual inline | Push an item onto the queue. The queue takes ownership of the item pointer. |
function | flush virtual inline | Flush all outgoing items. |
function | clear inline | |
function | run virtual inline override | Called asynchronously to dispatch queued items. If not timeout is set this method blocks until cancel() is called, otherwise runTimeout() will be called. |
function | runTimeout virtual inline | Called asynchronously to dispatch queued items until the queue is empty or the timeout expires. Pseudo protected for std::bind compatability. |
function | dispatch virtual inline | Dispatch a single item to listeners. |
function | timeout inline | |
function | setTimeout inline | Sets the dispatch timeout. Must only be called when the queue is empty. |
function | dropped const inline | |
function | RunnableQueue | Deleted constructor. |
function | operator= | Deleted assignment operator. |
function | RunnableQueue | Deleted constructor. |
function | operator= | Deleted assignment operator. |
function | popNext virtual inline | Pops the next waiting item. |
function | dispatchNext virtual inline | Pops and dispatches the next waiting item. |
Inherited from Queue
| Kind | Name | Description |
|---|---|---|
variable | _queue | |
variable | _mutex | |
function | push inline | Appends an item to the back of the queue (thread-safe). |
function | push inline | Appends an item to the back of the queue by move (thread-safe). |
function | empty const inline | |
function | front const inline | |
function | back const inline | |
function | pop inline | Removes the front item from the queue (thread-safe). |
function | sort inline | Sorts all queued items using the given comparator (thread-safe). |
function | size const inline | |
function | queue const inline |
Inherited from Runnable
| Kind | Name | Description |
|---|---|---|
function | Runnable inline | |
function | run virtual | The run method will be called by the asynchronous context. |
function | cancel virtual inline | Cancel the current task. The run() method should return ASAP. |
function | cancelled virtual const inline | Returns true when the task has been cancelled. |
variable | exit |
Inherited from PacketProcessor
| Kind | Name | Description |
|---|---|---|
function | PacketProcessor inline | |
function | process virtual | This method performs processing on the given packet and emits the result. |
function | accepts virtual inline | This method ensures compatibility with the given packet type. Return false to reject the packet. |
function | operator<< virtual inline | Stream operator alias for process(). |
Inherited from PacketStreamAdapter
| Kind | Name | Description |
|---|---|---|
variable | _emitter | |
function | PacketStreamAdapter | Construct the adapter, binding it to the given packet signal. |
function | ~PacketStreamAdapter virtual inline | |
function | emit virtual | Emit a mutable raw buffer as a packet. |
function | emit virtual | Emit a read-only raw buffer as a packet (data is copied internally). |
function | emit virtual | Emit a string as a packet (data is copied internally). |
function | emit virtual | Emit a flag-only packet carrying no payload data. |
function | emit virtual | Emit an existing packet directly onto the outgoing signal. |
function | getEmitter | Returns a reference to the outgoing packet signal. |
function | retention virtual const nodiscard | Returns how this adapter treats incoming packet lifetime. Most adapters are synchronous and therefore only borrow the packet for the current call chain. Queue-style adapters override this to advertise that they clone before deferred use. Callers may treat the first adapter reporting Cloned or Retained as the explicit ownership boundary in the stream graph. |
function | onStreamStateChange virtual inline | Called by the PacketStream to notify when the internal Stream state changes. On receiving the Stopped state, it is the responsibility of the adapter to have ceased all outgoing packet transmission, especially in multi-thread scenarios. |
function | PacketStreamAdapter | NonCopyable and NonMovable. |
function | operator= | Deleted assignment operator. |
function | PacketStreamAdapter | Deleted constructor. |
function | operator= | Deleted assignment operator. |
Public Methods
| Return | Name | Description |
|---|---|---|
DetectionQueue inline explicit |
{#detectionqueue-1}
DetectionQueue
inline explicit
inline explicit DetectionQueue(int maxFrames = 32)
Defined in src/vision/include/icy/vision/detectionqueue.h:33
{#detector-1}
Detector
#include <icy/vision/detector.h>
class Detector
Defined in src/vision/include/icy/vision/detector.h:25
Subclassed by:
MotionDetector
Base interface for detectors that consume normalized vision frames.
List of all members
| Name | Kind | Owner |
|---|---|---|
Event | variable | Declared here |
reset | function | Declared here |
process | function | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
VisionEventSignal | Event |
{#event-6}
Event
VisionEventSignal Event
Defined in src/vision/include/icy/vision/detector.h:30
Public Methods
| Return | Name | Description |
|---|---|---|
void | reset virtual | |
void | process virtual |
{#reset-16}
reset
virtual
virtual void reset()
Defined in src/vision/include/icy/vision/detector.h:32
Reimplemented by
{#process-8}
process
virtual
virtual void process(const VisionFramePacket & packet)
Defined in src/vision/include/icy/vision/detector.h:33
Reimplemented by
{#framenormalizer}
FrameNormalizer
#include <icy/vision/framenormalizer.h>
class FrameNormalizer
Defined in src/vision/include/icy/vision/framenormalizer.h:49
Inherits:
PacketProcessor
Converts sampled decoded video into owned detector-ready frames.
List of all members
| Name | Kind | Owner |
|---|---|---|
emitter | variable | Declared here |
FrameNormalizer | function | Declared here |
setConfig | function | Declared here |
config | function | Declared here |
stats | function | Declared here |
reset | function | Declared here |
process | function | Declared here |
accepts | function | Declared here |
_config | variable | Declared here |
_seen | variable | Declared here |
_emitted | variable | Declared here |
_dropped | variable | Declared here |
_converted | variable | Declared here |
_frameId | variable | Declared here |
_state | variable | Declared here |
normalize | function | Declared here |
sanitize | function | Declared here |
PacketProcessor | function | Inherited from PacketProcessor |
process | function | Inherited from PacketProcessor |
accepts | function | Inherited from PacketProcessor |
operator<< | function | Inherited from PacketProcessor |
_emitter | variable | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
~PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
getEmitter | function | Inherited from PacketStreamAdapter |
retention | function | Inherited from PacketStreamAdapter |
onStreamStateChange | function | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
operator= | function | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
operator= | function | Inherited from PacketStreamAdapter |
Inherited from PacketProcessor
| Kind | Name | Description |
|---|---|---|
function | PacketProcessor inline | |
function | process virtual | This method performs processing on the given packet and emits the result. |
function | accepts virtual inline | This method ensures compatibility with the given packet type. Return false to reject the packet. |
function | operator<< virtual inline | Stream operator alias for process(). |
Inherited from PacketStreamAdapter
| Kind | Name | Description |
|---|---|---|
variable | _emitter | |
function | PacketStreamAdapter | Construct the adapter, binding it to the given packet signal. |
function | ~PacketStreamAdapter virtual inline | |
function | emit virtual | Emit a mutable raw buffer as a packet. |
function | emit virtual | Emit a read-only raw buffer as a packet (data is copied internally). |
function | emit virtual | Emit a string as a packet (data is copied internally). |
function | emit virtual | Emit a flag-only packet carrying no payload data. |
function | emit virtual | Emit an existing packet directly onto the outgoing signal. |
function | getEmitter | Returns a reference to the outgoing packet signal. |
function | retention virtual const nodiscard | Returns how this adapter treats incoming packet lifetime. Most adapters are synchronous and therefore only borrow the packet for the current call chain. Queue-style adapters override this to advertise that they clone before deferred use. Callers may treat the first adapter reporting Cloned or Retained as the explicit ownership boundary in the stream graph. |
function | onStreamStateChange virtual inline | Called by the PacketStream to notify when the internal Stream state changes. On receiving the Stopped state, it is the responsibility of the adapter to have ceased all outgoing packet transmission, especially in multi-thread scenarios. |
function | PacketStreamAdapter | NonCopyable and NonMovable. |
function | operator= | Deleted assignment operator. |
function | PacketStreamAdapter | Deleted constructor. |
function | operator= | Deleted assignment operator. |
Public Attributes
| Return | Name | Description |
|---|---|---|
PacketSignal | emitter |
{#emitter-8}
emitter
PacketSignal emitter
Defined in src/vision/include/icy/vision/framenormalizer.h:52
Public Methods
| Return | Name | Description |
|---|---|---|
FrameNormalizer explicit | ||
void | setConfig | |
FrameNormalizerConfig | config const nodiscard | |
FrameNormalizerStats | stats const nodiscard | |
void | reset | |
void | process virtual override | This method performs processing on the given packet and emits the result. |
bool | accepts virtual inline override | This method ensures compatibility with the given packet type. Return false to reject the packet. |
{#framenormalizer-1}
FrameNormalizer
explicit
explicit FrameNormalizer(FrameNormalizerConfig config = {})
Defined in src/vision/include/icy/vision/framenormalizer.h:54
{#setconfig-1}
setConfig
void setConfig(FrameNormalizerConfig config)
Defined in src/vision/include/icy/vision/framenormalizer.h:57
{#config-1}
config
const nodiscard
[[nodiscard]] FrameNormalizerConfig config() const
Defined in src/vision/include/icy/vision/framenormalizer.h:58
{#stats-1}
stats
const nodiscard
[[nodiscard]] FrameNormalizerStats stats() const
Defined in src/vision/include/icy/vision/framenormalizer.h:59
{#reset-17}
reset
void reset()
Defined in src/vision/include/icy/vision/framenormalizer.h:60
{#process-9}
process
virtual override
virtual void process(IPacket & packet) override
Defined in src/vision/include/icy/vision/framenormalizer.h:62
This method performs processing on the given packet and emits the result.
Processors that defer work asynchronously must either clone the packet or retain an owned equivalent. See retention().
Reimplements
{#accepts-3}
accepts
virtual inline override
virtual inline bool accepts(IPacket *) override
Defined in src/vision/include/icy/vision/framenormalizer.h:63
This method ensures compatibility with the given packet type. Return false to reject the packet.
Reimplements
Private Attributes
| Return | Name | Description |
|---|---|---|
FrameNormalizerConfig | _config | |
std::atomic< uint64_t > | _seen | |
std::atomic< uint64_t > | _emitted | |
std::atomic< uint64_t > | _dropped | |
std::atomic< uint64_t > | _converted | |
std::atomic< uint64_t > | _frameId | |
std::unique_ptr< State > | _state |
{#_config-1}
_config
FrameNormalizerConfig _config
Defined in src/vision/include/icy/vision/framenormalizer.h:76
{#_seen-1}
_seen
std::atomic< uint64_t > _seen {0}
Defined in src/vision/include/icy/vision/framenormalizer.h:77
{#_emitted-1}
_emitted
std::atomic< uint64_t > _emitted {0}
Defined in src/vision/include/icy/vision/framenormalizer.h:78
{#_dropped}
_dropped
std::atomic< uint64_t > _dropped {0}
Defined in src/vision/include/icy/vision/framenormalizer.h:79
{#_converted}
_converted
std::atomic< uint64_t > _converted {0}
Defined in src/vision/include/icy/vision/framenormalizer.h:80
{#_frameid}
_frameId
std::atomic< uint64_t > _frameId {0}
Defined in src/vision/include/icy/vision/framenormalizer.h:81
{#_state-3}
_state
std::unique_ptr< State > _state
Defined in src/vision/include/icy/vision/framenormalizer.h:82
Private Methods
| Return | Name | Description |
|---|---|---|
VisionFramePacket | normalize nodiscard |
{#normalize-1}
normalize
nodiscard
[[nodiscard]] VisionFramePacket normalize(const av::PlanarVideoPacket & packet)
Defined in src/vision/include/icy/vision/framenormalizer.h:74
Private Static Methods
| Return | Name | Description |
|---|---|---|
FrameNormalizerConfig | sanitize static |
{#sanitize-1}
sanitize
static
static FrameNormalizerConfig sanitize(FrameNormalizerConfig config)
Defined in src/vision/include/icy/vision/framenormalizer.h:72
{#framesampler}
FrameSampler
#include <icy/vision/framesampler.h>
class FrameSampler
Defined in src/vision/include/icy/vision/framesampler.h:49
Inherits:
PacketProcessor
PacketProcessor that forwards a sampled subset of decoded video frames.
The sampler is intentionally zero-copy on its synchronous path: sampled frames are forwarded by reference and dropped frames are discarded before any queue hop. Pair it with DetectionQueue when a worker-thread boundary is required.
List of all members
| Name | Kind | Owner |
|---|---|---|
emitter | variable | Declared here |
FrameSampler | function | Declared here |
setConfig | function | Declared here |
config | function | Declared here |
stats | function | Declared here |
reset | function | Declared here |
process | function | Declared here |
accepts | function | Declared here |
_config | variable | Declared here |
_seen | variable | Declared here |
_forwarded | variable | Declared here |
_dropped | variable | Declared here |
_lastForwardedTimeUsec | variable | Declared here |
shouldForward | function | Declared here |
kUnsetTimeUsec | variable | Declared here |
sanitize | function | Declared here |
PacketProcessor | function | Inherited from PacketProcessor |
process | function | Inherited from PacketProcessor |
accepts | function | Inherited from PacketProcessor |
operator<< | function | Inherited from PacketProcessor |
_emitter | variable | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
~PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
emit | function | Inherited from PacketStreamAdapter |
getEmitter | function | Inherited from PacketStreamAdapter |
retention | function | Inherited from PacketStreamAdapter |
onStreamStateChange | function | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
operator= | function | Inherited from PacketStreamAdapter |
PacketStreamAdapter | function | Inherited from PacketStreamAdapter |
operator= | function | Inherited from PacketStreamAdapter |
Inherited from PacketProcessor
| Kind | Name | Description |
|---|---|---|
function | PacketProcessor inline | |
function | process virtual | This method performs processing on the given packet and emits the result. |
function | accepts virtual inline | This method ensures compatibility with the given packet type. Return false to reject the packet. |
function | operator<< virtual inline | Stream operator alias for process(). |
Inherited from PacketStreamAdapter
| Kind | Name | Description |
|---|---|---|
variable | _emitter | |
function | PacketStreamAdapter | Construct the adapter, binding it to the given packet signal. |
function | ~PacketStreamAdapter virtual inline | |
function | emit virtual | Emit a mutable raw buffer as a packet. |
function | emit virtual | Emit a read-only raw buffer as a packet (data is copied internally). |
function | emit virtual | Emit a string as a packet (data is copied internally). |
function | emit virtual | Emit a flag-only packet carrying no payload data. |
function | emit virtual | Emit an existing packet directly onto the outgoing signal. |
function | getEmitter | Returns a reference to the outgoing packet signal. |
function | retention virtual const nodiscard | Returns how this adapter treats incoming packet lifetime. Most adapters are synchronous and therefore only borrow the packet for the current call chain. Queue-style adapters override this to advertise that they clone before deferred use. Callers may treat the first adapter reporting Cloned or Retained as the explicit ownership boundary in the stream graph. |
function | onStreamStateChange virtual inline | Called by the PacketStream to notify when the internal Stream state changes. On receiving the Stopped state, it is the responsibility of the adapter to have ceased all outgoing packet transmission, especially in multi-thread scenarios. |
function | PacketStreamAdapter | NonCopyable and NonMovable. |
function | operator= | Deleted assignment operator. |
function | PacketStreamAdapter | Deleted constructor. |
function | operator= | Deleted assignment operator. |
Public Attributes
| Return | Name | Description |
|---|---|---|
PacketSignal | emitter |
{#emitter-9}
emitter
PacketSignal emitter
Defined in src/vision/include/icy/vision/framesampler.h:52
Public Methods
| Return | Name | Description |
|---|---|---|
FrameSampler inline explicit | ||
void | setConfig inline | |
FrameSamplerConfig | config const inline nodiscard | |
FrameSamplerStats | stats const inline nodiscard | |
void | reset inline | |
void | process virtual inline override | This method performs processing on the given packet and emits the result. |
bool | accepts virtual inline override | This method ensures compatibility with the given packet type. Return false to reject the packet. |
{#framesampler-1}
FrameSampler
inline explicit
inline explicit FrameSampler(FrameSamplerConfig config = {})
Defined in src/vision/include/icy/vision/framesampler.h:54
{#setconfig-2}
setConfig
inline
inline void setConfig(FrameSamplerConfig config)
Defined in src/vision/include/icy/vision/framesampler.h:60
{#config-2}
config
const inline nodiscard
[[nodiscard]] inline FrameSamplerConfig config() const
Defined in src/vision/include/icy/vision/framesampler.h:66
{#stats-2}
stats
const inline nodiscard
[[nodiscard]] inline FrameSamplerStats stats() const
Defined in src/vision/include/icy/vision/framesampler.h:71
{#reset-18}
reset
inline
inline void reset()
Defined in src/vision/include/icy/vision/framesampler.h:80
{#process-10}
process
virtual inline override
virtual inline void process(IPacket & packet) override
Defined in src/vision/include/icy/vision/framesampler.h:88
This method performs processing on the given packet and emits the result.
Processors that defer work asynchronously must either clone the packet or retain an owned equivalent. See retention().
Reimplements
{#accepts-4}
accepts
virtual inline override
virtual inline bool accepts(IPacket *) override
Defined in src/vision/include/icy/vision/framesampler.h:107
This method ensures compatibility with the given packet type. Return false to reject the packet.
Reimplements
Private Attributes
| Return | Name | Description |
|---|---|---|
FrameSamplerConfig | _config | |
std::atomic< uint64_t > | _seen | |
std::atomic< uint64_t > | _forwarded | |
std::atomic< uint64_t > | _dropped | |
std::atomic< int64_t > | _lastForwardedTimeUsec |
{#_config-2}
_config
FrameSamplerConfig _config
Defined in src/vision/include/icy/vision/framesampler.h:141
{#_seen-2}
_seen
std::atomic< uint64_t > _seen {0}
Defined in src/vision/include/icy/vision/framesampler.h:142
{#_forwarded}
_forwarded
std::atomic< uint64_t > _forwarded {0}
Defined in src/vision/include/icy/vision/framesampler.h:143
{#_dropped-1}
_dropped
std::atomic< uint64_t > _dropped {0}
Defined in src/vision/include/icy/vision/framesampler.h:144
{#_lastforwardedtimeusec}
_lastForwardedTimeUsec
std::atomic< int64_t > _lastForwardedTimeUsec {kUnsetTimeUsec}
Defined in src/vision/include/icy/vision/framesampler.h:145
Private Methods
| Return | Name | Description |
|---|---|---|
bool | shouldForward const inline |
{#shouldforward}
shouldForward
const inline
inline bool shouldForward(const av::PlanarVideoPacket & frame, uint64_t seen) const
Defined in src/vision/include/icy/vision/framesampler.h:124
Private Static Attributes
| Return | Name | Description |
|---|---|---|
int64_t | kUnsetTimeUsec static constexpr |
{#kunsettimeusec}
kUnsetTimeUsec
static constexpr
int64_t kUnsetTimeUsec = std::numeric_limits<int64_t>::min()
Defined in src/vision/include/icy/vision/framesampler.h:115
Private Static Methods
| Return | Name | Description |
|---|---|---|
FrameSamplerConfig | sanitize static inline |
{#sanitize-2}
sanitize
static inline
static inline FrameSamplerConfig sanitize(FrameSamplerConfig config)
Defined in src/vision/include/icy/vision/framesampler.h:117
{#motiondetector}
MotionDetector
#include <icy/vision/motiondetector.h>
class MotionDetector
Defined in src/vision/include/icy/vision/motiondetector.h:49
Inherits:
Detector
List of all members
| Name | Kind | Owner |
|---|---|---|
MotionDetector | function | Declared here |
setConfig | function | Declared here |
config | function | Declared here |
stats | function | Declared here |
reset | function | Declared here |
process | function | Declared here |
_config | variable | Declared here |
_seen | variable | Declared here |
_emitted | variable | Declared here |
_warmedFrames | variable | Declared here |
_width | variable | Declared here |
_height | variable | Declared here |
_lastEventTimeUsec | variable | Declared here |
_lastScore | variable | Declared here |
_previousGrid | variable | Declared here |
_currentGrid | variable | Declared here |
sampleLumaGrid | function | Declared here |
diffScore | function | Declared here |
emitEvent | function | Declared here |
sanitize | function | Declared here |
Event | variable | Inherited from Detector |
reset | function | Inherited from Detector |
process | function | Inherited from Detector |
Inherited from Detector
| Kind | Name | Description |
|---|---|---|
variable | Event | |
function | reset virtual | |
function | process virtual |
Public Methods
| Return | Name | Description |
|---|---|---|
MotionDetector explicit | ||
void | setConfig | |
MotionDetectorConfig | config const nodiscard | |
MotionDetectorStats | stats const nodiscard | |
void | reset virtual override | |
void | process virtual override |
{#motiondetector-1}
MotionDetector
explicit
explicit MotionDetector(MotionDetectorConfig config = {})
Defined in src/vision/include/icy/vision/motiondetector.h:52
{#setconfig-3}
setConfig
void setConfig(MotionDetectorConfig config)
Defined in src/vision/include/icy/vision/motiondetector.h:54
{#config-3}
config
const nodiscard
[[nodiscard]] MotionDetectorConfig config() const
Defined in src/vision/include/icy/vision/motiondetector.h:55
{#stats-3}
stats
const nodiscard
[[nodiscard]] MotionDetectorStats stats() const
Defined in src/vision/include/icy/vision/motiondetector.h:56
{#reset-19}
reset
virtual override
virtual void reset() override
Defined in src/vision/include/icy/vision/motiondetector.h:57
Reimplements
{#process-11}
process
virtual override
virtual void process(const VisionFramePacket & packet) override
Defined in src/vision/include/icy/vision/motiondetector.h:59
Reimplements
Private Attributes
| Return | Name | Description |
|---|---|---|
MotionDetectorConfig | _config | |
uint64_t | _seen | |
uint64_t | _emitted | |
uint32_t | _warmedFrames | |
int | _width | |
int | _height | |
int64_t | _lastEventTimeUsec | |
float | _lastScore | |
std::vector< uint8_t > | _previousGrid | |
std::vector< uint8_t > | _currentGrid |
{#_config-3}
_config
MotionDetectorConfig _config
Defined in src/vision/include/icy/vision/motiondetector.h:67
{#_seen-3}
_seen
uint64_t _seen = 0
Defined in src/vision/include/icy/vision/motiondetector.h:68
{#_emitted-2}
_emitted
uint64_t _emitted = 0
Defined in src/vision/include/icy/vision/motiondetector.h:69
{#_warmedframes}
_warmedFrames
uint32_t _warmedFrames = 0
Defined in src/vision/include/icy/vision/motiondetector.h:70
{#_width}
_width
int _width = 0
Defined in src/vision/include/icy/vision/motiondetector.h:71
{#_height}
_height
int _height = 0
Defined in src/vision/include/icy/vision/motiondetector.h:72
{#_lasteventtimeusec}
_lastEventTimeUsec
int64_t _lastEventTimeUsec = 0
Defined in src/vision/include/icy/vision/motiondetector.h:73
{#_lastscore}
_lastScore
float _lastScore = 0.0f
Defined in src/vision/include/icy/vision/motiondetector.h:74
{#_previousgrid}
_previousGrid
std::vector< uint8_t > _previousGrid
Defined in src/vision/include/icy/vision/motiondetector.h:75
{#_currentgrid}
_currentGrid
std::vector< uint8_t > _currentGrid
Defined in src/vision/include/icy/vision/motiondetector.h:76
Private Methods
| Return | Name | Description |
|---|---|---|
void | sampleLumaGrid const | |
float | diffScore const | |
void | emitEvent |
{#samplelumagrid}
sampleLumaGrid
const
void sampleLumaGrid(const VisionFramePacket & packet, std::vector< uint8_t > & out) const
Defined in src/vision/include/icy/vision/motiondetector.h:63
{#diffscore}
diffScore
const
float diffScore(const std::vector< uint8_t > & current) const
Defined in src/vision/include/icy/vision/motiondetector.h:64
{#emitevent-1}
emitEvent
void emitEvent(const VisionFramePacket & packet, float score)
Defined in src/vision/include/icy/vision/motiondetector.h:65
Private Static Methods
| Return | Name | Description |
|---|---|---|
MotionDetectorConfig | sanitize static |
{#sanitize-3}
sanitize
static
static MotionDetectorConfig sanitize(MotionDetectorConfig config)
Defined in src/vision/include/icy/vision/motiondetector.h:62
{#visioneventemitter}
VisionEventEmitter
#include <icy/vision/eventemitter.h>
class VisionEventEmitter
Defined in src/vision/include/icy/vision/eventemitter.h:29
List of all members
| Name | Kind | Owner |
|---|---|---|
Event | variable | Declared here |
emit | function | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
VisionEventSignal | Event |
{#event-7}
Event
VisionEventSignal Event
Defined in src/vision/include/icy/vision/eventemitter.h:32
Public Methods
| Return | Name | Description |
|---|---|---|
void | emit inline |
{#emit-1}
emit
inline
inline void emit(const VisionEvent & event)
Defined in src/vision/include/icy/vision/eventemitter.h:34
{#detection}
Detection
#include <icy/vision/types.h>
struct Detection
Defined in src/vision/include/icy/vision/types.h:52
List of all members
| Name | Kind | Owner |
|---|---|---|
label | variable | Declared here |
confidence | variable | Declared here |
trackId | variable | Declared here |
region | variable | Declared here |
data | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
std::string | label | |
float | confidence | |
int64_t | trackId | |
Region | region | |
json::Value | data |
{#label-1}
label
std::string label
Defined in src/vision/include/icy/vision/types.h:54
{#confidence}
confidence
float confidence = 0.0f
Defined in src/vision/include/icy/vision/types.h:55
{#trackid}
trackId
int64_t trackId = -1
Defined in src/vision/include/icy/vision/types.h:56
{#region}
region
Region region
Defined in src/vision/include/icy/vision/types.h:57
{#data-7}
data
json::Value data = json::Value::object()
Defined in src/vision/include/icy/vision/types.h:58
{#framenormalizerconfig}
FrameNormalizerConfig
#include <icy/vision/framenormalizer.h>
struct FrameNormalizerConfig
Defined in src/vision/include/icy/vision/framenormalizer.h:29
List of all members
| Name | Kind | Owner |
|---|---|---|
sourceId | variable | Declared here |
streamId | variable | Declared here |
width | variable | Declared here |
height | variable | Declared here |
pixelFmt | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
std::string | sourceId | |
std::string | streamId | |
int | width | |
int | height | |
std::string | pixelFmt |
{#sourceid}
sourceId
std::string sourceId
Defined in src/vision/include/icy/vision/framenormalizer.h:31
{#streamid}
streamId
std::string streamId
Defined in src/vision/include/icy/vision/framenormalizer.h:32
{#width-3}
width
int width = 0
Defined in src/vision/include/icy/vision/framenormalizer.h:33
{#height-3}
height
int height = 0
Defined in src/vision/include/icy/vision/framenormalizer.h:34
{#pixelfmt-2}
pixelFmt
std::string pixelFmt
Defined in src/vision/include/icy/vision/framenormalizer.h:35
{#framenormalizerstats}
FrameNormalizerStats
#include <icy/vision/framenormalizer.h>
struct FrameNormalizerStats
Defined in src/vision/include/icy/vision/framenormalizer.h:39
List of all members
| Name | Kind | Owner |
|---|---|---|
seen | variable | Declared here |
emitted | variable | Declared here |
dropped | variable | Declared here |
converted | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
uint64_t | seen | |
uint64_t | emitted | |
uint64_t | dropped | |
uint64_t | converted |
{#seen-1}
seen
uint64_t seen = 0
Defined in src/vision/include/icy/vision/framenormalizer.h:41
{#emitted-1}
emitted
uint64_t emitted = 0
Defined in src/vision/include/icy/vision/framenormalizer.h:42
{#dropped}
dropped
uint64_t dropped = 0
Defined in src/vision/include/icy/vision/framenormalizer.h:43
{#converted}
converted
uint64_t converted = 0
Defined in src/vision/include/icy/vision/framenormalizer.h:44
{#framesamplerconfig}
FrameSamplerConfig
#include <icy/vision/framesampler.h>
struct FrameSamplerConfig
Defined in src/vision/include/icy/vision/framesampler.h:28
List of all members
| Name | Kind | Owner |
|---|---|---|
everyNthFrame | variable | Declared here |
minIntervalUsec | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
uint32_t | everyNthFrame | |
int64_t | minIntervalUsec |
{#everynthframe}
everyNthFrame
uint32_t everyNthFrame = 1
Defined in src/vision/include/icy/vision/framesampler.h:30
{#minintervalusec}
minIntervalUsec
int64_t minIntervalUsec = 0
Defined in src/vision/include/icy/vision/framesampler.h:31
{#framesamplerstats}
FrameSamplerStats
#include <icy/vision/framesampler.h>
struct FrameSamplerStats
Defined in src/vision/include/icy/vision/framesampler.h:35
List of all members
| Name | Kind | Owner |
|---|---|---|
seen | variable | Declared here |
forwarded | variable | Declared here |
dropped | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
uint64_t | seen | |
uint64_t | forwarded | |
uint64_t | dropped |
{#seen-2}
seen
uint64_t seen = 0
Defined in src/vision/include/icy/vision/framesampler.h:37
{#forwarded}
forwarded
uint64_t forwarded = 0
Defined in src/vision/include/icy/vision/framesampler.h:38
{#dropped-1}
dropped
uint64_t dropped = 0
Defined in src/vision/include/icy/vision/framesampler.h:39
{#motiondetectorconfig}
MotionDetectorConfig
#include <icy/vision/motiondetector.h>
struct MotionDetectorConfig
Defined in src/vision/include/icy/vision/motiondetector.h:28
List of all members
| Name | Kind | Owner |
|---|---|---|
source | variable | Declared here |
streamId | variable | Declared here |
detectorName | variable | Declared here |
gridWidth | variable | Declared here |
gridHeight | variable | Declared here |
warmupFrames | variable | Declared here |
threshold | variable | Declared here |
minEventIntervalUsec | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
std::string | source | |
std::string | streamId | |
std::string | detectorName | |
uint32_t | gridWidth | |
uint32_t | gridHeight | |
uint32_t | warmupFrames | |
float | threshold | |
int64_t | minEventIntervalUsec |
{#source-2}
source
std::string source
Defined in src/vision/include/icy/vision/motiondetector.h:30
{#streamid-1}
streamId
std::string streamId
Defined in src/vision/include/icy/vision/motiondetector.h:31
{#detectorname-1}
detectorName
std::string detectorName = "motion"
Defined in src/vision/include/icy/vision/motiondetector.h:32
{#gridwidth}
gridWidth
uint32_t gridWidth = 32
Defined in src/vision/include/icy/vision/motiondetector.h:33
{#gridheight}
gridHeight
uint32_t gridHeight = 18
Defined in src/vision/include/icy/vision/motiondetector.h:34
{#warmupframes}
warmupFrames
uint32_t warmupFrames = 2
Defined in src/vision/include/icy/vision/motiondetector.h:35
{#threshold}
threshold
float threshold = 0.08f
Defined in src/vision/include/icy/vision/motiondetector.h:36
{#mineventintervalusec}
minEventIntervalUsec
int64_t minEventIntervalUsec = 500000
Defined in src/vision/include/icy/vision/motiondetector.h:37
{#motiondetectorstats}
MotionDetectorStats
#include <icy/vision/motiondetector.h>
struct MotionDetectorStats
Defined in src/vision/include/icy/vision/motiondetector.h:41
List of all members
| Name | Kind | Owner |
|---|---|---|
seen | variable | Declared here |
emitted | variable | Declared here |
lastScore | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
uint64_t | seen | |
uint64_t | emitted | |
float | lastScore |
{#seen-3}
seen
uint64_t seen = 0
Defined in src/vision/include/icy/vision/motiondetector.h:43
{#emitted-2}
emitted
uint64_t emitted = 0
Defined in src/vision/include/icy/vision/motiondetector.h:44
{#lastscore}
lastScore
float lastScore = 0.0f
Defined in src/vision/include/icy/vision/motiondetector.h:45
{#region-1}
Region
#include <icy/vision/types.h>
struct Region
Defined in src/vision/include/icy/vision/types.h:43
List of all members
| Name | Kind | Owner |
|---|---|---|
x | variable | Declared here |
y | variable | Declared here |
width | variable | Declared here |
height | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
float | x | |
float | y | |
float | width | |
float | height |
{#x}
x
float x = 0.0f
Defined in src/vision/include/icy/vision/types.h:45
{#y}
y
float y = 0.0f
Defined in src/vision/include/icy/vision/types.h:46
{#width-4}
width
float width = 0.0f
Defined in src/vision/include/icy/vision/types.h:47
{#height-4}
height
float height = 0.0f
Defined in src/vision/include/icy/vision/types.h:48
{#track}
Track
#include <icy/vision/types.h>
struct Track
Defined in src/vision/include/icy/vision/types.h:62
List of all members
| Name | Kind | Owner |
|---|---|---|
trackId | variable | Declared here |
label | variable | Declared here |
confidence | variable | Declared here |
region | variable | Declared here |
data | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
int64_t | trackId | |
std::string | label | |
float | confidence | |
Region | region | |
json::Value | data |
{#trackid-1}
trackId
int64_t trackId = -1
Defined in src/vision/include/icy/vision/types.h:64
{#label-2}
label
std::string label
Defined in src/vision/include/icy/vision/types.h:65
{#confidence-1}
confidence
float confidence = 0.0f
Defined in src/vision/include/icy/vision/types.h:66
{#region-2}
region
Region region
Defined in src/vision/include/icy/vision/types.h:67
{#data-8}
data
json::Value data = json::Value::object()
Defined in src/vision/include/icy/vision/types.h:68
{#visionevent}
VisionEvent
#include <icy/vision/event.h>
struct VisionEvent
Defined in src/vision/include/icy/vision/event.h:30
List of all members
| Name | Kind | Owner |
|---|---|---|
schema | variable | Declared here |
type | variable | Declared here |
source | variable | Declared here |
detector | variable | Declared here |
emittedAtUsec | variable | Declared here |
frame | variable | Declared here |
detections | variable | Declared here |
tracks | variable | Declared here |
data | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
std::string | schema | |
std::string | type | |
std::string | source | |
std::string | detector | |
int64_t | emittedAtUsec | |
VisionFrameContext | frame | |
std::vector< Detection > | detections | |
std::vector< Track > | tracks | |
json::Value | data |
{#schema}
schema
std::string schema = "vision.event.v1"
Defined in src/vision/include/icy/vision/event.h:32
{#type-24}
type
std::string type = "detect"
Defined in src/vision/include/icy/vision/event.h:33
{#source-3}
source
std::string source
Defined in src/vision/include/icy/vision/event.h:34
{#detector-2}
detector
std::string detector
Defined in src/vision/include/icy/vision/event.h:35
{#emittedatusec-1}
emittedAtUsec
int64_t emittedAtUsec = 0
Defined in src/vision/include/icy/vision/event.h:36
{#frame-2}
frame
VisionFrameContext frame
Defined in src/vision/include/icy/vision/event.h:37
{#detections}
detections
std::vector< Detection > detections
Defined in src/vision/include/icy/vision/event.h:38
{#tracks}
tracks
std::vector< Track > tracks
Defined in src/vision/include/icy/vision/event.h:39
{#data-9}
data
json::Value data = json::Value::object()
Defined in src/vision/include/icy/vision/event.h:40
{#visionframecontext}
VisionFrameContext
#include <icy/vision/types.h>
struct VisionFrameContext
Defined in src/vision/include/icy/vision/types.h:26
List of all members
| Name | Kind | Owner |
|---|---|---|
sourceId | variable | Declared here |
streamId | variable | Declared here |
frameId | variable | Declared here |
ptsUsec | variable | Declared here |
receivedAtUsec | variable | Declared here |
width | variable | Declared here |
height | variable | Declared here |
pixelFmt | variable | Declared here |
keyframe | variable | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
std::string | sourceId | |
std::string | streamId | |
uint64_t | frameId | |
int64_t | ptsUsec | |
int64_t | receivedAtUsec | |
int | width | |
int | height | |
std::string | pixelFmt | |
bool | keyframe |
{#sourceid-1}
sourceId
std::string sourceId
Defined in src/vision/include/icy/vision/types.h:28
{#streamid-2}
streamId
std::string streamId
Defined in src/vision/include/icy/vision/types.h:29
{#frameid}
frameId
uint64_t frameId = 0
Defined in src/vision/include/icy/vision/types.h:30
{#ptsusec}
ptsUsec
int64_t ptsUsec = 0
Defined in src/vision/include/icy/vision/types.h:31
{#receivedatusec}
receivedAtUsec
int64_t receivedAtUsec = 0
Defined in src/vision/include/icy/vision/types.h:32
{#width-5}
width
int width = 0
Defined in src/vision/include/icy/vision/types.h:33
{#height-5}
height
int height = 0
Defined in src/vision/include/icy/vision/types.h:34
{#pixelfmt-3}
pixelFmt
std::string pixelFmt
Defined in src/vision/include/icy/vision/types.h:35
{#keyframe}
keyframe
bool keyframe = false
Defined in src/vision/include/icy/vision/types.h:36
{#visionframepacket}
VisionFramePacket
#include <icy/vision/framepacket.h>
struct VisionFramePacket
Defined in src/vision/include/icy/vision/framepacket.h:25
Inherits:
PlanarVideoPacket
Owned detector-ready frame buffer carrying stable frame metadata.
List of all members
| Name | Kind | Owner |
|---|---|---|
context | variable | Declared here |
VisionFramePacket | function | Declared here |
VisionFramePacket | function | Declared here |
VisionFramePacket | function | Declared here |
clone | function | Declared here |
className | function | Declared here |
valid | function | Declared here |
buffer | variable | Inherited from PlanarVideoPacket |
linesize | variable | Inherited from PlanarVideoPacket |
pixelFmt | variable | Inherited from PlanarVideoPacket |
owns_buffer | variable | Inherited from PlanarVideoPacket |
avframe | variable | Inherited from PlanarVideoPacket |
PlanarVideoPacket | function | Inherited from PlanarVideoPacket |
PlanarVideoPacket | function | Inherited from PlanarVideoPacket |
clone | function | Inherited from PlanarVideoPacket |
className | function | Inherited from PlanarVideoPacket |
width | variable | Inherited from VideoPacket |
height | variable | Inherited from VideoPacket |
iframe | variable | Inherited from VideoPacket |
avpacket | variable | Inherited from VideoPacket |
VideoPacket | function | Inherited from VideoPacket |
VideoPacket | function | Inherited from VideoPacket |
clone | function | Inherited from VideoPacket |
className | function | Inherited from VideoPacket |
time | variable | Inherited from MediaPacket |
MediaPacket | function | Inherited from MediaPacket |
MediaPacket | function | Inherited from MediaPacket |
MediaPacket | function | Inherited from MediaPacket |
clone | function | Inherited from MediaPacket |
className | function | Inherited from MediaPacket |
_data | variable | Inherited from RawPacket |
_size | variable | Inherited from RawPacket |
_owned | variable | Inherited from RawPacket |
RawPacket | function | Inherited from RawPacket |
RawPacket | function | Inherited from RawPacket |
RawPacket | function | Inherited from RawPacket |
~RawPacket | function | Inherited from RawPacket |
clone | function | Inherited from RawPacket |
copyData | function | Inherited from RawPacket |
read | function | Inherited from RawPacket |
write | function | Inherited from RawPacket |
data | function | Inherited from RawPacket |
size | function | Inherited from RawPacket |
className | function | Inherited from RawPacket |
ownsBuffer | function | Inherited from RawPacket |
opaque | variable | Inherited from IPacket |
info | variable | Inherited from IPacket |
flags | variable | Inherited from IPacket |
IPacket | function | Inherited from IPacket |
IPacket | function | Inherited from IPacket |
operator= | function | Inherited from IPacket |
clone | function | Inherited from IPacket |
~IPacket | function | Inherited from IPacket |
read | function | Inherited from IPacket |
write | function | Inherited from IPacket |
size | function | Inherited from IPacket |
hasData | function | Inherited from IPacket |
data | function | Inherited from IPacket |
constData | function | Inherited from IPacket |
className | function | Inherited from IPacket |
print | function | Inherited from IPacket |
operator<< | friend | Inherited from IPacket |
Inherited from PlanarVideoPacket
| Kind | Name | Description |
|---|---|---|
variable | buffer | |
variable | linesize | |
variable | pixelFmt | |
variable | owns_buffer | |
variable | avframe | Non-owning pointer to the decoded AVFrame from FFmpeg. Set by VideoDecoder. |
function | PlanarVideoPacket | Construct a planar video packet, copying the plane pointers (not the pixel data). |
function | PlanarVideoPacket | Copy constructor. Performs a deep copy of the owned buffer if owns_buffer is set. |
function | clone virtual const inline override | |
function | className virtual const inline override | Returns the class name of this packet type for logging and diagnostics. |
Inherited from VideoPacket
| Kind | Name | Description |
|---|---|---|
variable | width | Frame width in pixels. |
variable | height | Frame height in pixels. |
variable | iframe | True if this is an intra (keyframe) frame. |
variable | avpacket | Non-owning pointer to the encoded AVPacket from FFmpeg. Set by VideoEncoder, read by MultiplexEncoder. |
function | VideoPacket inline | Construct a video packet with an interleaved buffer. |
function | VideoPacket inline | Copy constructor. The avpacket pointer is shallow-copied (non-owning). |
function | clone virtual const inline override | |
function | className virtual const inline override | Returns the class name of this packet type for logging and diagnostics. |
Inherited from MediaPacket
| Kind | Name | Description |
|---|---|---|
variable | time | Presentation timestamp in microseconds. |
function | MediaPacket inline | Construct with a non-owning or owning mutable buffer. |
function | MediaPacket inline | Construct with const data (copied, owning). |
function | MediaPacket inline | Copy constructor. |
function | clone virtual const inline override | |
function | className virtual const inline override | Returns the class name of this packet type for logging and diagnostics. |
Inherited from RawPacket
| Kind | Name | Description |
|---|---|---|
variable | _data | |
variable | _size | |
variable | _owned | |
function | RawPacket inline | Construct with borrowed (non-owning) buffer. |
function | RawPacket inline | Construct with const data (copied, owning). |
function | RawPacket inline | Copy constructor (always copies data). |
function | ~RawPacket virtual | Defaulted destructor. |
function | clone virtual const inline override | |
function | copyData virtual inline | Copies data into an internally owned buffer, replacing any prior content. |
function | read virtual inline override | Reads from the buffer by copying its contents into an owned buffer. |
function | write virtual const inline override | Appends the packet data to the given output buffer. |
function | data virtual const inline override | |
function | size virtual const inline override | |
function | className virtual const inline override | Returns the class name of this packet type for logging and diagnostics. |
function | ownsBuffer const inline |
Inherited from IPacket
| Kind | Name | Description |
|---|---|---|
variable | opaque | Optional type-safe context data. Use std::any_cast to retrieve. Lifetime of the stored value is tied to the packet's lifetime. |
variable | info | Optional extra information about the packet. |
variable | flags | Provides basic information about the packet. |
function | IPacket inline | |
function | IPacket inline | Copy constructor; clones the info object if present. |
function | operator= inline | Copy assignment; clones the info object if present. |
function | clone virtual const | Returns a heap-allocated deep copy of this packet. |
function | ~IPacket virtual | Defaulted destructor. |
function | read virtual | Read/parse to the packet from the given input buffer. The number of bytes read is returned. |
function | write virtual const | Copy/generate to the packet given output buffer. The number of bytes written can be obtained from the buffer. |
function | size virtual const inline | The size of the packet in bytes. |
function | hasData virtual const inline | Returns true if the packet has a non-null data pointer. |
function | data virtual const inline | The packet data pointer for buffered packets. |
function | constData virtual const inline | The const packet data pointer for buffered packets. |
function | className virtual const | Returns the class name of this packet type for logging and diagnostics. |
function | print virtual const inline | Prints a human-readable representation to the given stream. |
friend | operator<< inline | Stream insertion operator; delegates to print(). |
Public Attributes
| Return | Name | Description |
|---|---|---|
VisionFrameContext | context |
{#context-5}
context
VisionFrameContext context
Defined in src/vision/include/icy/vision/framepacket.h:27
Public Methods
| Return | Name | Description |
|---|---|---|
VisionFramePacket | ||
VisionFramePacket | ||
VisionFramePacket | Deleted constructor. | |
std::unique_ptr< IPacket > | clone virtual const inline override | |
const char * | className virtual const inline override | Returns the class name of this packet type for logging and diagnostics. |
bool | valid const inline nodiscard |
{#visionframepacket-1}
VisionFramePacket
VisionFramePacket(const av::PlanarVideoPacket & packet, VisionFrameContext context = {})
Defined in src/vision/include/icy/vision/framepacket.h:29
{#visionframepacket-2}
VisionFramePacket
VisionFramePacket(const VisionFramePacket & that)
Defined in src/vision/include/icy/vision/framepacket.h:31
{#visionframepacket-3}
VisionFramePacket
VisionFramePacket(VisionFramePacket &&) = delete
Defined in src/vision/include/icy/vision/framepacket.h:33
Deleted constructor.
{#clone-19}
clone
virtual const inline override
virtual inline std::unique_ptr< IPacket > clone() const override
Defined in src/vision/include/icy/vision/framepacket.h:37
Returns
A heap-allocated deep copy of this packet.
Reimplements
{#classname-11}
className
virtual const inline override
virtual inline const char * className() const override
Defined in src/vision/include/icy/vision/framepacket.h:42
Returns the class name of this packet type for logging and diagnostics.
Reimplements
{#valid-17}
valid
const inline nodiscard
[[nodiscard]] inline bool valid() const
Defined in src/vision/include/icy/vision/framepacket.h:44