libavcodec/lsp.c File Reference

#include <inttypes.h>
#include "avcodec.h"
#include "mathops.h"
#include "lsp.h"
#include "celp_math.h"

Go to the source code of this file.

Defines

#define FRAC_BITS   14

Functions

void ff_acelp_reorder_lsf (int16_t *lsfq, int lsfq_min_distance, int lsfq_min, int lsfq_max, int lp_order)
 (I.F) means fixed-point value with F fractional and I integer bits
void ff_acelp_lsf2lsp (int16_t *lsp, const int16_t *lsf, int lp_order)
 Convert LSF to LSP.
static void lsp2poly (int *f, const int16_t *lsp, int lp_half_order)
 decodes polynomial coefficients from LSP
void ff_acelp_lsp2lpc (int16_t *lp, const int16_t *lsp, int lp_half_order)
 LSP to LP conversion (3.2.6 of G.729).
void ff_acelp_lp_decode (int16_t *lp_1st, int16_t *lp_2nd, const int16_t *lsp_2nd, const int16_t *lsp_prev, int lp_order)
 Interpolate LSP for the first subframe and convert LSP -> LP for both subframes (3.2.5 and 3.2.6 of G.729).


Define Documentation

#define FRAC_BITS   14


Function Documentation

void ff_acelp_lp_decode ( int16_t *  lp_1st,
int16_t *  lp_2nd,
const int16_t *  lsp_2nd,
const int16_t *  lsp_prev,
int  lp_order 
)

Interpolate LSP for the first subframe and convert LSP -> LP for both subframes (3.2.5 and 3.2.6 of G.729).

Parameters:
lp_1st [out] decoded LP coefficients for first subframe (-0x8000 <= (3.12) < 0x8000)
lp_2nd [out] decoded LP coefficients for second subframe (-0x8000 <= (3.12) < 0x8000)
lsp_2nd LSP coefficients of the second subframe (-0x8000 <= (0.15) < 0x8000)
lsp_prev LSP coefficients from the second subframe of the previous frame (-0x8000 <= (0.15) < 0x8000)
lp_order LP filter order

Definition at line 103 of file lsp.c.

void ff_acelp_lsf2lsp ( int16_t *  lsp,
const int16_t *  lsf,
int  lp_order 
)

Convert LSF to LSP.

Parameters:
lsp [out] LSP coefficients (-0x8000 <= (0.15) < 0x8000)
lsf normalized LSF coefficients (0 <= (2.13) < 0x2000 * PI)
lp_order LP filter order
Remarks:
It is safe to pass the same array into the lsf and lsp parameters.

Definition at line 49 of file lsp.c.

void ff_acelp_lsp2lpc ( int16_t *  lp,
const int16_t *  lsp,
int  lp_half_order 
)

LSP to LP conversion (3.2.6 of G.729).

Parameters:
lp [out] decoded LP coefficients (-0x8000 <= (3.12) < 0x8000)
lsp LSP coefficients (-0x8000 <= (0.15) < 0x8000)
lp_half_order LP filter order, divided by 2

Definition at line 81 of file lsp.c.

Referenced by ff_acelp_lp_decode().

void ff_acelp_reorder_lsf ( int16_t *  lsfq,
int  lsfq_min_distance,
int  lsfq_min,
int  lsfq_max,
int  lp_order 
)

(I.F) means fixed-point value with F fractional and I integer bits

ensure a minimum distance between LSFs

Parameters:
lsfq [in/out] LSF to check and adjust
lsfq_min_distance minimum distance between LSFs
lsfq_min minimum allowed LSF value
lsfq_max maximum allowed LSF value
lp_order LP filter order

Definition at line 31 of file lsp.c.

static void lsp2poly ( int *  f,
const int16_t *  lsp,
int  lp_half_order 
) [static]

decodes polynomial coefficients from LSP

Parameters:
f [out] decoded polynomial coefficients (-0x20000000 <= (3.22) <= 0x1fffffff)
lsp LSP coefficients (-0x8000 <= (0.15) <= 0x7fff)

Definition at line 64 of file lsp.c.

Referenced by ff_acelp_lsp2lpc().


Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8