[libav-stable] celp filters: Do not read earlier than the start of the 'out' vector.

Alex Converse git at libav.org
Fri May 4 20:03:41 CEST 2012


Module: libav
Branch: master
Commit: 37ddd3833219fa7b913fff3f5cccc6878b047e6b

Author:    Alex Converse <alex.converse at gmail.com>
Committer: Alex Converse <alex.converse at gmail.com>
Date:      Fri May  4 10:27:03 2012 -0700

celp filters: Do not read earlier than the start of the 'out' vector.

CC: libav-stable at libav.org

---

 libavcodec/celp_filters.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c
index 25a6744..849cda4 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;



More information about the libav-stable mailing list