MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ set_sequence()

void MayaFlux::Kakshya::VisionProcessor::set_sequence ( Kinesis::Vision::VisionSequence  sequence)

Replace the pipeline and reset inter-frame executor state.

Not thread-safe relative to process(). Call only when process() is idle.

Parameters
sequenceReplacement VisionSequence.

Definition at line 122 of file VisionProcessor.cpp.

123{
124 m_sequence = std::move(sequence);
125 m_executor.reset();
127 m_result = {};
128
130 m_executor = std::make_unique<Yantra::VisionGpuExecutor>();
131 if (m_width > 0 && m_height > 0 && !m_gpu_frame) {
133 m_gpu_frame = loom.create_2d(m_width, m_height, ImageFormat::RGBA8, nullptr);
135 }
136 } else {
137 m_gpu_frame.reset();
138 m_upload_staging.reset();
139 }
140}
std::shared_ptr< Buffers::VKBuffer > m_upload_staging
Kinesis::Vision::VisionExecutor m_cpu_executor
Kinesis::Vision::VisionSequence m_sequence
std::unique_ptr< Yantra::VisionGpuExecutor > m_executor
std::shared_ptr< Core::VKImage > m_gpu_frame
Kinesis::Vision::VisionResult m_result
void reset()
Clear stored inter-frame state.
std::shared_ptr< VKBuffer > create_image_staging_buffer(size_t size)
Allocate a persistent host-visible staging buffer sized for repeated streaming uploads to an image of...
@ RGBA8
Four channel 8-bit.
@ GPU
Execute the sequence with the Yantra Vulkan executor.
VisionBackend backend
Backend used for every step.
Definition VisionOp.hpp:383

References MayaFlux::Kinesis::Vision::VisionSequence::backend, MayaFlux::Buffers::create_image_staging_buffer(), MayaFlux::Kinesis::Vision::GPU, MayaFlux::Portal::Graphics::TextureLoom::instance(), m_cpu_executor, m_executor, m_gpu_frame, m_height, m_result, m_sequence, m_upload_staging, m_width, MayaFlux::Kinesis::Vision::VisionExecutor::reset(), and MayaFlux::Kakshya::RGBA8.

+ Here is the call graph for this function: