#ifndef SUMSAMPLES_H #define SUMSAMPLES_H #include #include class SampleSummer { public: struct Sum { Sum(); qfloat16 min; qfloat16 max; }; // FIXME: Move to config static const int kSumSampleRate; static QVector SumSamples(const float* samples, int nb_samples, int nb_channels); static QVector SumSamples(const qfloat16* samples, int nb_samples, int nb_channels); static QVector ReSumSamples(const SampleSummer::Sum* samples, int nb_samples, int nb_channels); private: template static QVector SumSamplesInternal(const T* samples, int nb_samples, int nb_channels); }; #endif // SUMSAMPLES_H