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

◆ extract_frame() [2/2]

template<ProcessableData T>
constexpr std::span< T > MayaFlux::Kakshya::extract_frame ( std::span< T >  data,
uint64_t  frame_index,
uint64_t  frame_size 
)
constexprnoexcept

Extract a single frame of data from a span.

Template Parameters
TData type.
Parameters
dataSource data span.
frame_indexIndex of the frame to extract.
frame_sizeNumber of elements per frame.
Returns
Span containing the frame data.

Definition at line 287 of file DataUtils.hpp.

288{
289 uint64_t start = frame_index * frame_size;
290 uint64_t end = std::min(static_cast<uint64_t>(start + frame_size),
291 static_cast<uint64_t>(data.size()));
292
293 if (start >= data.size()) {
294 return {};
295 }
296
297 return data.subspan(start, end - start);
298}