Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(399)

Side by Side Diff: webrtc/modules/audio_processing/gain_control_unittest.cc

Issue 2441603003: Added the missing ReadQueuedRenderData() call to the gain controller bitexactness test (Closed)
Patch Set: Updated test vectors Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 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 #include <vector> 10 #include <vector>
(...skipping 13 matching lines...) Expand all
24 void ProcessOneFrame(int sample_rate_hz, 24 void ProcessOneFrame(int sample_rate_hz,
25 AudioBuffer* render_audio_buffer, 25 AudioBuffer* render_audio_buffer,
26 AudioBuffer* capture_audio_buffer, 26 AudioBuffer* capture_audio_buffer,
27 GainControlImpl* gain_controller) { 27 GainControlImpl* gain_controller) {
28 if (sample_rate_hz > AudioProcessing::kSampleRate16kHz) { 28 if (sample_rate_hz > AudioProcessing::kSampleRate16kHz) {
29 render_audio_buffer->SplitIntoFrequencyBands(); 29 render_audio_buffer->SplitIntoFrequencyBands();
30 capture_audio_buffer->SplitIntoFrequencyBands(); 30 capture_audio_buffer->SplitIntoFrequencyBands();
31 } 31 }
32 32
33 gain_controller->ProcessRenderAudio(render_audio_buffer); 33 gain_controller->ProcessRenderAudio(render_audio_buffer);
34 gain_controller->ReadQueuedRenderData();
34 gain_controller->AnalyzeCaptureAudio(capture_audio_buffer); 35 gain_controller->AnalyzeCaptureAudio(capture_audio_buffer);
35 gain_controller->ProcessCaptureAudio(capture_audio_buffer, false); 36 gain_controller->ProcessCaptureAudio(capture_audio_buffer, false);
36 37
37 if (sample_rate_hz > AudioProcessing::kSampleRate16kHz) { 38 if (sample_rate_hz > AudioProcessing::kSampleRate16kHz) {
38 capture_audio_buffer->MergeFrequencyBands(); 39 capture_audio_buffer->MergeFrequencyBands();
39 } 40 }
40 } 41 }
41 42
42 void SetupComponent(int sample_rate_hz, 43 void SetupComponent(int sample_rate_hz,
43 GainControl::Mode mode, 44 GainControl::Mode mode,
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 227
227 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 228 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
228 defined(WEBRTC_ANDROID)) 229 defined(WEBRTC_ANDROID))
229 TEST(GainControlBitExactnessTest, 230 TEST(GainControlBitExactnessTest,
230 Mono16kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 231 Mono16kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
231 #else 232 #else
232 TEST(GainControlBitExactnessTest, 233 TEST(GainControlBitExactnessTest,
233 DISABLED_Mono16kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 234 DISABLED_Mono16kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
234 #endif 235 #endif
235 const int kStreamAnalogLevelReference = 50; 236 const int kStreamAnalogLevelReference = 50;
236 const float kOutputReference[] = {-0.003967f, -0.002808f, -0.001770f}; 237 const float kOutputReference[] = {-0.003967f, -0.002777f, -0.001770f};
237 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 10, 50, 5, 238 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 10, 50, 5,
238 true, 0, 100, kStreamAnalogLevelReference, 239 true, 0, 100, kStreamAnalogLevelReference,
239 kOutputReference); 240 kOutputReference);
240 } 241 }
241 242
242 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 243 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
243 defined(WEBRTC_ANDROID)) 244 defined(WEBRTC_ANDROID))
244 TEST(GainControlBitExactnessTest, 245 TEST(GainControlBitExactnessTest,
245 Stereo16kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 246 Stereo16kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
246 #else 247 #else
(...skipping 10 matching lines...) Expand all
257 258
258 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 259 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
259 defined(WEBRTC_ANDROID)) 260 defined(WEBRTC_ANDROID))
260 TEST(GainControlBitExactnessTest, 261 TEST(GainControlBitExactnessTest,
261 Mono32kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 262 Mono32kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
262 #else 263 #else
263 TEST(GainControlBitExactnessTest, 264 TEST(GainControlBitExactnessTest,
264 DISABLED_Mono32kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 265 DISABLED_Mono32kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
265 #endif 266 #endif
266 const int kStreamAnalogLevelReference = 50; 267 const int kStreamAnalogLevelReference = 50;
267 const float kOutputReference[] = {-0.006134f, -0.005554f, -0.005005f}; 268 const float kOutputReference[] = {-0.006104f, -0.005524f, -0.004974f};
268 RunBitExactnessTest(32000, 1, GainControl::Mode::kAdaptiveDigital, 10, 50, 5, 269 RunBitExactnessTest(32000, 1, GainControl::Mode::kAdaptiveDigital, 10, 50, 5,
269 true, 0, 100, kStreamAnalogLevelReference, 270 true, 0, 100, kStreamAnalogLevelReference,
270 kOutputReference); 271 kOutputReference);
271 } 272 }
272 273
273 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 274 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
274 defined(WEBRTC_ANDROID)) 275 defined(WEBRTC_ANDROID))
275 TEST(GainControlBitExactnessTest, 276 TEST(GainControlBitExactnessTest,
276 Mono48kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 277 Mono48kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
277 #else 278 #else
278 TEST(GainControlBitExactnessTest, 279 TEST(GainControlBitExactnessTest,
279 DISABLED_Mono48kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) { 280 DISABLED_Mono48kHz_AdaptiveDigital_Tl10_SL50_CG5_Lim_AL0_100) {
280 #endif 281 #endif
281 const int kStreamAnalogLevelReference = 50; 282 const int kStreamAnalogLevelReference = 50;
282 const float kOutputReference[] = {-0.006134f, -0.005554f, -0.005005f}; 283 const float kOutputReference[] = {-0.006104f, -0.005524f, -0.004974f};
283 RunBitExactnessTest(32000, 1, GainControl::Mode::kAdaptiveDigital, 10, 50, 5, 284 RunBitExactnessTest(32000, 1, GainControl::Mode::kAdaptiveDigital, 10, 50, 5,
284 true, 0, 100, kStreamAnalogLevelReference, 285 true, 0, 100, kStreamAnalogLevelReference,
285 kOutputReference); 286 kOutputReference);
286 } 287 }
287 288
288 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 289 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
289 defined(WEBRTC_ANDROID)) 290 defined(WEBRTC_ANDROID))
290 TEST(GainControlBitExactnessTest, 291 TEST(GainControlBitExactnessTest,
291 Mono8kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) { 292 Mono8kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) {
292 #else 293 #else
293 TEST(GainControlBitExactnessTest, 294 TEST(GainControlBitExactnessTest,
294 DISABLED_Mono8kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) { 295 DISABLED_Mono8kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) {
295 #endif 296 #endif
296 const int kStreamAnalogLevelReference = 50; 297 const int kStreamAnalogLevelReference = 50;
297 const float kOutputReference[] = {-0.011871f, -0.004944f, 0.002838f}; 298 const float kOutputReference[] = {-0.011871f, -0.004944f, 0.002838f};
298 RunBitExactnessTest(8000, 1, GainControl::Mode::kFixedDigital, 10, 50, 5, 299 RunBitExactnessTest(8000, 1, GainControl::Mode::kFixedDigital, 10, 50, 5,
299 true, 0, 100, kStreamAnalogLevelReference, 300 true, 0, 100, kStreamAnalogLevelReference,
300 kOutputReference); 301 kOutputReference);
301 } 302 }
302 303
303 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 304 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
304 defined(WEBRTC_ANDROID)) 305 defined(WEBRTC_ANDROID))
305 TEST(GainControlBitExactnessTest, 306 TEST(GainControlBitExactnessTest,
306 Mono16kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) { 307 Mono16kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) {
307 #else 308 #else
308 TEST(GainControlBitExactnessTest, 309 TEST(GainControlBitExactnessTest,
309 DISABLED_Mono16kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) { 310 DISABLED_Mono16kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) {
310 #endif 311 #endif
311 const int kStreamAnalogLevelReference = 50; 312 const int kStreamAnalogLevelReference = 50;
312 const float kOutputReference[] = {-0.011780f, -0.008270f, -0.005219f}; 313 const float kOutputReference[] = {-0.011749f, -0.008270f, -0.005219f};
313 RunBitExactnessTest(16000, 1, GainControl::Mode::kFixedDigital, 10, 50, 5, 314 RunBitExactnessTest(16000, 1, GainControl::Mode::kFixedDigital, 10, 50, 5,
314 true, 0, 100, kStreamAnalogLevelReference, 315 true, 0, 100, kStreamAnalogLevelReference,
315 kOutputReference); 316 kOutputReference);
316 } 317 }
317 318
318 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 319 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
319 defined(WEBRTC_ANDROID)) 320 defined(WEBRTC_ANDROID))
320 TEST(GainControlBitExactnessTest, 321 TEST(GainControlBitExactnessTest,
321 Stereo16kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) { 322 Stereo16kHz_FixedDigital_Tl10_SL50_CG5_Lim_AL0_100) {
322 #else 323 #else
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 379
379 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 380 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
380 defined(WEBRTC_ANDROID)) 381 defined(WEBRTC_ANDROID))
381 TEST(GainControlBitExactnessTest, 382 TEST(GainControlBitExactnessTest,
382 Mono16kHz_AdaptiveAnalog_Tl10_SL100_CG5_Lim_AL70_80) { 383 Mono16kHz_AdaptiveAnalog_Tl10_SL100_CG5_Lim_AL70_80) {
383 #else 384 #else
384 TEST(GainControlBitExactnessTest, 385 TEST(GainControlBitExactnessTest,
385 DISABLED_Mono16kHz_AdaptiveAnalog_Tl10_SL100_CG5_Lim_AL70_80) { 386 DISABLED_Mono16kHz_AdaptiveAnalog_Tl10_SL100_CG5_Lim_AL70_80) {
386 #endif 387 #endif
387 const int kStreamAnalogLevelReference = 100; 388 const int kStreamAnalogLevelReference = 100;
388 const float kOutputReference[] = {-0.004028f, -0.002838f, -0.001801f}; 389 const float kOutputReference[] = {-0.003998f, -0.002808f, -0.001770f};
389 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveAnalog, 10, 100, 5, 390 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveAnalog, 10, 100, 5,
390 true, 70, 80, kStreamAnalogLevelReference, 391 true, 70, 80, kStreamAnalogLevelReference,
391 kOutputReference); 392 kOutputReference);
392 } 393 }
393 394
394 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 395 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
395 defined(WEBRTC_ANDROID)) 396 defined(WEBRTC_ANDROID))
396 TEST(GainControlBitExactnessTest, 397 TEST(GainControlBitExactnessTest,
397 Mono16kHz_AdaptiveDigital_Tl10_SL100_CG5_NoLim_AL0_100) { 398 Mono16kHz_AdaptiveDigital_Tl10_SL100_CG5_NoLim_AL0_100) {
398 #else 399 #else
399 TEST(GainControlBitExactnessTest, 400 TEST(GainControlBitExactnessTest,
400 DISABLED_Mono16kHz_AdaptiveDigital_Tl10_SL100_CG5_NoLim_AL0_100) { 401 DISABLED_Mono16kHz_AdaptiveDigital_Tl10_SL100_CG5_NoLim_AL0_100) {
401 #endif 402 #endif
402 const int kStreamAnalogLevelReference = 100; 403 const int kStreamAnalogLevelReference = 100;
403 const float kOutputReference[] = {-0.004028f, -0.002838f, -0.001801f}; 404 const float kOutputReference[] = {-0.004028f, -0.002838f, -0.001770f};
404 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 10, 100, 5, 405 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 10, 100, 5,
405 false, 0, 100, kStreamAnalogLevelReference, 406 false, 0, 100, kStreamAnalogLevelReference,
406 kOutputReference); 407 kOutputReference);
407 } 408 }
408 409
409 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 410 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
410 defined(WEBRTC_ANDROID)) 411 defined(WEBRTC_ANDROID))
411 TEST(GainControlBitExactnessTest, 412 TEST(GainControlBitExactnessTest,
412 Mono16kHz_AdaptiveDigital_Tl40_SL100_CG5_Lim_AL0_100) { 413 Mono16kHz_AdaptiveDigital_Tl40_SL100_CG5_Lim_AL0_100) {
413 #else 414 #else
414 TEST(GainControlBitExactnessTest, 415 TEST(GainControlBitExactnessTest,
415 DISABLED_Mono16kHz_AdaptiveDigital_Tl40_SL100_CG5_Lim_AL0_100) { 416 DISABLED_Mono16kHz_AdaptiveDigital_Tl40_SL100_CG5_Lim_AL0_100) {
416 #endif 417 #endif
417 const int kStreamAnalogLevelReference = 100; 418 const int kStreamAnalogLevelReference = 100;
418 const float kOutputReference[] = {-0.008759f, -0.006134f, -0.003876f}; 419 const float kOutputReference[] = {-0.008728f, -0.006134f, -0.003845f};
419 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 40, 100, 5, 420 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 40, 100, 5,
420 true, 0, 100, kStreamAnalogLevelReference, 421 true, 0, 100, kStreamAnalogLevelReference,
421 kOutputReference); 422 kOutputReference);
422 } 423 }
423 424
424 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \ 425 #if !(defined(WEBRTC_ARCH_ARM64) || defined(WEBRTC_ARCH_ARM) || \
425 defined(WEBRTC_ANDROID)) 426 defined(WEBRTC_ANDROID))
426 TEST(GainControlBitExactnessTest, 427 TEST(GainControlBitExactnessTest,
427 Mono16kHz_AdaptiveDigital_Tl10_SL100_CG30_Lim_AL0_100) { 428 Mono16kHz_AdaptiveDigital_Tl10_SL100_CG30_Lim_AL0_100) {
428 #else 429 #else
429 TEST(GainControlBitExactnessTest, 430 TEST(GainControlBitExactnessTest,
430 DISABLED_Mono16kHz_AdaptiveDigital_Tl10_SL100_CG30_Lim_AL0_100) { 431 DISABLED_Mono16kHz_AdaptiveDigital_Tl10_SL100_CG30_Lim_AL0_100) {
431 #endif 432 #endif
432 const int kStreamAnalogLevelReference = 100; 433 const int kStreamAnalogLevelReference = 100;
433 const float kOutputReference[] = {-0.006134f, -0.004303f, -0.002716f}; 434 const float kOutputReference[] = {-0.005859f, -0.004120f, -0.002594f};
434 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 10, 100, 435 RunBitExactnessTest(16000, 1, GainControl::Mode::kAdaptiveDigital, 10, 100,
435 30, true, 0, 100, kStreamAnalogLevelReference, 436 30, true, 0, 100, kStreamAnalogLevelReference,
436 kOutputReference); 437 kOutputReference);
437 } 438 }
438 439
439 } // namespace webrtc 440 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698