[FFmpeg-cvslog] r18528 - trunk/libavcodec/celp_filters.c

reynaldo subversion
Wed Apr 15 21:28:28 CEST 2009


Author: reynaldo
Date: Wed Apr 15 21:28:28 2009
New Revision: 18528

Log:
Fix possibly harmful outbound addressing. Patch by Kenan Gillet.

Modified:
   trunk/libavcodec/celp_filters.c

Modified: trunk/libavcodec/celp_filters.c
==============================================================================
--- trunk/libavcodec/celp_filters.c	Wed Apr 15 21:10:16 2009	(r18527)
+++ trunk/libavcodec/celp_filters.c	Wed Apr 15 21:28:28 2009	(r18528)
@@ -61,15 +61,14 @@ int ff_celp_lp_synthesis_filter(
 {
     int i,n;
 
-    // These two lines are to avoid a -1 subtraction in the main loop
+    // This line is to avoid a +1 subtraction in the main loop.
     filter_length++;
-    filter_coeffs--;
 
     for(n=0; n<buffer_length; n++)
     {
         int sum = rounder;
         for(i=1; i<filter_length; i++)
-            sum -= filter_coeffs[i] * out[n-i];
+            sum -= filter_coeffs[i-1] * out[n-i];
 
         sum = (sum >> 12) + in[n];
 
@@ -94,14 +93,13 @@ void ff_celp_lp_synthesis_filterf(
 {
     int i,n;
 
-    // These two lines are to avoid a -1 subtraction in the main loop
+    // This line is to avoid a +1 subtraction in the main loop
     filter_length++;
-    filter_coeffs--;
 
     for(n=0; n<buffer_length; n++)
     {
         out[n] = in[n];
         for(i=1; i<filter_length; i++)
-            out[n] -= filter_coeffs[i] * out[n-i];
+            out[n] -= filter_coeffs[i-1] * out[n-i];
     }
 }



More information about the ffmpeg-cvslog mailing list