FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/namespace.list @ 581:e2d5cad04cbf
libgsmhr1 RxFE: store CN R0+LPC separately from speech
In the original GSM 06.06 code the ECU for speech mode is entirely
separate from the CN generator, maintaining separate state. (The
main intertie between them is the speech vs CN state variable,
distinguishing between speech and CN BFIs, in addition to the
CN-specific function of distinguishing between initial and update
SIDs.)
In the present RxFE implementation I initially thought that we could
use the same saved_frame buffer for both ECU and CN, overwriting
just the first 4 params (R0 and LPC) when a valid SID comes in.
However, I now realize it was a bad idea: the original code has a
corner case (long sequence of speech-mode BFIs to put the ECU in
state 6, then SID and CN-mode BFIs, then a good speech frame) that
would be broken by that buffer reuse approach. We could eliminate
this corner case by resetting the ECU state when passing through
a CN insertion period, but doing so would needlessly increase
the behavioral diffs between GSM 06.06 and our version.
Solution: use a separate CN-specific buffer for CN R0+LPC parameters,
and match the behavior of GSM 06.06 code in this regard.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 13 Feb 2025 10:02:45 +0000 |
parents | ebe499058c63 |
children |
rev | line source |
---|---|
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 # This file is the source input for automatic generation of namespace.h |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
2 # for libtwamr. Each word in every non-empty, non-comment line lists a |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
3 # function or a data object with intermodule linkage whose name needs to be |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
4 # transformed in order to avoid namespace pollution for users of our library. |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
6 Overflow Carry |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
8 add sub abs_s shl shr mult |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
9 L_mult negate extract_h extract_l round |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
10 L_mac L_msu L_macNs L_msuNs L_add L_sub L_add_c L_sub_c L_negate |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
11 mult_r L_shl L_shr shr_r mac_r msu_r |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
12 L_deposit_h L_deposit_l L_shr_r L_abs L_sat |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
13 norm_m div_s norm_l |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
14 L_Extract L_Comp Mpy_32 Mpy_32_16 Div_32 |
374
61047a2912a2
libtwamr: integrate mac_32.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
371
diff
changeset
|
15 Mac_32 Mac_32_16 |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
17 Inv_sqrt Log2 Log2_norm Pow2 |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
19 A_Refl Autocorr Az_lsp |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
20 Bgn_scd Bgn_scd_reset |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 Convolve |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
22 Dec_gain Dec_lag3 Dec_lag6 |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
23 D_plsf_reset D_plsf_5 D_plsf_3 Init_D_plsf_3 |
367
bd4f660eb75a
libtwamr: integrate g_pitch.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
366
diff
changeset
|
24 Enc_lag3 Enc_lag6 Ex_ctrl |
bd4f660eb75a
libtwamr: integrate g_pitch.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
366
diff
changeset
|
25 G_code G_pitch |
383
838ed426bb76
libtwamr: integrate inter_36.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
382
diff
changeset
|
26 Int_lpc_1and3 Int_lpc_1and3_2 Int_lpc_1to3 Int_lpc_1to3_2 |
838ed426bb76
libtwamr: integrate inter_36.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
382
diff
changeset
|
27 Int_lsf Interpol_3or6 |
385
c713061b6edf
libtwamr: integrate levinson.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
384
diff
changeset
|
28 Lag_window Levinson Levinson_reset |
380
2ed325c9a507
libtwamr: integrate lsp_az.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
379
diff
changeset
|
29 Lsf_lsp Lsp_lsf Reorder_lsf Lsf_wt Lsp_Az |
416
48c7f8e8c9af
libtwamr: integrate p_ol_wgh.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
30 Pitch_fr Pitch_fr_reset Pitch_ol Pitch_ol_wgh p_ol_wgh_reset |
401
59655481e45b
libtwamr: integrate pstfilt.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
399
diff
changeset
|
31 Pre_Process Pre_Process_reset Pred_lt_3or6 |
59655481e45b
libtwamr: integrate pstfilt.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
399
diff
changeset
|
32 Post_Filter Post_Filter_reset Post_Process Post_Process_reset |
394
2af94ba0c075
libtwamr: integrate syn_filt.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
393
diff
changeset
|
33 Q_plsf_reset Q_plsf_3 Q_plsf_5 Qua_gain |
395
8c7d5eec544c
libtwamr: integrate weight_a.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
394
diff
changeset
|
34 Residu Syn_filt Weight_Ai |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
36 agc agc2 agc_reset |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
37 pseudonoise build_CN_code build_CN_param |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 sqrt_l_exp |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
39 set_sign set_sign12k2 |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
40 cor_h cor_h_x cor_h_x2 comp_corr |
417
f17e42c63058
libtwamr: integrate ol_ltp.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
41 cbsearch cl_ltp cl_ltp_reset ol_ltp |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
42 d_gain_code d_gain_pitch |
365
2a265be82195
libtwamr: integrate g_adapt.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
364
diff
changeset
|
43 gain_adapt gain_adapt_reset |
378
ccba5812fa44
libtwamr: integrate gain_q.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
44 gainQuant gainQuant_reset |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
45 gc_pred gc_pred_copy gc_pred_reset gc_pred_update gc_pred_average_limited |
379
176a44ff94a1
libtwamr: integrate hp_max.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
378
diff
changeset
|
46 gmed_n hp_max |
389
9cd332a94c97
libtwamr: integrate lsp_avg.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
388
diff
changeset
|
47 lpc lpc_reset lsp lsp_reset lsp_avg lsp_avg_reset |
390
bde9f5804670
libtwamr: integrate ph_disp.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
389
diff
changeset
|
48 ph_disp ph_disp_reset ph_disp_lock ph_disp_release |
399
3618b5cf25a6
libtwamr: integrate preemph.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
398
diff
changeset
|
49 pre_big preemphasis preemphasis_reset |
369
a01de4e40540
libtwamr: integrate q_gain_p.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
368
diff
changeset
|
50 q_gain_code q_gain_pitch |
402
a8b73b1c5b19
libtwamr: integrate sid_sync.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
401
diff
changeset
|
51 sid_sync sid_sync_reset sid_sync_set_handover_debt |
405
8fff74ca83e8
libtwamr: integrate ton_stab.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
404
diff
changeset
|
52 ton_stab_reset check_lsp check_gp_clipping update_gp_clipping |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
418
93d6c6960a46
libtwamr: integrate cod_amr.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
417
diff
changeset
|
54 cod_amr cod_amr_reset cod_amr_first |
407
5a1d18542f8a
libtwamr: integrate dtx_dec.c and dtx_enc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
55 dtx_dec dtx_dec_reset dtx_dec_activity_update rx_dtx_handler |
5a1d18542f8a
libtwamr: integrate dtx_dec.c and dtx_enc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
56 dtx_enc dtx_enc_reset dtx_buffer tx_dtx_handler |
408
8847c1740e78
libtwamr: integrate VAD1
Mychaela Falconia <falcon@freecalypso.org>
parents:
407
diff
changeset
|
57 vad1 vad1_reset vad_complex_detection_update vad_tone_detection |
8847c1740e78
libtwamr: integrate VAD1
Mychaela Falconia <falcon@freecalypso.org>
parents:
407
diff
changeset
|
58 vad_tone_detection_update vad_pitch_detection |
414
028ed5114e52
libtwamr: implement run-time VAD selection scheme
Mychaela Falconia <falcon@freecalypso.org>
parents:
410
diff
changeset
|
59 vad2 vad2_reset r_fft LTP_flag_update vad_reset |
426
7bef001cd8b8
libtwamr: integrate dec_amr.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
418
diff
changeset
|
60 Decoder_amr Decoder_amr_reset |
407
5a1d18542f8a
libtwamr: integrate dtx_dec.c and dtx_enc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
61 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
62 Bits2prm Prm2bits |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
64 bitno prmno prmnofs gray dgray |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
65 window_200_40 window_160_80 window_232_8 |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
66 qua_gain_pitch qua_gain_code |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
67 table_gain_highrates table_gain_lowrates table_gain_MR475 |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
69 mean_lsf mean_lsf3 |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
70 dico1_lsf dico2_lsf dico3_lsf dico4_lsf dico5_lsf |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
71 dico1_lsf3 dico2_lsf3 dico3_lsf3 mr515_3_lsf mr795_1_lsf |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
72 past_rq_init pred_fact |
387
7818f466a639
libtwamr: integrate lsp.tab
Mychaela Falconia <falcon@freecalypso.org>
parents:
386
diff
changeset
|
73 lsp_init_data |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
75 Cb_gain_average Cb_gain_average_reset |
376
2aa98051d445
libtwamr: integrate qgain795.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
375
diff
changeset
|
76 MR475_update_unq_pred MR475_gain_quant MR795_gain_quant |
404
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
403
diff
changeset
|
77 subframePreProc subframePostProc |
351
97c699f40ab3
libtwamr: generate namespace.h from namespace.list
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
360
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
79 calc_unfilt_energies calc_filt_energies calc_target_energy |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
80 code_2i40_9bits code_2i40_11bits code_3i40_14bits code_4i40_17bits |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
81 code_8i40_31bits code_10i40_35bits search_10and8i40 |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
82 decode_2i40_9bits decode_2i40_11bits decode_3i40_14bits decode_4i40_17bits |
b22f13fd0f6a
libtwamr namespace gen: list multiple items per line
Mychaela Falconia <falcon@freecalypso.org>
parents:
358
diff
changeset
|
83 dec_8i40_31bits dec_10i40_35bits |
361
9aa554f8cf39
libtwamr: integrate e_homing.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
360
diff
changeset
|
84 encoder_homing_frame_test |
362
9cbd1b5d061f
libtwamr: integrate ec_gains.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
361
diff
changeset
|
85 ec_gain_code_reset ec_gain_code ec_gain_code_update |
9cbd1b5d061f
libtwamr: integrate ec_gains.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
361
diff
changeset
|
86 ec_gain_pitch_reset ec_gain_pitch ec_gain_pitch_update |
441
ebe499058c63
libtwamr: implement API functions for RFC 4867 I/O
Mychaela Falconia <falcon@freecalypso.org>
parents:
426
diff
changeset
|
87 |
ebe499058c63
libtwamr: implement API functions for RFC 4867 I/O
Mychaela Falconia <falcon@freecalypso.org>
parents:
426
diff
changeset
|
88 sort_475 sort_515 sort_59 sort_67 sort_74 sort_795 sort_102 sort_122 |
ebe499058c63
libtwamr: implement API functions for RFC 4867 I/O
Mychaela Falconia <falcon@freecalypso.org>
parents:
426
diff
changeset
|
89 if1_pack_bytes if1_unpack_bytes |