Simplify interleaving code.
authorRonald S. Bultje <rsbultje@gmail.com>
Mon, 29 Mar 2010 17:37:03 +0000 (17:37 +0000)
committerRonald S. Bultje <rsbultje@gmail.com>
Mon, 29 Mar 2010 17:37:03 +0000 (17:37 +0000)
Originally committed as revision 22719 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/wmaprodec.c

index 922b75b..a323a19 100644 (file)
@@ -1346,14 +1346,12 @@ static int decode_frame(WMAProDecodeCtx *s)
 
     /** interleave samples and write them to the output buffer */
     for (i = 0; i < s->num_channels; i++) {
-        float* ptr;
+        float* ptr  = s->samples + i;
         int incr = s->num_channels;
         float* iptr = s->channel[i].out;
-        int x;
-
-        ptr = s->samples + i;
+        float* iend = iptr + s->samples_per_frame;
 
-        for (x = 0; x < s->samples_per_frame; x++) {
+        while (iptr < iend) {
             *ptr = av_clipf(*iptr++, -1.0, 32767.0 / 32768.0);
             ptr += incr;
         }