From 749fac310c543dc435e5588c8eed1cf2ab55ae88 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Sun, 13 Sep 2009 01:49:40 +0000 Subject: Reset slice direction at end of each frame. Originally committed as revision 29675 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale --- libswscale/swscale.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libswscale') diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 170baf9b7c..8a9521fc0e 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -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); } } -- cgit v1.2.3