Commit 0c840013 authored by Michael Niedermayer's avatar Michael Niedermayer

copy src to prevent the user supplied argumet from being changed

Originally committed as revision 22410 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
parent b09b580b
...@@ -2435,10 +2435,11 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY, ...@@ -2435,10 +2435,11 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
// copy strides, so they can safely be modified // copy strides, so they can safely be modified
if (c->sliceDir == 1) { if (c->sliceDir == 1) {
uint8_t* src2[4]= {src[0], src[1], src[2]};
// slices go from top to bottom // slices go from top to bottom
int srcStride2[3]= {srcStride[0], srcStride[1], srcStride[2]}; int srcStride2[3]= {srcStride[0], srcStride[1], srcStride[2]};
int dstStride2[3]= {dstStride[0], dstStride[1], dstStride[2]}; int dstStride2[3]= {dstStride[0], dstStride[1], dstStride[2]};
return c->swScale(c, src, srcStride2, srcSliceY, srcSliceH, dst, dstStride2); return c->swScale(c, src2, srcStride2, srcSliceY, srcSliceH, dst, dstStride2);
} else { } else {
// slices go from bottom to top => we flip the image internally // slices go from bottom to top => we flip the image internally
uint8_t* src2[3]= {src[0] + (srcSliceH-1)*srcStride[0], uint8_t* src2[3]= {src[0] + (srcSliceH-1)*srcStride[0],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment