annotate libgsmefr/typedef.h @ 183:452c1d5a6268

libgsmefr BFI w/o data: emit zero output after decoder reset In real-life usage, each EFR decoder session will most likely begin with lots of BFI frames before the first real frame arrives. However, because the spec-defined home state of the decoder is speech rather than CN, our regular logic for BFI w/o data would have to feed pseudorandom noise to the decoder (in the "fixed codebook excitation pulses" part), which is silly to do at the beginning of the decoder session right out of reset. Therefore, let's check reset_flag_old, and if we are still in the reset state, simply emit zero output.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 03 Jan 2023 00:12:18 +0000
parents af4b075d0313
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
38326102fc43 libgsmefr: beginning to integrate code from ETSI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /* adaptation between stdint types and those used by ETSI EFR code */
38326102fc43 libgsmefr: beginning to integrate code from ETSI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
38326102fc43 libgsmefr: beginning to integrate code from ETSI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 typedef int16_t Word16;
38326102fc43 libgsmefr: beginning to integrate code from ETSI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 typedef int32_t Word32;
38326102fc43 libgsmefr: beginning to integrate code from ETSI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 typedef uint8_t Flag;
48
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
6
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
7 /* Struct for storing pseudo floating point exponent and mantissa */
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
8 struct _fp
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
9 {
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
10 Word16 e; /* exponent */
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
11 Word16 m; /* mantissa */
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
12 };
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
13
af4b075d0313 libgsmefr: encoder state structure finished in first pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 38
diff changeset
14 typedef struct _fp Pfloat;