summaryrefslogtreecommitdiff
path: root/libavcodec/celp_filters.c
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2012-05-04 10:27:03 -0700
committerAlex Converse <alex.converse@gmail.com>2012-05-04 10:55:31 -0700
commit37ddd3833219fa7b913fff3f5cccc6878b047e6b (patch)
tree8086380ea1b6cbbebfa4b81be63bb301fd191cdb /libavcodec/celp_filters.c
parent313f9fbfbb5a45eefe4bfe7b04e6c83f9b5f77c7 (diff)
celp filters: Do not read earlier than the start of the 'out' vector.
CC: libav-stable@libav.org
Diffstat (limited to 'libavcodec/celp_filters.c')
-rw-r--r--libavcodec/celp_filters.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c
index 25a6744b04..849cda439e 100644
--- a/libavcodec/celp_filters.c
+++ b/libavcodec/celp_filters.c
@@ -133,9 +133,8 @@ void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
out2 -= val * old_out2;
out3 -= val * old_out3;
- old_out3 = out[-5];
-
for (i = 5; i <= filter_length; i += 2) {
+ old_out3 = out[-i];
val = filter_coeffs[i-1];
out0 -= val * old_out3;
@@ -154,7 +153,6 @@ void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
FFSWAP(float, old_out0, old_out2);
old_out1 = old_out3;
- old_out3 = out[-i-2];
}
tmp0 = out0;