#include "modules/audio_processing/agc/loudness_histogram.h"
#include <string.h>
#include <cmath>
#include "rtc_base/checks.h"
namespace webrtc {
static const double kHistBinCenters[] = …;
static const double kProbQDomain = …;
static const double kLogDomainMinBinCenter = …;
static const double kLogDomainStepSizeInverse = …;
static const int kTransientWidthThreshold = …;
static const double kLowProbabilityThreshold = …;
static const int kLowProbThresholdQ10 = …;
LoudnessHistogram::LoudnessHistogram()
: … { … }
LoudnessHistogram::LoudnessHistogram(int window_size)
: … { … }
LoudnessHistogram::~LoudnessHistogram() { … }
void LoudnessHistogram::Update(double rms, double activity_probaility) { … }
void LoudnessHistogram::RemoveOldestEntryAndUpdate() { … }
void LoudnessHistogram::RemoveTransient() { … }
void LoudnessHistogram::InsertNewestEntryAndUpdate(int activity_prob_q10,
int hist_index) { … }
void LoudnessHistogram::UpdateHist(int activity_prob_q10, int hist_index) { … }
double LoudnessHistogram::AudioContent() const { … }
LoudnessHistogram* LoudnessHistogram::Create() { … }
LoudnessHistogram* LoudnessHistogram::Create(int window_size) { … }
void LoudnessHistogram::Reset() { … }
int LoudnessHistogram::GetBinIndex(double rms) { … }
double LoudnessHistogram::CurrentRms() const { … }
}