diff --git a/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs b/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs index 59528067e..bc4ef5aa9 100644 --- a/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs +++ b/src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs @@ -201,20 +201,20 @@ namespace SixLabors.ImageSharp.Formats.WebP } var m = new Vp8QuantMatrix(); - m.Y1Mat[0] = WebPConstants.DcTable[this.Clip(q + dqy1Dc, 127)]; - m.Y1Mat[1] = WebPConstants.AcTable[this.Clip(q + 0, 127)]; - m.Y2Mat[0] = WebPConstants.DcTable[this.Clip(q + dqy2Dc, 127)] * 2; + m.Y1Mat[0] = WebPConstants.DcTable[Clip(q + dqy1Dc, 127)]; + m.Y1Mat[1] = WebPConstants.AcTable[Clip(q + 0, 127)]; + m.Y2Mat[0] = WebPConstants.DcTable[Clip(q + dqy2Dc, 127)] * 2; // For all x in [0..284], x*155/100 is bitwise equal to (x*101581) >> 16. // The smallest precision for that is '(x*6349) >> 12' but 16 is a good word size. - m.Y2Mat[1] = (WebPConstants.AcTable[this.Clip(q + dqy2Ac, 127)] * 101581) >> 16; + m.Y2Mat[1] = (WebPConstants.AcTable[Clip(q + dqy2Ac, 127)] * 101581) >> 16; if (m.Y2Mat[1] < 8) { m.Y2Mat[1] = 8; } - m.UvMat[0] = WebPConstants.DcTable[this.Clip(q + dquvDc, 117)]; - m.UvMat[1] = WebPConstants.AcTable[this.Clip(q + dquvAc, 127)]; + m.UvMat[0] = WebPConstants.DcTable[Clip(q + dquvDc, 117)]; + m.UvMat[1] = WebPConstants.AcTable[Clip(q + dquvAc, 127)]; // For dithering strength evaluation. m.UvQuant = q + dquvAc; @@ -287,9 +287,9 @@ namespace SixLabors.ImageSharp.Formats.WebP return true; } - private int Clip(int v, int M) + private static int Clip(int value, int max) { - return v < 0 ? 0 : v > M ? M : v; + return value < 0 ? 0 : value > max ? max : value; } }