From 01bf0a178d90c078d45bee22d640a53decfc56cb Mon Sep 17 00:00:00 2001 From: Pedro Arthur Date: Fri, 25 Sep 2015 12:17:43 -0300 Subject: [PATCH] swscale: fix ticket #4877 (cherry picked from commit a8602dde5e0a9858b9cee7e3788bef8efc43d950) Signed-off-by: Michael Niedermayer --- libswscale/swscale.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/libswscale/swscale.c b/libswscale/swscale.c index cdc30a252b..ac224a83ba 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -476,17 +476,18 @@ static int swscale(SwsContext *c, const uint8_t *src[], ff_init_slice_from_src(vout_slice, (uint8_t**)dst, dstStride, c->dstW, dstY, dstH, dstY >> c->chrDstVSubSample, FF_CEIL_RSHIFT(dstH, c->chrDstVSubSample)); + if (srcSliceY == 0) { + hout_slice->plane[0].sliceY = lastInLumBuf + 1; + hout_slice->plane[1].sliceY = lastInChrBuf + 1; + hout_slice->plane[2].sliceY = lastInChrBuf + 1; + hout_slice->plane[3].sliceY = lastInLumBuf + 1; - hout_slice->plane[0].sliceY = lastInLumBuf + 1; - hout_slice->plane[1].sliceY = lastInChrBuf + 1; - hout_slice->plane[2].sliceY = lastInChrBuf + 1; - hout_slice->plane[3].sliceY = lastInLumBuf + 1; - - hout_slice->plane[0].sliceH = - hout_slice->plane[1].sliceH = - hout_slice->plane[2].sliceH = - hout_slice->plane[3].sliceH = 0; - hout_slice->width = dstW; + hout_slice->plane[0].sliceH = + hout_slice->plane[1].sliceH = + hout_slice->plane[2].sliceH = + hout_slice->plane[3].sliceH = 0; + hout_slice->width = dstW; + } #endif for (; dstY < dstH; dstY++) {