]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/takdec.c
Merge commit 'eda183287489b2c705843aa373a19c4e46fb2fec'
[ffmpeg] / libavcodec / takdec.c
index e5c072394061bff93af463f647c77c0ea0684f66..d057e0a1cbab44978c3ac5eccf3836ad2b54452f 100644 (file)
@@ -621,7 +621,7 @@ static int decorrelate(TAKDecContext *s, int c1, int c2, int length)
         for (; length2 > 0; length2 -= tmp) {
             tmp = FFMIN(length2, x);
 
-            for (i = 0; i < tmp; i++)
+            for (i = 0; i < tmp - (tmp == length2); i++)
                 s->residues[filter_order + i] = *p2++ >> dshift;
 
             for (i = 0; i < tmp; i++) {
@@ -645,7 +645,7 @@ static int decorrelate(TAKDecContext *s, int c1, int c2, int length)
                 *p1++ = v;
             }
 
-            memcpy(s->residues, &s->residues[tmp], 2 * filter_order);
+            memmove(s->residues, &s->residues[tmp], 2 * filter_order);
         }
 
         emms_c();