Reset slice direction at end of each frame.

Originally committed as revision 29675 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
This commit is contained in:
Ramiro Polla 2009-09-13 01:49:40 +00:00
parent 9451b59fc6
commit 749fac310c

View File

@ -3167,6 +3167,10 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
reset_ptr(src2, c->srcFormat);
reset_ptr(dst2, c->dstFormat);
/* reset slice direction at end of frame */
if (srcSliceY + srcSliceH == c->srcH)
c->sliceDir = 0;
return c->swScale(c, src2, srcStride2, srcSliceY, srcSliceH, dst2, dstStride2);
} else {
// slices go from bottom to top => we flip the image internally
@ -3186,6 +3190,10 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
reset_ptr(src2, c->srcFormat);
reset_ptr(dst2, c->dstFormat);
/* reset slice direction at end of frame */
if (!srcSliceY)
c->sliceDir = 0;
return c->swScale(c, src2, srcStride2, c->srcH-srcSliceY-srcSliceH, srcSliceH, dst2, dstStride2);
}
}