From a11005ae3ffa63ef84a1e02cf98f91b0c572fc16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Wed, 14 Mar 2018 23:45:59 +0100 Subject: [PATCH] Added debug dumping of the time domain linear filter in AEC3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:8671 Change-Id: I7bfcd99e8b718d6e53ead90c8d63e5ebbc93c84c Reviewed-on: https://webrtc-review.googlesource.com/61863 Reviewed-by: Jesus de Vicente Pena Commit-Queue: Per Ã…hgren Cr-Commit-Position: refs/heads/master@{#22437} --- .../audio_processing/aec3/adaptive_fir_filter.h | 16 +++++++++++----- modules/audio_processing/aec3/subtractor.cc | 5 +++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/modules/audio_processing/aec3/adaptive_fir_filter.h b/modules/audio_processing/aec3/adaptive_fir_filter.h index e993c76587..0a9828c119 100644 --- a/modules/audio_processing/aec3/adaptive_fir_filter.h +++ b/modules/audio_processing/aec3/adaptive_fir_filter.h @@ -125,14 +125,20 @@ class AdaptiveFirFilter { // Returns the estimate of the impulse response. const std::vector& FilterImpulseResponse() const { return h_; } - void DumpFilter(const char* name) { - size_t current_size_partitions = H_.size(); + void DumpFilter(const char* name_frequency_domain, + const char* name_time_domain) { + size_t current_size = H_.size(); H_.resize(max_size_partitions_); for (auto& H : H_) { - data_dumper_->DumpRaw(name, H.re); - data_dumper_->DumpRaw(name, H.im); + data_dumper_->DumpRaw(name_frequency_domain, H.re); + data_dumper_->DumpRaw(name_frequency_domain, H.im); } - H_.resize(current_size_partitions); + H_.resize(current_size); + + current_size = h_.size(); + h_.resize(GetTimeDomainLength(max_size_partitions_)); + data_dumper_->DumpRaw(name_time_domain, h_); + h_.resize(current_size); } private: diff --git a/modules/audio_processing/aec3/subtractor.cc b/modules/audio_processing/aec3/subtractor.cc index e3b4f87c0f..7a4e3ce977 100644 --- a/modules/audio_processing/aec3/subtractor.cc +++ b/modules/audio_processing/aec3/subtractor.cc @@ -206,8 +206,9 @@ void Subtractor::Process(const RenderBuffer& render_buffer, data_dumper_->DumpRaw("aec3_subtractor_G_shadow", G.re); data_dumper_->DumpRaw("aec3_subtractor_G_shadow", G.im); - main_filter_.DumpFilter("aec3_subtractor_H_main"); - shadow_filter_.DumpFilter("aec3_subtractor_H_shadow"); + main_filter_.DumpFilter("aec3_subtractor_H_main", "aec3_subtractor_h_main"); + shadow_filter_.DumpFilter("aec3_subtractor_H_shadow", + "aec3_subtractor_h_shadow"); } } // namespace webrtc