This set of patches introduces the testbench for audio processing components in SOF. The testbench enables functional/quality testing of SOF components. The testbench reads in audio samples from a file and write out the processed samples to the output file.
The host directory includes common code with routines for topology parsing and setting up sof ipc, scheduler and processing pipelines. It also includes simpler implementations for SOF features such as tracing. It also includes a new file component that allows reading in or writing out samples from/to a file.
The host directory also includes the testbench for setting up pipelines based on a test topology. It reads in input samples from a file , schedules pipeline copy and copies the processed sample to the output file. The output file can be used to perform audio quality tests using matlab/octave. Currently it supports only volume pipelines. Support for other components such as src/eq will be added soon.
Ranjani Sridharan (6): host: add host testbench common source and header files host: add new component for file IO host: add testbench program host: include host testbench directory for compilation scripts: add scritps for building host library and invoking the testbench doc: add README for host testbench
configure.ac | 1 + doc/README-HOST | 23 + doc/README.host | 23 + scripts/host-testbench.sh | 25 + src/Makefile.am | 2 +- src/host/Makefile.am | 29 + src/host/alloc.c | 63 +++ src/host/common_test.c | 206 +++++++ src/host/file.c | 720 +++++++++++++++++++++++++ src/host/ipc.c | 81 +++ src/host/schedule.c | 98 ++++ src/host/testbench.c | 298 ++++++++++ src/host/topology.c | 954 +++++++++++++++++++++++++++++++++ src/host/trace.c | 181 +++++++ src/include/host/common_test.h | 65 +++ src/include/host/file.h | 77 +++ src/include/host/topology.h | 202 +++++++ src/include/host/trace.h | 49 ++ 18 files changed, 3096 insertions(+), 1 deletion(-) create mode 100644 doc/README-HOST create mode 100644 doc/README.host create mode 100755 scripts/host-testbench.sh create mode 100644 src/host/Makefile.am create mode 100644 src/host/alloc.c create mode 100644 src/host/common_test.c create mode 100644 src/host/file.c create mode 100644 src/host/ipc.c create mode 100644 src/host/schedule.c create mode 100644 src/host/testbench.c create mode 100644 src/host/topology.c create mode 100644 src/host/trace.c create mode 100644 src/include/host/common_test.h create mode 100644 src/include/host/file.h create mode 100644 src/include/host/topology.h create mode 100644 src/include/host/trace.h