diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index bfc2b37665c163fcdde919a9a7a45295444c077c..3993c342eaedaf5955798ae7a5a9bdc4be808c12 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -69,6 +69,13 @@ static void apply_window(float *tgt, const float *m1, const float *m2, int n)
         *tgt++ = *m1++ * *m2++;
 }
 
+static void convolve(float *tgt, const float *src, int len, int n)
+{
+    for (; n >= 0; n--)
+        tgt[n] = scalar_product_float(src, src - n, len);
+
+}
+
 static void decode(RA288Context *ractx, float gain, int cb_coef)
 {
     int i, j;
@@ -114,13 +121,6 @@ static void decode(RA288Context *ractx, float gain, int cb_coef)
         block[i] = av_clipf(block[i], -4095, 4095);
 }
 
-static void convolve(float *tgt, const float *src, int len, int n)
-{
-    for (; n >= 0; n--)
-        tgt[n] = scalar_product_float(src, src - n, len);
-
-}
-
 /**
  * Hybrid window filtering, see blocks 36 and 49 of the G.728 specification.
  *