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

◆ transform_delay() [2/2]

template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_delay ( DataType &  input,
uint32_t  delay_samples,
double  fill_value = 0.0 
)

Delay transformation that extends buffer size (IN-PLACE)

Template Parameters
DataTypeOperationReadyData type
Parameters
inputInput data - WILL BE MODIFIED/EXTENDED
delay_samplesNumber of samples to delay (extends output size)
fill_valueValue to use for padding
Returns
Delayed data with extended size

Definition at line 160 of file TemporalHelper.hpp.

161{
162 auto [target_data, structure_info] = OperationHelper::extract_structured_double(input);
163
164 std::vector<std::vector<double>> result(target_data.size());
165 for (size_t i = 0; i < target_data.size(); ++i) {
166 result[i].resize(target_data[i].size() + delay_samples);
167 std::fill_n(result[i].begin(), delay_samples, fill_value);
168 std::copy(target_data[i].begin(), target_data[i].end(), result[i].begin() + delay_samples);
169 }
170
171 return OperationHelper::reconstruct_from_double<DataType>(result, structure_info);
172}

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

Referenced by MayaFlux::Yantra::TemporalTransformer< InputType, OutputType >::transform_implementation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: