diff options
Diffstat (limited to 'cras/src/dsp/tests/drc_test.c')
-rw-r--r-- | cras/src/dsp/tests/drc_test.c | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/cras/src/dsp/tests/drc_test.c b/cras/src/dsp/tests/drc_test.c deleted file mode 100644 index 17ccbcd5..00000000 --- a/cras/src/dsp/tests/drc_test.c +++ /dev/null @@ -1,100 +0,0 @@ -/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#include <stdio.h> -#include <stdlib.h> -#include <time.h> - -#include "dsp_test_util.h" -#include "dsp_util.h" -#include "drc.h" -#include "raw.h" - -#ifndef min -#define min(a, b) \ - ({ \ - __typeof__(a) _a = (a); \ - __typeof__(b) _b = (b); \ - _a < _b ? _a : _b; \ - }) -#endif - -static double tp_diff(struct timespec *tp2, struct timespec *tp1) -{ - return (tp2->tv_sec - tp1->tv_sec) + - (tp2->tv_nsec - tp1->tv_nsec) * 1e-9; -} - -static void process(struct drc *drc, float *buf, size_t frames) -{ - struct timespec tp1, tp2; - int start; - float *data[2]; - int chunk; - clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp1); - for (start = 0; start < frames;) { - data[0] = buf + start; - data[1] = buf + start + frames; - chunk = min(DRC_PROCESS_MAX_FRAMES, frames - start); - drc_process(drc, data, chunk); - start += chunk; - } - clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp2); - printf("drc processing takes %g seconds for %zu samples\n", - tp_diff(&tp2, &tp1), frames * 2); -} - -int main(int argc, char **argv) -{ - double NQ = 44100 / 2; /* nyquist frequency */ - struct drc *drc; - size_t frames; - float *buf; - - if (argc != 3) { - printf("Usage: drc_test input.raw output.raw\n"); - return 1; - } - - dsp_enable_flush_denormal_to_zero(); - dsp_util_clear_fp_exceptions(); - drc = drc_new(44100); - - drc->emphasis_disabled = 0; - drc_set_param(drc, 0, PARAM_CROSSOVER_LOWER_FREQ, 0); - drc_set_param(drc, 0, PARAM_ENABLED, 1); - drc_set_param(drc, 0, PARAM_THRESHOLD, -29); - drc_set_param(drc, 0, PARAM_KNEE, 3); - drc_set_param(drc, 0, PARAM_RATIO, 6.677); - drc_set_param(drc, 0, PARAM_ATTACK, 0.02); - drc_set_param(drc, 0, PARAM_RELEASE, 0.2); - drc_set_param(drc, 0, PARAM_POST_GAIN, -7); - - drc_set_param(drc, 1, PARAM_CROSSOVER_LOWER_FREQ, 200 / NQ); - drc_set_param(drc, 1, PARAM_ENABLED, 1); - drc_set_param(drc, 1, PARAM_THRESHOLD, -32); - drc_set_param(drc, 1, PARAM_KNEE, 23); - drc_set_param(drc, 1, PARAM_RATIO, 12); - drc_set_param(drc, 1, PARAM_ATTACK, 0.02); - drc_set_param(drc, 1, PARAM_RELEASE, 0.2); - drc_set_param(drc, 1, PARAM_POST_GAIN, 0.7); - - drc_set_param(drc, 2, PARAM_CROSSOVER_LOWER_FREQ, 1200 / NQ); - drc_set_param(drc, 2, PARAM_ENABLED, 1); - drc_set_param(drc, 2, PARAM_THRESHOLD, -24); - drc_set_param(drc, 2, PARAM_KNEE, 30); - drc_set_param(drc, 2, PARAM_RATIO, 1); - drc_set_param(drc, 2, PARAM_ATTACK, 0.001); - drc_set_param(drc, 2, PARAM_RELEASE, 1); - drc_set_param(drc, 2, PARAM_POST_GAIN, 0); - - drc_init(drc); - buf = read_raw(argv[1], &frames); - process(drc, buf, frames); - write_raw(argv[2], buf, frames); - drc_free(drc); - free(buf); - dsp_util_print_fp_exceptions(); - return 0; -} |