Browse Source

code cleanup, make method static

pull/1552/head
Peter Amrehn 6 years ago
parent
commit
30eeeaa7af
  1. 16
      src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs

16
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;
}
}

Loading…
Cancel
Save