FreeCalypso > hg > gsm-codec-lib
diff libtwamr/lsp.h @ 388:550d3594c878
libtwamr: integrate lsp.c
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 06 May 2024 06:43:22 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libtwamr/lsp.h Mon May 06 06:43:22 2024 +0000 @@ -0,0 +1,90 @@ +/* +******************************************************************************** +* +* GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 +* R99 Version 3.3.0 +* REL-4 Version 4.1.0 +* +******************************************************************************** +* +* File : lsp.h +* Purpose : Conversion from A(z) to LSP. Quantization and +* interpolation of LSPs. +* +******************************************************************************** +*/ +#ifndef lsp_h +#define lsp_h "$Id $" + +/* +******************************************************************************** +* INCLUDE FILES +******************************************************************************** +*/ +#include "tw_amr.h" +#include "typedef.h" +#include "q_plsf.h" + +/* +******************************************************************************** +* LOCAL VARIABLES AND TABLES +******************************************************************************** +*/ + +/* +******************************************************************************** +* DEFINITION OF DATA TYPES +******************************************************************************** +*/ +typedef struct { + /* Past LSPs */ + Word16 lsp_old[M]; + Word16 lsp_old_q[M]; + + /* Quantization state */ + Q_plsfState qSt; +} lspState; + +/* +******************************************************************************** +* DECLARATION OF PROTOTYPES +******************************************************************************** +*/ + +/* +************************************************************************** +* +* Function : lsp_reset +* Purpose : Resets state memory +* Returns : 0 on success +* +************************************************************************** +*/ +void lsp_reset (lspState *st); + +/* +************************************************************************** +* +* Function : lsp +* Purpose : Conversion from LP coefficients to LSPs. +* Quantization of LSPs. +* Description : Generates 2 sets of LSPs from 2 sets of +* LP coefficients for mode 12.2. For the other +* modes 1 set of LSPs is generated from 1 set of +* LP coefficients. These LSPs are quantized with +* Matrix/Vector quantization (depending on the mode) +* and interpolated for the subframes not yet having +* their own LSPs. +* +************************************************************************** +*/ +int lsp(lspState *st, /* i/o : State struct */ + enum Mode req_mode, /* i : requested coder mode */ + enum Mode used_mode, /* i : used coder mode */ + Word16 az[], /* i/o : interpolated LP parameters Q12 */ + Word16 azQ[], /* o : quantization interpol. LP parameters Q12*/ + Word16 lsp_new[], /* o : new lsp vector */ + Word16 **anap /* o : analysis parameters */ + ); + +#endif