libpostproc: alloc a few bytes more in the temporary buffer
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 28 Dec 2012 01:47:25 +0000 (02:47 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 28 Dec 2012 01:47:25 +0000 (02:47 +0100)
This avoids dering reading 4 bytes prior the buffer (1 byte can
be used)

Fixes Ticket2057

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libpostproc/postprocess.c
libpostproc/postprocess_template.c

index 21a16e9..4b5503c 100644 (file)
@@ -871,7 +871,7 @@ static void reallocBuffers(PPContext *c, int width, int height, int stride, int
     c->stride= stride;
     c->qpStride= qpStride;
 
-    reallocAlign((void **)&c->tempDst, 8, stride*24);
+    reallocAlign((void **)&c->tempDst, 8, stride*24+32);
     reallocAlign((void **)&c->tempSrc, 8, stride*24);
     reallocAlign((void **)&c->tempBlocks, 8, 2*16*8);
     reallocAlign((void **)&c->yHistogram, 8, 256*sizeof(uint64_t));
index a6fe783..4152f67 100644 (file)
@@ -3260,7 +3260,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
     //FIXME remove
     uint64_t * const yHistogram= c.yHistogram;
     uint8_t * const tempSrc= srcStride > 0 ? c.tempSrc : c.tempSrc - 23*srcStride;
-    uint8_t * const tempDst= dstStride > 0 ? c.tempDst : c.tempDst - 23*dstStride;
+    uint8_t * const tempDst= (dstStride > 0 ? c.tempDst : c.tempDst - 23*dstStride) + 32;
     //const int mbWidth= isColor ? (width+7)>>3 : (width+15)>>4;
 
 #if TEMPLATE_PP_MMX