[FFmpeg-devel] [PATCH] fix in ff_celp_lp_synthesis_filterf

Kenan Gillet kenan.gillet
Mon Feb 23 00:36:37 CET 2009


Hi,

i have noticed while working on the AMR SoC that the
ff_celp_lp_synthesis_filterf
apply backwardly the filter adding instead of subtracting the filtered signal.

The patches has been tested for the QCELP decoder, which is so far the only
code using this function,  and it gives same bit ouput.

thanks for reviewing it

Kenan
-------------- next part --------------
Index: libavcodec/qcelp_lsp.c
===================================================================
--- libavcodec/qcelp_lsp.c	(revision 17468)
+++ libavcodec/qcelp_lsp.c	(working copy)
@@ -81,7 +81,7 @@
 {
     double pa[6], qa[6];
     int   i;
-    double bandwith_expansion_coeff = -QCELP_BANDWITH_EXPANSION_COEFF * 0.5;
+    double bandwith_expansion_coeff = QCELP_BANDWITH_EXPANSION_COEFF * 0.5;
 
     lsp2polyf(lspf,     pa, 5);
     lsp2polyf(lspf + 1, qa, 5);
Index: libavcodec/celp_filters.c
===================================================================
--- libavcodec/celp_filters.c	(revision 17468)
+++ libavcodec/celp_filters.c	(working copy)
@@ -102,6 +102,6 @@
     {
         out[n] = in[n];
         for(i=1; i<filter_length; i++)
-            out[n] += filter_coeffs[i] * out[n-i];
+            out[n] -= filter_coeffs[i] * out[n-i];
     }
 }



More information about the ffmpeg-devel mailing list