swscale: allocate larger buffer to handle altivec overreads.
authorRonald S. Bultje <rsbultje@gmail.com>
Thu, 2 Jun 2011 18:25:56 +0000 (11:25 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Thu, 2 Jun 2011 18:25:56 +0000 (11:25 -0700)
Altivec sws code intentionally overreads buffers for better performance,
so we need to allocate larger buffers to handle that.

libswscale/utils.c

index a2a6a1e..827abc6 100644 (file)
@@ -749,7 +749,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
     int srcH= c->srcH;
     int dstW= c->dstW;
     int dstH= c->dstH;
-    int dst_stride = FFALIGN(dstW * sizeof(int16_t), 16), dst_stride_px = dst_stride >> 1;
+    int dst_stride = FFALIGN(dstW * sizeof(int16_t) + 16, 16), dst_stride_px = dst_stride >> 1;
     int flags, cpu_flags;
     enum PixelFormat srcFormat= c->srcFormat;
     enum PixelFormat dstFormat= c->dstFormat;