File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11CONFIG_LIBRARY=y
2+ CONFIG_TRACEV=y
23CONFIG_DEBUG_MEMORY_USAGE_SCAN=n
34CONFIG_COMP_CROSSOVER=y
45CONFIG_COMP_DRC=y
56CONFIG_COMP_MULTIBAND_DRC=y
67CONFIG_COMP_CODEC_ADAPTER=y
7- CONFIG_TRACEV=y
8+ CONFIG_COMP_SRC=y
9+ CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y
Original file line number Diff line number Diff line change @@ -132,6 +132,14 @@ config COMP_SRC_TINY
132132 has no critical usage or when only need with lower quality
133133 endpoint like miniature speakers.
134134
135+ config COMP_SRC_IPC4_FULL_MATRIX
136+ bool "Full IPC4 conversions matrix support and high quality"
137+ help
138+ This coefficients set supports a large number of conversions
139+ with 8 - 192 kHz input 8 - 192 kHz output. The 32 bits coefficients
140+ storate consumes 241 kB. The runtime needs 9 kB. Use this to
141+ make the full conversions set available for IPC4 build.
142+
135143endchoice
136144
137145endif # SRC
Original file line number Diff line number Diff line change 3737#if SRC_SHORT || CONFIG_COMP_SRC_TINY
3838#include <sof/audio/coefficients/src/src_tiny_int16_define.h>
3939#include <sof/audio/coefficients/src/src_tiny_int16_table.h>
40- #else
41- #if CONFIG_COMP_SRC_SMALL
40+ #elif CONFIG_COMP_SRC_SMALL
4241#include <sof/audio/coefficients/src/src_small_int32_define.h>
4342#include <sof/audio/coefficients/src/src_small_int32_table.h>
44- #endif
45- #if CONFIG_COMP_SRC_STD
43+ #elif CONFIG_COMP_SRC_STD
4644#include <sof/audio/coefficients/src/src_std_int32_define.h>
4745#include <sof/audio/coefficients/src/src_std_int32_table.h>
48- #endif
46+ #elif CONFIG_COMP_SRC_IPC4_FULL_MATRIX
47+ #include <sof/audio/coefficients/src/src_ipc4_int32_define.h>
48+ #include <sof/audio/coefficients/src/src_ipc4_int32_table.h>
49+ #else
50+ #error "No valid configuration selected for SRC"
4951#endif
5052
5153/* The FIR maximum lengths are per channel so need to multiply them */
Original file line number Diff line number Diff line change 3232 bits_out = 32 ;
3333end
3434if nargin < 3
35- fs_in_list = [8 11.025 12 16 22.050 24 32 44.1 48 ...
36- 50 64 88.2 96 176.4 192 ] * 1e3 ;
35+ fs_in_list = [ 8 11.025 12 16 18.9 22.050 24 32 37.8 44.1 48 ...
36+ 50 64 88.2 96 176.4 192 ] * 1e3 ;
3737end
3838if nargin < 4
39- fs_out_list = [8 11.025 12 16 22.05 24 32 44.1 48 50 ] * 1e3 ;
39+ fs_out_list = [ 8 11.025 12 16 22.05 24 32 44.1 48 ...
40+ 50 64 88.2 96 176.4 192 ] * 1e3 ;
4041end
4142
4243%% Generic test pass/fail criteria
Original file line number Diff line number Diff line change 1+ %% Export full set of conversions for IPC4
2+
3+ % SPDX-License-Identifier: BSD-3-Clause
4+ %
5+ % Copyright(c) 2022 Intel Corporation. All rights reserved.
6+
7+ fs1 = [ 8 11.025 12 16 18.9 22.05 24 32 37.8 44.1 48 64 88.2 96 176.4 192 ] * 1e3 ;
8+
9+ fs2 = [8 16 24 32 44.1 48 88.2 96 176.4 192 ] * 1e3 ;
10+
11+ fs_matrix = [
12+ 1 1 1 1 1 1 1 1 1 1
13+ 1 1 1 1 1 1 1 1 1 0
14+ 1 1 1 1 1 1 1 1 1 1
15+ 1 1 1 1 1 1 1 1 1 1
16+ 0 0 1 0 1 1 0 0 0 0
17+ 1 1 1 1 1 1 1 1 1 1
18+ 1 1 1 1 1 1 1 1 1 1
19+ 1 1 1 1 1 1 1 1 1 1
20+ 0 0 0 0 1 1 1 1 0 0
21+ 1 1 1 1 1 1 1 1 1 1
22+ 1 1 1 1 1 1 1 1 1 1
23+ 1 1 1 1 1 1 1 1 1 1
24+ 1 1 1 1 1 1 1 1 1 1
25+ 1 1 1 1 1 1 1 1 1 1
26+ 1 1 1 1 1 1 1 1 1 1
27+ 1 1 1 1 1 1 1 1 1 1
28+ ];
29+
30+ cfg.ctype = ' int32' ;
31+ cfg.profile = ' ipc4' ;
32+ cfg.quality = 1.0 ;
33+ cfg.speed = 0 ;
34+ cfg.gain = 0 ; % Make gain 0 dB
35+
36+ src_generate(fs1 , fs2 , fs_matrix , cfg );
You can’t perform that action at this time.
0 commit comments