view libtwamr/prm2bits.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 ffd48f0a2ab5
children
line wrap: on
line source

/*
 * A cleaner reimplementation of AMR Prm2bits() function.
 */

#include "typedef.h"
#include "namespace.h"
#include "bitno.h"
#include "prm2bits.h"

void Prm2bits(enum Mode mode, const Word16 prm[], Word16 bits[])
{
	const Word16 *t = bitno[mode];
	unsigned nparam = prmno[mode];
	unsigned n, p, mask;
	Word16 *b = bits;

	for (n = 0; n < nparam; n++) {
		p = prm[n];
		mask = 1 << (*t++ - 1);
		for (; mask; mask >>= 1) {
			if (p & mask)
				*b++ = 1;
			else
				*b++ = 0;
		}
	}
}