diff options
Diffstat (limited to 'postproc')
-rw-r--r-- | postproc/postprocess_template.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/postproc/postprocess_template.c b/postproc/postprocess_template.c index a75c9b4..f35fbd0 100644 --- a/postproc/postprocess_template.c +++ b/postproc/postprocess_template.c @@ -2824,7 +2824,15 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int dstBlock+=8; srcBlock+=8; } - memcpy(dst, tempDst + 9*dstStride, copyAhead*dstStride ); + if(width==dstStride) + memcpy(dst, tempDst + 9*dstStride, copyAhead*dstStride); + else + { + for(i=0; i<copyAhead; i++) + { + memcpy(dst + i*dstStride, tempDst + (9+i)*dstStride, width); + } + } } //printf("\n"); @@ -3050,7 +3058,15 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int if(y+15 >= height) { uint8_t *dstBlock= &(dst[y*dstStride]); - memcpy(dstBlock, tempDst + dstStride, dstStride*(height-y) ); + if(width==dstStride) + memcpy(dstBlock, tempDst + dstStride, dstStride*(height-y)); + else + { + for(i=0; i<height-y; i++) + { + memcpy(dstBlock + i*dstStride, tempDst + (i+1)*dstStride, width); + } + } } /* for(x=0; x<width; x+=32) |