FreeCalypso > hg > gsm-codec-lib
view libgsmefr/preemph.c @ 561:cf62fe9fac3a
gsmhr-cod2hex: read native endian by default
Let's change gsmhr-* utilities to read *.cod and *.dec files
in the local machine's native byte order by default, and support
both -b and -l override options. This approach is the only sane
one when we write *.cod and *.dec files in the local endian.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Feb 2025 00:04:33 +0000 |
parents | 9aef9e54b19d |
children |
line wrap: on
line source
/*---------------------------------------------------------------------* * routine preemphasis() * * ~~~~~~~~~~~~~~~~~~~~~ * * Preemphasis: filtering through 1 - g z^-1 * *---------------------------------------------------------------------*/ #include "gsm_efr.h" #include "typedef.h" #include "namespace.h" #include "basic_op.h" #include "no_count.h" #include "sig_proc.h" #include "cnst.h" #include "dec_state.h" void preemphasis ( struct EFR_decoder_state *st, Word16 *signal, /* (i/o) : input signal overwritten by the output */ Word16 g, /* (i) : preemphasis coefficient */ Word16 L /* (i) : size of filtering */ ) { Word16 *p1, *p2, temp, i; p1 = signal + L - 1; p2 = p1 - 1; temp = *p1; for (i = 0; i <= L - 2; i++) { *p1 = sub (*p1, mult (g, *p2--)); p1--; } *p1 = sub (*p1, mult (g, st->mem_pre)); st->mem_pre = temp; return; }