summaryrefslogtreecommitdiff
path: root/libavcodec/celp_filters.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/celp_filters.c')
-rw-r--r--libavcodec/celp_filters.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c
index cd475533a5..d54e2fa709 100644
--- a/libavcodec/celp_filters.c
+++ b/libavcodec/celp_filters.c
@@ -47,6 +47,16 @@ void ff_celp_convolve_circ(int16_t* fc_out,
}
}
+void ff_celp_circ_addf(float *out, const float *in,
+ const float *lagged, int lag, float fac, int n)
+{
+ int k;
+ for (k = 0; k < lag; k++)
+ out[k] = in[k] + fac * lagged[n + k - lag];
+ for (; k < n; k++)
+ out[k] = in[k] + fac * lagged[ k - lag];
+}
+
int ff_celp_lp_synthesis_filter(int16_t *out,
const int16_t* filter_coeffs,
const int16_t* in,