annotate new-aec-defaults @ 403:50c0fac9a4a8

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