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

◆ linear_to_coordinates()

std::vector< uint64_t > MayaFlux::Kakshya::linear_to_coordinates ( uint64_t  index,
const std::vector< DataDimension > &  dimensions 
)

Convert a linear index to N-dimensional coordinates for interleaved data.

Parameters
indexLinear index into the underlying data storage.
dimensionsDimension descriptors (size/stride/role).
Returns
N-dimensional coordinates.
Note
Only works with interleaved organization strategy. For planar data, coordinates map directly to {channel_vector_index, frame_index}.

Definition at line 19 of file CoordUtils.cpp.

20{
21 std::vector<uint64_t> coords(dimensions.size());
22 for (int i = dimensions.size() - 1; i >= 0; --i) {
23 coords[i] = index % dimensions[i].size;
24 index /= dimensions[i].size;
25 }
26 return coords;
27}

Referenced by MayaFlux::Kakshya::SoundStreamContainer::linear_index_to_coordinates().

+ Here is the caller graph for this function: