aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2012-05-04 10:27:03 -0700
committerReinhard Tartler <siretart@tauware.de>2012-05-04 22:09:27 +0200
commit9ea94c44b1b414ab3bc6e9220ebb77621423ca38 (patch)
treee30dd085b6f35095b85c682a17b11cd45c7f3811 /libavcodec
parentaaa6a666774eb02c351c84e80622a5c69e9b642e (diff)
downloadffmpeg-9ea94c44b1b414ab3bc6e9220ebb77621423ca38.tar.gz
celp filters: Do not read earlier than the start of the 'out' vector.
CC: libav-stable@libav.org (cherry picked from commit 37ddd3833219fa7b913fff3f5cccc6878b047e6b) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Diffstat (limited to 'libavcodec')
-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;