Added debug dumping of the time domain linear filter in AEC3

Bug: webrtc:8671
Change-Id: I7bfcd99e8b718d6e53ead90c8d63e5ebbc93c84c
Reviewed-on: https://webrtc-review.googlesource.com/61863
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22437}
This commit is contained in:
Per Åhgren 2018-03-14 23:45:59 +01:00 committed by Commit Bot
parent 647ef09d1e
commit a11005ae3f
2 changed files with 14 additions and 7 deletions

View file

@ -125,14 +125,20 @@ class AdaptiveFirFilter {
// Returns the estimate of the impulse response.
const std::vector<float>& 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:

View file

@ -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