| Index: webrtc/modules/audio_processing/agc/histogram.h
|
| diff --git a/webrtc/modules/audio_processing/agc/histogram.h b/webrtc/modules/audio_processing/agc/histogram.h
|
| deleted file mode 100644
|
| index fd369a284b15872e8cb9d7c2a8bbbe1ad15d349b..0000000000000000000000000000000000000000
|
| --- a/webrtc/modules/audio_processing/agc/histogram.h
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_AGC_HISTOGRAM_H_
|
| -#define WEBRTC_MODULES_AUDIO_PROCESSING_AGC_HISTOGRAM_H_
|
| -
|
| -#include <string.h>
|
| -
|
| -#include <memory>
|
| -
|
| -#include "webrtc/typedefs.h"
|
| -
|
| -namespace webrtc {
|
| -
|
| -// This class implements the histogram of loudness with circular buffers so that
|
| -// the histogram tracks the last T seconds of the loudness.
|
| -class Histogram {
|
| - public:
|
| - // Create a non-sliding Histogram.
|
| - static Histogram* Create();
|
| -
|
| - // Create a sliding Histogram, i.e. the histogram represents the last
|
| - // |window_size| samples.
|
| - static Histogram* Create(int window_size);
|
| - ~Histogram();
|
| -
|
| - // Insert RMS and the corresponding activity probability.
|
| - void Update(double rms, double activity_probability);
|
| -
|
| - // Reset the histogram, forget the past.
|
| - void Reset();
|
| -
|
| - // Current loudness, which is actually the mean of histogram in loudness
|
| - // domain.
|
| - double CurrentRms() const;
|
| -
|
| - // Sum of the histogram content.
|
| - double AudioContent() const;
|
| -
|
| - // Number of times the histogram has been updated.
|
| - int num_updates() const { return num_updates_; }
|
| -
|
| - private:
|
| - Histogram();
|
| - explicit Histogram(int window);
|
| -
|
| - // Find the histogram bin associated with the given |rms|.
|
| - int GetBinIndex(double rms);
|
| -
|
| - void RemoveOldestEntryAndUpdate();
|
| - void InsertNewestEntryAndUpdate(int activity_prob_q10, int hist_index);
|
| - void UpdateHist(int activity_prob_q10, int hist_index);
|
| - void RemoveTransient();
|
| -
|
| - // Number of histogram bins.
|
| - static const int kHistSize = 77;
|
| -
|
| - // Number of times the histogram is updated
|
| - int num_updates_;
|
| - // Audio content, this should be equal to the sum of the components of
|
| - // |bin_count_q10_|.
|
| - int64_t audio_content_q10_;
|
| -
|
| - // Histogram of input RMS in Q10 with |kHistSize_| bins. In each 'Update(),'
|
| - // we increment the associated histogram-bin with the given probability. The
|
| - // increment is implemented in Q10 to avoid rounding errors.
|
| - int64_t bin_count_q10_[kHistSize];
|
| -
|
| - // Circular buffer for probabilities
|
| - std::unique_ptr<int[]> activity_probability_;
|
| - // Circular buffer for histogram-indices of probabilities.
|
| - std::unique_ptr<int[]> hist_bin_index_;
|
| - // Current index of circular buffer, where the newest data will be written to,
|
| - // therefore, pointing to the oldest data if buffer is full.
|
| - int buffer_index_;
|
| - // Indicating if buffer is full and we had a wrap around.
|
| - int buffer_is_full_;
|
| - // Size of circular buffer.
|
| - int len_circular_buffer_;
|
| - int len_high_activity_;
|
| -};
|
| -
|
| -} // namespace webrtc
|
| -
|
| -#endif // WEBRTC_MODULES_AUDIO_PROCESSING_AGC_HISTOGRAM_H_
|
|
|