summaryrefslogtreecommitdiffstats
path: root/libavcodec/lpc.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-10-25 15:33:15 +0300
committerMartin Storsjö <martin@martin.st>2012-10-29 21:53:16 +0200
commit8b25a20efbf4ca261bcd3327a385330eca775ec6 (patch)
tree00136cbafa5a3aae9f70c537d9b1d88e6caf9041 /libavcodec/lpc.c
parent39ef66f5300c2a42acc29937f5417bc2efe09752 (diff)
downloadffmpeg-streaming-8b25a20efbf4ca261bcd3327a385330eca775ec6.zip
ffmpeg-streaming-8b25a20efbf4ca261bcd3327a385330eca775ec6.tar.gz
lpc: Add a function for calculating reflection coefficients from samples
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/lpc.c')
-rw-r--r--libavcodec/lpc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/lpc.c b/libavcodec/lpc.c
index 126dbc1..2093e7e 100644
--- a/libavcodec/lpc.c
+++ b/libavcodec/lpc.c
@@ -148,6 +148,18 @@ static int estimate_best_order(double *ref, int min_order, int max_order)
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
*
OpenPOWER on IntegriCloud