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

Alex Converse git at videolan.org
Sun May 6 00:28:31 CEST 2012


ffmpeg | branch: release/0.10 | Alex Converse <alex.converse at gmail.com> | Fri May  4 10:27:03 2012 -0700| [9ea94c44b1b414ab3bc6e9220ebb77621423ca38] | committer: Reinhard Tartler

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

CC: libav-stable at libav.org
(cherry picked from commit 37ddd3833219fa7b913fff3f5cccc6878b047e6b)

Signed-off-by: Reinhard Tartler <siretart at tauware.de>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ea94c44b1b414ab3bc6e9220ebb77621423ca38
---

 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 ffmpeg-cvslog mailing list