summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authorramiro <ramiro@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-09-13 01:49:40 +0000
committerramiro <ramiro@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-09-13 01:49:40 +0000
commitb2b8779831d4255e708180d1fb9cba4db706bebb (patch)
treed28f19f705665c749e0529b3216141fd4d7c3550 /libswscale
parent03343659cad057b5297fe73cfe2bc419a598b00c (diff)
downloadmpv-b2b8779831d4255e708180d1fb9cba4db706bebb.tar.bz2
mpv-b2b8779831d4255e708180d1fb9cba4db706bebb.tar.xz
Reset slice direction at end of each frame.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29675 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale.c8
1 files changed, 8 insertions, 0 deletions
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);
}
}