lpc.c File Reference
#include "libavutil/common.h"
#include "libavutil/lls.h"
#include "lpc.h"
#include "libavutil/avassert.h"
Include dependency graph for lpc.c:

Go to the source code of this file.

Macros

#define LPC_USE_DOUBLE
 

Functions

static void lpc_apply_welch_window_c (const int32_t *data, int len, double *w_data)
 Apply Welch window function to audio block. More...
 
static void lpc_compute_autocorr_c (const double *data, int len, int lag, double *autoc)
 Calculate autocorrelation data from audio samples A Welch window function is applied before calculation. More...
 
static void quantize_lpc_coefs (double *lpc_in, int order, int precision, int32_t *lpc_out, int *shift, int max_shift, int zero_shift)
 Quantize LPC coefficients. More...
 
static int estimate_best_order (double *ref, int min_order, int max_order)
 
int ff_lpc_calc_ref_coefs (LPCContext *s, const int32_t *samples, int order, double *ref)
 
int ff_lpc_calc_coefs (LPCContext *s, const int32_t *samples, int blocksize, int min_order, int max_order, int precision, int32_t coefs[][MAX_LPC_ORDER], int *shift, enum FFLPCType lpc_type, int lpc_passes, int omethod, int max_shift, int zero_shift)
 Calculate LPC coefficients for multiple orders. More...
 
av_cold int ff_lpc_init (LPCContext *s, int blocksize, int max_order, enum FFLPCType lpc_type)
 Initialize LPCContext. More...
 
av_cold void ff_lpc_end (LPCContext *s)
 Uninitialize LPCContext. More...
 

Macro Definition Documentation

#define LPC_USE_DOUBLE

Definition at line 25 of file lpc.c.

Function Documentation

static int estimate_best_order ( double *  ref,
int  min_order,
int  max_order 
)
static

Definition at line 138 of file lpc.c.

Referenced by ff_lpc_calc_coefs().

int ff_lpc_calc_coefs ( LPCContext s,
const int32_t samples,
int  blocksize,
int  min_order,
int  max_order,
int  precision,
int32_t  coefs[][MAX_LPC_ORDER],
int *  shift,
enum FFLPCType  lpc_type,
int  lpc_passes,
int  omethod,
int  max_shift,
int  zero_shift 
)

Calculate LPC coefficients for multiple orders.

Parameters
lpc_typeLPC method for determining coefficients, see FFLPCType for details

Definition at line 170 of file lpc.c.

Referenced by calc_predictor_params(), encode_residual_ch(), and ra144_encode_frame().

int ff_lpc_calc_ref_coefs ( LPCContext s,
const int32_t samples,
int  order,
double *  ref 
)

Definition at line 152 of file lpc.c.

Referenced by cng_encode_frame().

av_cold void ff_lpc_end ( LPCContext s)
av_cold int ff_lpc_init ( LPCContext s,
int  blocksize,
int  max_order,
enum FFLPCType  lpc_type 
)
static void lpc_apply_welch_window_c ( const int32_t data,
int  len,
double *  w_data 
)
static

Apply Welch window function to audio block.

Definition at line 33 of file lpc.c.

Referenced by ff_lpc_init().

static void lpc_compute_autocorr_c ( const double *  data,
int  len,
int  lag,
double *  autoc 
)
static

Calculate autocorrelation data from audio samples A Welch window function is applied before calculation.

Definition at line 61 of file lpc.c.

Referenced by ff_lpc_init().

static void quantize_lpc_coefs ( double *  lpc_in,
int  order,
int  precision,
int32_t lpc_out,
int *  shift,
int  max_shift,
int  zero_shift 
)
static

Quantize LPC coefficients.

Definition at line 89 of file lpc.c.

Referenced by ff_lpc_calc_coefs().