FreeCalypso > hg > gsm-codec-lib
annotate libgsmefr/preemph.c @ 335:03198f6b0427
libtwamr: integrate d8_31pf.c
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 18 Apr 2024 22:35:05 +0000 | 
| parents | 9aef9e54b19d | 
| children | 
| rev | line source | 
|---|---|
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /*---------------------------------------------------------------------* | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * routine preemphasis() * | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * ~~~~~~~~~~~~~~~~~~~~~ * | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 * Preemphasis: filtering through 1 - g z^-1 * | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 *---------------------------------------------------------------------*/ | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 7 #include "gsm_efr.h" | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include "typedef.h" | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 9 #include "namespace.h" | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include "basic_op.h" | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 11 #include "no_count.h" | 
| 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 12 #include "sig_proc.h" | 
| 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 13 #include "cnst.h" | 
| 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 14 #include "dec_state.h" | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 void preemphasis ( | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 17 struct EFR_decoder_state *st, | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 Word16 *signal, /* (i/o) : input signal overwritten by the output */ | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 Word16 g, /* (i) : preemphasis coefficient */ | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 Word16 L /* (i) : size of filtering */ | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 ) | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 { | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 Word16 *p1, *p2, temp, i; | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 25 p1 = signal + L - 1; | 
| 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 26 p2 = p1 - 1; | 
| 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 27 temp = *p1; | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 for (i = 0; i <= L - 2; i++) | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 { | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 31 *p1 = sub (*p1, mult (g, *p2--)); | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 p1--; | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 } | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 35 *p1 = sub (*p1, mult (g, st->mem_pre)); | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 86 
9aef9e54b19d
libgsmefr: preemph.c compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: 
53diff
changeset | 37 st->mem_pre = temp; | 
| 53 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 return; | 
| 
49dd1ac8e75b
libgsmefr: import most *.c files from ETSI source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 } | 
