From 89ec11e096131bf0b74e04e3c19ec2007600fa94 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 2 Sep 2016 16:52:55 +0200 Subject: [PATCH] swscale/swscale: Try to fix rgb48Toxyz12() with slices Signed-off-by: Michael Niedermayer --- libswscale/swscale.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 63d16bd669..a192a1fb3f 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -978,8 +978,14 @@ int attribute_align_arg sws_scale(struct SwsContext *c, if (c->dstXYZ && !(c->srcXYZ && c->srcW==c->dstW && c->srcH==c->dstH)) { + int dstY = c->dstY ? c->dstY : srcSliceY + srcSliceH; + av_assert0(dstY >= ret); + av_assert0(ret >= 0); + av_assert0(c->dstH >= dstY); + + uint16_t *dst16 = (uint16_t*)(dst2[0] + (dstY - ret) * dstStride2[0]); /* replace on the same data */ - rgb48Toxyz12(c, (uint16_t*)dst2[0], (const uint16_t*)dst2[0], dstStride[0]/2, ret); + rgb48Toxyz12(c, dst16, dst16, dstStride2[0]/2, ret); } av_free(rgb0_tmp);