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

◆ transform_channel_operation() [2/2]

template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_channel_operation ( DataType &  input,
uint32_t  num_channels,
bool  interleave,
std::vector< std::vector< double > > &  working_buffer 
)

Channel operations using C++20 ranges (OUT-OF-PLACE)

Template Parameters
DataTypeOperationReadyData type
Parameters
inputInput data - will NOT be modified
num_channelsNumber of channels
interleaveWhether to interleave or deinterleave
working_bufferBuffer for operations (will be resized if needed)
Returns
Transformed data

Definition at line 593 of file MatrixHelper.hpp.

597{
598 auto [target_data, structure_info] = OperationHelper::setup_operation_buffer(input, working_buffer);
599
600 if (target_data.size() != num_channels) {
601 throw std::invalid_argument("Data channel count must match specified number of channels");
602 }
603
604 return OperationHelper::reconstruct_from_double<DataType>(working_buffer, structure_info);
605}

References MayaFlux::Yantra::OperationHelper::setup_operation_buffer().

+ Here is the call graph for this function: