OSDN Git Service

copy src to prevent the user supplied argumet from being changed
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 2 Mar 2007 13:32:10 +0000 (13:32 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 2 Mar 2007 13:32:10 +0000 (13:32 +0000)
Originally committed as revision 22410 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/swscale.c

index 0c1f8f3..b33623a 100644 (file)
@@ -2435,10 +2435,11 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
 
        // copy strides, so they can safely be modified
        if (c->sliceDir == 1) {
+            uint8_t* src2[4]= {src[0], src[1], src[2]};
            // slices go from top to bottom
            int srcStride2[3]= {srcStride[0], srcStride[1], srcStride[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 {
            // slices go from bottom to top => we flip the image internally
            uint8_t* src2[3]= {src[0] + (srcSliceH-1)*srcStride[0],