FreeCalypso > hg > gsm-codec-lib
view libgsmefr/reorder.c @ 107:41f1ae68d253
amr2efr & efr2amr cosmetic: cleaner approach to bit reshuffling
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 27 Nov 2022 21:02:07 +0000 |
parents | 9ad6bf2f1ee1 |
children | 0faf23a9286f |
line wrap: on
line source
/************************************************************************* * * FUNCTION: Reorder_lsf() * * PURPOSE: To make sure that the LSFs are properly ordered and to keep a * certain minimum distance between adjacent LSFs. * * The LSFs are in the frequency range 0-0.5 and represented in Q15 * *************************************************************************/ #include "gsm_efr.h" #include "typedef.h" #include "namespace.h" #include "basic_op.h" #include "no_count.h" #include "sig_proc.h" void Reorder_lsf ( Word16 *lsf, /* (i/o) : vector of LSFs (range: 0<=val<=0.5) */ Word16 min_dist, /* (i) : minimum required distance */ Word16 n /* (i) : LPC order */ ) { Word16 i; Word16 lsf_min; lsf_min = min_dist; move16 (); for (i = 0; i < n; i++) { test (); if (sub (lsf[i], lsf_min) < 0) { lsf[i] = lsf_min; move16 (); } lsf_min = add (lsf[i], min_dist); } }