Reason for reland:
Added disabling of the BlockProcessor DEATH tests due to false alarms on the trybots.
These errors cannot be reproduced locally and they occur only in the DEATH test code,
which means that the memory leaks do not occur under normal conditions.
Original issue's description:
> Reason for revert:
> Memcheck buildbot detected memory leaks in the death tests. The code looks fine
> to me, but please investigate what causes the error and reland.
> > Original issue's description:
> > Added first layer of the echo canceller 3 functionality.
> >
> > This CL adds the first layer of the echo canceller 3.
> > All of the code is as it should, apart from
> > block_processor.* which only contains placeholder
> > functionality. (Upcoming CLs will add proper
> > functionality into those files.)
> >
> >
> >
> > BUG=webrtc:6018
> >
> > Review-Url: https://codereview.webrtc.org/2584493002
> > Cr-Commit-Position: refs/heads/master@{#15861}
> > Committed:
> 38fd1758e9
>
> TBR=ivoc@webrtc.org,aleloi@webrtc.org,henrik.lundin@webrtc.org,peah@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6018
BUG=webrtc:6018
TBR=ivoc@webrtc.org,aleloi@webrtc.org,henrik.lundin@webrtc.org
Review-Url: https://codereview.webrtc.org/2608233002
Cr-Commit-Position: refs/heads/master@{#15884}
53 lines
2.0 KiB
C++
53 lines
2.0 KiB
C++
/*
|
|
* Copyright (c) 2016 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_AEC3_AEC3_CONSTANTS_H_
|
|
#define WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_AEC3_CONSTANTS_H_
|
|
|
|
#include <stddef.h>
|
|
|
|
namespace webrtc {
|
|
|
|
constexpr size_t kFftLengthBy2 = 64;
|
|
constexpr size_t kFftLengthBy2Plus1 = kFftLengthBy2 + 1;
|
|
constexpr size_t kFftLength = 2 * kFftLengthBy2;
|
|
|
|
constexpr size_t kMaxNumBands = 3;
|
|
constexpr size_t kSubFrameLength = 80;
|
|
|
|
constexpr size_t kBlockSize = kFftLengthBy2;
|
|
constexpr size_t kExtendedBlockSize = 2 * kFftLengthBy2;
|
|
constexpr size_t kSubBlockSize = 16;
|
|
|
|
constexpr size_t NumBandsForRate(int sample_rate_hz) {
|
|
return static_cast<size_t>(sample_rate_hz == 8000 ? 1
|
|
: sample_rate_hz / 16000);
|
|
}
|
|
constexpr int LowestBandRate(int sample_rate_hz) {
|
|
return sample_rate_hz == 8000 ? sample_rate_hz : 16000;
|
|
}
|
|
|
|
static_assert(1 == NumBandsForRate(8000), "Number of bands for 8 kHz");
|
|
static_assert(1 == NumBandsForRate(16000), "Number of bands for 16 kHz");
|
|
static_assert(2 == NumBandsForRate(32000), "Number of bands for 32 kHz");
|
|
static_assert(3 == NumBandsForRate(48000), "Number of bands for 48 kHz");
|
|
|
|
static_assert(8000 == LowestBandRate(8000), "Sample rate of band 0 for 8 kHz");
|
|
static_assert(16000 == LowestBandRate(16000),
|
|
"Sample rate of band 0 for 16 kHz");
|
|
static_assert(16000 == LowestBandRate(32000),
|
|
"Sample rate of band 0 for 32 kHz");
|
|
static_assert(16000 == LowestBandRate(48000),
|
|
"Sample rate of band 0 for 48 kHz");
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC3_AEC3_CONSTANTS_H_
|