24 EBUR128(
double rate,
size_t channels);
30 void ProcessSampleFromChannel(
float x_in,
size_t channel)
const;
32 double IntegrativeLoudness();
34 {
return 10 * log10(loudness); }
37 void HistogramSums(
size_t start_idx,
double& sum_v,
long int& sum_c)
const;
38 void AddBlockToHistogram(
size_t validLen);
40 static constexpr size_t HIST_BIN_COUNT = 65536;
42 static constexpr double GAMMA_A = (-70.0 + 0.691) / 10.0;
45 size_t mSampleCount{ 0 };
46 size_t mBlockRingPos{ 0 };
47 size_t mBlockRingSize{ 0 };
Implements EBU-R128 loudness measurement.
ArrayOf< long int > mLoudnessHist
const size_t mChannelCount
double IntegrativeLoudnessToLUFS(double loudness)
EBUR128(EBUR128 &&)=delete
EBUR128(const EBUR128 &)=delete
ArrayOf< ArrayOf< Biquad > > mWeightingFilter
const size_t mBlockOverlap