29#define ORDER_METHOD_EST 0
30#define ORDER_METHOD_2LEVEL 1
31#define ORDER_METHOD_4LEVEL 2
32#define ORDER_METHOD_8LEVEL 3
33#define ORDER_METHOD_SEARCH 4
34#define ORDER_METHOD_LOG 5
36#define MIN_LPC_ORDER 1
37#define MAX_LPC_ORDER 32
93 const int32_t *samples,
int blocksize,
int min_order,
94 int max_order,
int precision,
97 int omethod,
int min_shift,
int max_shift,
int zero_shift);
100 const int32_t *samples,
int order,
double *
ref);
static void(*const apply_window[4])(AVFloatDSPContext *fdsp, SingleChannelElement *sce, const float *audio)
static int shift(int a, int b)
FFLPCType
LPC analysis type.
@ FF_LPC_TYPE_NONE
do not use LPC prediction or use all zero coefficients
@ FF_LPC_TYPE_CHOLESKY
Cholesky factorization.
@ FF_LPC_TYPE_FIXED
fixed LPC coefficients
@ FF_LPC_TYPE_LEVINSON
Levinson-Durbin recursion.
@ FF_LPC_TYPE_DEFAULT
use the codec default LPC type
@ FF_LPC_TYPE_NB
Not part of ABI.
int ff_lpc_init(LPCContext *s, int blocksize, int max_order, enum FFLPCType lpc_type)
Initialize LPCContext.
void ff_lpc_end(LPCContext *s)
Uninitialize LPCContext.
double ff_lpc_calc_ref_coefs_f(LPCContext *s, const float *samples, int len, int order, double *ref, int apply_window)
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 min_shift, int max_shift, int zero_shift)
Calculate LPC coefficients for multiple orders.
void ff_lpc_init_x86(LPCContext *s)
int ff_lpc_calc_ref_coefs(LPCContext *s, const int32_t *samples, int order, double *ref)
void ff_lpc_init_riscv(LPCContext *s)
Linear least squares model.
void(* lpc_compute_autocorr)(const double *data, ptrdiff_t len, int lag, double *autoc)
Perform autocorrelation on input samples with delay of 0 to lag.
double * windowed_samples
void(* lpc_apply_welch_window)(const int32_t *data, ptrdiff_t len, double *w_data)
Apply a Welch window to an array of input samples.
static int ref[MAX_W *MAX_W]