view pcma2efr/gen160.c @ 34:307fe06fabec

dhf: generate EFR hex DHF in C form
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 14 May 2024 03:36:31 +0000
parents 4f47447fd17f
children
line wrap: on
line source

/*
 * The code in this module generates 160 versions of linearized seqsynca,
 * shifted by one sample each, intended for feeding to EFR and AMR encoders.
 *
 * Update: the new version generates a linear array of 480 16-bit PCM samples,
 * where the first 160 are 0x0008, followed by two copies of linearized
 * seqsynca.
 */

#include <stdint.h>

extern const uint8_t seqsynca_last_frame[160];
extern const uint16_t pcma_decode_table[256];

uint16_t linear_input_array[480];

void
generate_linear_inputs(void)
{
	unsigned n;
	uint16_t lin;

	for (n = 0; n < 160; n++) {
		lin = pcma_decode_table[seqsynca_last_frame[n]];
		linear_input_array[n] = 0x0008;
		linear_input_array[160+n] = lin;
		linear_input_array[320+n] = lin;
	}
}