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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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