FreeCalypso > hg > freecalypso-reveng
comparison new-aec-defaults @ 373:754be25cd6a0
new-aec-defaults: read out from the DSP
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 29 Jul 2021 09:48:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
372:0f9606d1f8b8 | 373:754be25cd6a0 |
---|---|
1 In the transition from the oldest AEC (the one before L1_NEW_AEC) to the one | |
2 implemented in DSP ROMs 3416 and 3606 (the one corresponding to L1_NEW_AEC, | |
3 but not the later LoCosto changes), 8 new parameter words were added to the | |
4 DSP's NDB page. When L1_NEW_AEC is enabled in the fw build, these parameters | |
5 must be set by whichever entity enables and configures AEC - so far, so good. | |
6 But what happens if L1_NEW_AEC is set to 0 (as in TI's shipping TCS211) and | |
7 the fw tries to configure AEC the old way? To find out, I did this: | |
8 | |
9 fc-tmsh r16 ffd0084a 8 | |
10 | |
11 It's a read directly from the DSP NDB page - and here is the result: | |
12 | |
13 r16: 0000 0001 7FFF 1FFF 4000 0032 1000 1000 | |
14 | |
15 Decoding: | |
16 | |
17 continuous_filtering = 0 | |
18 granularity_attenuation = 0x0001 | |
19 smoothing_coefficient = 0x7FFF | |
20 max_echo_suppression_level = 0x1FFF (AUDIO_MAX_ECHO_12dB) | |
21 vad_factor = 0x4000 | |
22 absolute_threshold = 0x0032 | |
23 factor_asd_filtering = 0x1000 | |
24 factor_asd_muting = 0x1000 | |
25 | |
26 I can only guess that these NDB words must be initialized by the init code path | |
27 of the DSP ROM, as nothing on the ARM side writes anything at all - the | |
28 corresponding API word definitions are excluded from T_NDB_MCU_DSP in l1_defty.h | |
29 (replaced with a_new_aec_holes[12]) when L1_NEW_AEC is 0. |