OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 19 matching lines...) Expand all Loading... |
30 // | 30 // |
31 // A similar logic can be applied to the synthesis stage. | 31 // A similar logic can be applied to the synthesis stage. |
32 | 32 |
33 // MSVC++ requires this to be set before any other includes to get M_PI. | 33 // MSVC++ requires this to be set before any other includes to get M_PI. |
34 #define _USE_MATH_DEFINES | 34 #define _USE_MATH_DEFINES |
35 | 35 |
36 #include "webrtc/modules/audio_processing/three_band_filter_bank.h" | 36 #include "webrtc/modules/audio_processing/three_band_filter_bank.h" |
37 | 37 |
38 #include <cmath> | 38 #include <cmath> |
39 | 39 |
40 #include "webrtc/rtc_base/checks.h" | 40 #include "webrtc/base/checks.h" |
41 | 41 |
42 namespace webrtc { | 42 namespace webrtc { |
43 namespace { | 43 namespace { |
44 | 44 |
45 const size_t kNumBands = 3; | 45 const size_t kNumBands = 3; |
46 const size_t kSparsity = 4; | 46 const size_t kSparsity = 4; |
47 | 47 |
48 // Factors to take into account when choosing |kNumCoeffs|: | 48 // Factors to take into account when choosing |kNumCoeffs|: |
49 // 1. Higher |kNumCoeffs|, means faster transition, which ensures less | 49 // 1. Higher |kNumCoeffs|, means faster transition, which ensures less |
50 // aliasing. This is especially important when there is non-linear | 50 // aliasing. This is especially important when there is non-linear |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 float* out) { | 207 float* out) { |
208 memset(out, 0, split_length * sizeof(*out)); | 208 memset(out, 0, split_length * sizeof(*out)); |
209 for (size_t i = 0; i < kNumBands; ++i) { | 209 for (size_t i = 0; i < kNumBands; ++i) { |
210 for (size_t j = 0; j < split_length; ++j) { | 210 for (size_t j = 0; j < split_length; ++j) { |
211 out[j] += dct_modulation_[offset][i] * in[i][j]; | 211 out[j] += dct_modulation_[offset][i] * in[i][j]; |
212 } | 212 } |
213 } | 213 } |
214 } | 214 } |
215 | 215 |
216 } // namespace webrtc | 216 } // namespace webrtc |
OLD | NEW |