Commit 8b25a20e authored by Martin Storsjö's avatar Martin Storsjö

lpc: Add a function for calculating reflection coefficients from samples

Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 39ef66f5
...@@ -148,6 +148,18 @@ static int estimate_best_order(double *ref, int min_order, int max_order) ...@@ -148,6 +148,18 @@ static int estimate_best_order(double *ref, int min_order, int max_order)
return est; return est;
} }
int ff_lpc_calc_ref_coefs(LPCContext *s,
const int32_t *samples, int order, double *ref)
{
double autoc[MAX_LPC_ORDER + 1];
s->lpc_apply_welch_window(samples, s->blocksize, s->windowed_samples);
s->lpc_compute_autocorr(s->windowed_samples, s->blocksize, order, autoc);
compute_ref_coefs(autoc, order, ref, NULL);
return order;
}
/** /**
* Calculate LPC coefficients for multiple orders * Calculate LPC coefficients for multiple orders
* *
......
...@@ -92,6 +92,9 @@ int ff_lpc_calc_coefs(LPCContext *s, ...@@ -92,6 +92,9 @@ int ff_lpc_calc_coefs(LPCContext *s,
enum FFLPCType lpc_type, int lpc_passes, enum FFLPCType lpc_type, int lpc_passes,
int omethod, int max_shift, int zero_shift); int omethod, int max_shift, int zero_shift);
int ff_lpc_calc_ref_coefs(LPCContext *s,
const int32_t *samples, int order, double *ref);
/** /**
* Initialize LPCContext. * Initialize LPCContext.
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment