rv34: free+allocate buffer instead of reallocating it to preserve alignment
authorKostya Shishkov <kostya.shishkov@gmail.com>
Fri, 12 Aug 2011 19:50:28 +0000 (21:50 +0200)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 12 Aug 2011 20:49:25 +0000 (13:49 -0700)
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
libavcodec/rv34.c

index cdc559f..253c395 100644 (file)
@@ -1311,7 +1311,8 @@ static int rv34_decode_slice(RV34DecContext *r, int end, const uint8_t* buf, int
         if (!r->tmp_b_block_base || s->width != r->si.width || s->height != r->si.height) {
             int i;
 
-            r->tmp_b_block_base = av_realloc(r->tmp_b_block_base, s->linesize * 48);
+            av_free(r->tmp_b_block_base); //realloc() doesn't guarantee alignment
+            r->tmp_b_block_base = av_malloc(s->linesize * 48);
             for (i = 0; i < 2; i++)
                 r->tmp_b_block_y[i] = r->tmp_b_block_base + i * 16 * s->linesize;
             for (i = 0; i < 4; i++)