FreeCalypso > hg > gsm-codec-lib
annotate libgsmhr1/rxfe.h @ 585:3c6bf0d26ee7
TW-TS-005 reader: fix maximum line length bug
TW-TS-005 section 4.1 states:
The maximum allowed length of each line is 80 characters, not
including the OS-specific newline encoding.
The implementation of this line length limit in the TW-TS-005 hex file
reader function in the present suite was wrong, such that lines of
the full maximum length could not be read. Fix it.
Note that this bug affects comment lines too, not just actual RTP
payloads. Neither Annex A nor Annex B features an RTP payload format
that goes to the maximum of 40 bytes, but if a comment line goes to
the maximum allowed length of 80 characters not including the
terminating newline, the bug will be triggered, necessitating
the present fix.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 25 Feb 2025 07:49:28 +0000 |
parents | e2d5cad04cbf |
children |
rev | line source |
---|---|
579
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This library-internal header file provides definition for |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * struct gsmhr_rxfe_state, the state structure for our Rx front end |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * that can function either as part of the full endpoint decoder |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * or standalone as a TFO transform. The internal interface function |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * to the RxFE block as a whole (to be called from the full decoder |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * or from the TFO wrapper) is also declared here. |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 */ |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #ifndef rxfe_h |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #define rxfe_h |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #include <stdint.h> |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include "tw_gsmhr.h" |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #include "typedefs.h" |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #define GS_HISTORY_SIZE 28 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 struct gsmhr_rxfe_state { |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 Shortword saved_frame[GSMHR_NUM_PARAMS]; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 Longword gs_history[GS_HISTORY_SIZE]; |
581
e2d5cad04cbf
libgsmhr1 RxFE: store CN R0+LPC separately from speech
Mychaela Falconia <falcon@freecalypso.org>
parents:
579
diff
changeset
|
22 Shortword cn_r0_lpc[4]; |
579
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 Longword cn_prng; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 Shortword gs_cn_out; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 uint8_t in_dtx; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 uint8_t ecu_state; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 uint8_t dtx_bfi_count; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 uint8_t dtx_muting; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 uint8_t gs_history_ptr; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 }; |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 void rxfe_main(struct gsmhr_rxfe_state *st, const Shortword *prm_in, |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 Shortword *prm_out, int fast_cn_muting, |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 Shortword *deco_mode_out, Shortword *mute_permit, |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 Shortword *dtxd_sp); |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 |
1dc5d9320e96
libgsmhr1: implement RxFE block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #endif /* include guard */ |