annotate libtwamr/bits2prm.c @ 602:72cdae602d6e

libgsmhr1/dec_func.c: rm unused static functions In the original code, sp_dec.c held two kinds of functions: those needed only as part of the decoder, and those used by both decoder and encoder engines. In this library, we have moved the latter class of functions to dec_func.c module. Almost all static functions from the original sp_dec.c, with the exception of aToRc(), are needed only on sp_dec.c side of the new divide - remove them from dec_func.c, where they became dead code.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 04 Dec 2025 18:58:22 +0000
parents f931e704adc5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
254
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * A cleaner reimplementation of AMR Bits2prm() function.
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include "typedef.h"
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include "namespace.h"
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include "bitno.h"
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include "bits2prm.h"
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 void Bits2prm(enum Mode mode, const Word16 bits[], Word16 prm[])
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 {
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 const Word16 *p = bits;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 const Word16 *t = bitno[mode];
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 unsigned nparam = prmno[mode];
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 unsigned n, m, acc;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 for (n = 0; n < nparam; n++) {
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 acc = 0;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 for (m = 0; m < *t; m++) {
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 acc <<= 1;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 if (*p)
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 acc |= 1;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 p++;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 }
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 prm[n] = acc;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 t++;
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 }
f931e704adc5 libtwamr: bits and parameter packing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 }