From 52ed8d0efeb5627ffdd64f44b97d1c8965f33cf1 Mon Sep 17 00:00:00 2001
From: "Ronald S. Bultje" <rsbultje@gmail.com>
Date: Thu, 28 Jan 2010 14:29:53 +0000
Subject: [PATCH] Simplify. See "[PATCH] simplify ff_set_fixed_vector()" thread
 on mailinglist.

Originally committed as revision 21510 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/acelp_vectors.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/libavcodec/acelp_vectors.c b/libavcodec/acelp_vectors.c
index 0b478b787b9..c9a6f408397 100644
--- a/libavcodec/acelp_vectors.c
+++ b/libavcodec/acelp_vectors.c
@@ -245,14 +245,12 @@ void ff_set_fixed_vector(float *out, const AMRFixed *in, float scale, int size)
     for (i=0; i < in->n; i++) {
         int x   = in->x[i];
         float y = in->y[i] * scale;
-        out[x] += y;
 
-        x += in->pitch_lag;
-        while (x < size) {
-            y *= in->pitch_fac;
+        do {
             out[x] += y;
+            y *= in->pitch_fac;
             x += in->pitch_lag;
-        }
+        } while (x < size);
     }
 }
 
@@ -262,12 +260,10 @@ void ff_clear_fixed_vector(float *out, const AMRFixed *in, int size)
 
     for (i=0; i < in->n; i++) {
         int x  = in->x[i];
-        out[x] = 0.0;
 
-        x += in->pitch_lag;
-        while (x < size) {
+        do {
             out[x] = 0.0;
             x += in->pitch_lag;
-        }
+        } while (x < size);
     }
 }
-- 
GitLab