On 31.08.2017 15:43, Liam Girdwood wrote:
On Fri, 2017-08-25 at 18:29 +0300, Seppo Ingalsuo wrote:
This patch fixes bugs in sink and source buffers handling and adds support for short coefficient type to save RAM in platforms with less space such as BYT. The patch introduces also a RAM saving minimum conversions set between 16, 44.1, and 48 kHz. A new possible rate 18.9 kHz was added to supported rates indication bits. SRC filters quality is also adjusted for lower default performance. The higher performance will need
16bit coefficients usage. The larger conversion set and 32 bit
filter coefficients can be easily restored with the SRC tools in rimage.
Signed-off-by: Seppo Ingalsuo seppo.ingalsuo@linux.intel.com
src/audio/src.c | 62 +- src/audio/src_core.c | 67 +- src/audio/src_core.h | 11 + .../coefficients/src/src_int16_1_3_4375_5000.h | 251 +++++ .../coefficients/src/src_int16_20_21_4020_5000.h | 1066 ++++++++++++++++++++ .../coefficients/src/src_int16_21_20_4020_5000.h | 1056 +++++++++++++++++++ .../coefficients/src/src_int16_3_1_4375_5000.h | 252 +++++ .../coefficients/src/src_int16_7_8_4375_5000.h | 657 ++++++++++++ .../coefficients/src/src_int16_8_7_4375_5000.h | 662 ++++++++++++ .../reef/audio/coefficients/src/src_int16_define.h | 11 + .../reef/audio/coefficients/src/src_int16_table.h | 32 + 11 files changed, 4076 insertions(+), 51 deletions(-) create mode 100644 src/include/reef/audio/coefficients/src/src_int16_1_3_4375_5000.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_20_21_4020_5000.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_21_20_4020_5000.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_3_1_4375_5000.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_7_8_4375_5000.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_8_7_4375_5000.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_define.h create mode 100644 src/include/reef/audio/coefficients/src/src_int16_table.h
I've applied for 1.0-rc1, but we need to revisit the division in copy().
Yes, next patch will address it. The processing block size can be computed in initialization, the division can be moved there. It should also improve performance for simple conversions where the block size (1-3 samples) is unnecessarily small for typical 1 ms buffers. The block size can be made larger in such cases.
Thanks, Seppo
Thanks
Liam
Sound-open-firmware mailing list Sound-open-firmware@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware