From 788058525fab0d14af8a59323f029930dc4237ef Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 20 Feb 2020 08:58:56 +0100 Subject: [PATCH] Fix setting Y/UV-Stride --- src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs b/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs index 04f10fc5d7..a5dc5dd506 100644 --- a/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs +++ b/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs @@ -579,7 +579,7 @@ namespace SixLabors.ImageSharp.Formats.WebP topV = curV; curU = curU.Slice(io.UvStride); curV = curV.Slice(io.UvStride); - this.UpSample(curY.Slice(io.YStride), curY, topU, topV, curU, curV, dst.Slice(bufferStride), dst.Slice(2 * bufferStride), mbw); + this.UpSample(curY.Slice(io.YStride), curY.Slice(2 * io.YStride), topU, topV, curU, curV, dst.Slice(bufferStride), dst.Slice(2 * bufferStride), mbw); curY = curY.Slice(2 * io.YStride); dst = dst.Slice(2 * bufferStride); } @@ -1223,6 +1223,8 @@ namespace SixLabors.ImageSharp.Formats.WebP io.ScaledHeight = io.ScaledHeight; io.MbW = io.Width; io.MbH = io.Height; + io.YStride = (int)(16 * ((pictureHeader.Width + 15) >> 4)); + io.UvStride = (int)(8 * ((pictureHeader.Width + 15) >> 4)); return io; }