MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
FrameAccessProcessor Class Reference

Data Processor for sequential, frame-atomic access to video containers. More...

#include <FrameAccessProcessor.hpp>

+ Collaboration diagram for FrameAccessProcessor:

Detailed Description

Data Processor for sequential, frame-atomic access to video containers.

FrameAccessProcessor is the video-domain counterpart of ContiguousAccessProcessor. Where ContiguousAccessProcessor models audio as per-channel linear streams with independent read heads, FrameAccessProcessor treats video as a sequence of indivisible spatial surfaces advanced by a single temporal cursor.

A video frame is an atomic spatial unit: width × height × channels bytes of interleaved pixel data. There is no meaningful per-channel read position — RGBA planes are never consumed independently in the container→buffer pipeline. The processor therefore maintains a single frame index rather than a per-channel position vector.

Output shape is four-dimensional: [frames, height, width, channels]. By default the processor extracts one frame per process() call, matching the expected cadence of a downstream VideoStreamReader (the planned video analogue of SoundStreamReader) feeding a TextureBuffer.

The processor writes extracted frame data into the container's processed_data vector as a single DataVariant containing contiguous uint8_t RGBA pixels. This matches VideoStreamContainer's storage convention and the Vulkan VK_FORMAT_R8G8B8A8_UNORM upload path through TextureProcessor / TextureLoom.

Designed for integration into the same DataProcessingChain infrastructure used by audio, enabling mixed-domain chains where audio and video processors coexist on containers that carry both modalities.

See also
ContiguousAccessProcessor, VideoStreamContainer, VideoFileContainer

The documentation for this class was generated from the following file: