Index: webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
diff --git a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
index 7ff2cf40429230d152d92e46184eaf85cb2329f5..f5414aa87835f74e8e8e4d1b2472c23d201789a7 100644 |
--- a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
+++ b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
@@ -18,6 +18,7 @@ |
#include "webrtc/base/checks.h" |
#include "webrtc/base/logging.h" |
+#include "webrtc/base/safe_minmax.h" |
#include "webrtc/common_audio/include/audio_util.h" |
#include "webrtc/common_audio/window_generator.h" |
@@ -287,23 +288,23 @@ std::vector<std::vector<float>> IntelligibilityEnhancer::CreateErbBank( |
} |
for (size_t i = 1; i <= bank_size_; ++i) { |
- static const size_t kOne = 1; // Avoids repeated static_cast<>s below. |
- size_t lll = |
- static_cast<size_t>(round(center_freqs_[std::max(kOne, i - lf) - 1] * |
- num_freqs / (0.5f * sample_rate_hz_))); |
- size_t ll = static_cast<size_t>(round(center_freqs_[std::max(kOne, i) - 1] * |
- num_freqs / (0.5f * sample_rate_hz_))); |
- lll = std::min(num_freqs, std::max(lll, kOne)) - 1; |
- ll = std::min(num_freqs, std::max(ll, kOne)) - 1; |
+ size_t lll = static_cast<size_t>( |
+ round(center_freqs_[rtc::SafeMax<size_t>(1, i - lf) - 1] * num_freqs / |
+ (0.5f * sample_rate_hz_))); |
+ size_t ll = static_cast<size_t>( |
+ round(center_freqs_[rtc::SafeMax<size_t>(1, i) - 1] * num_freqs / |
+ (0.5f * sample_rate_hz_))); |
+ lll = rtc::SafeClamp<size_t>(lll, 1, num_freqs) - 1; |
+ ll = rtc::SafeClamp<size_t>(ll, 1, num_freqs) - 1; |
size_t rrr = static_cast<size_t>( |
- round(center_freqs_[std::min(bank_size_, i + rf) - 1] * num_freqs / |
- (0.5f * sample_rate_hz_))); |
+ round(center_freqs_[rtc::SafeMin<size_t>(bank_size_, i + rf) - 1] * |
+ num_freqs / (0.5f * sample_rate_hz_))); |
size_t rr = static_cast<size_t>( |
- round(center_freqs_[std::min(bank_size_, i + 1) - 1] * num_freqs / |
- (0.5f * sample_rate_hz_))); |
- rrr = std::min(num_freqs, std::max(rrr, kOne)) - 1; |
- rr = std::min(num_freqs, std::max(rr, kOne)) - 1; |
+ round(center_freqs_[rtc::SafeMin<size_t>(bank_size_, i + 1) - 1] * |
+ num_freqs / (0.5f * sample_rate_hz_))); |
+ rrr = rtc::SafeClamp<size_t>(rrr, 1, num_freqs) - 1; |
+ rr = rtc::SafeClamp<size_t>(rr, 1, num_freqs) - 1; |
float step = ll == lll ? 0.f : 1.f / (ll - lll); |
float element = 0.f; |