Browse Source

Dont use enumerator

pull/1552/head
Brian Popow 5 years ago
parent
commit
6678fba0c2
  1. 12
      src/ImageSharp/Formats/WebP/Lossless/BackwardReferenceEncoder.cs

12
src/ImageSharp/Formats/WebP/Lossless/BackwardReferenceEncoder.cs

@ -138,12 +138,10 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Webp.Lossless
colorCache[i].Init(i); colorCache[i].Init(i);
} }
// TODO: Don't use the enumerator here.
// Find the cacheBits giving the lowest entropy. // Find the cacheBits giving the lowest entropy.
using List<PixOrCopy>.Enumerator c = refs.Refs.GetEnumerator(); for (int idx = 0; idx < refs.Refs.Count; idx++)
while (c.MoveNext())
{ {
PixOrCopy v = c.Current; PixOrCopy v = refs.Refs[idx];
if (v.IsLiteral()) if (v.IsLiteral())
{ {
uint pix = bgra[pos++]; uint pix = bgra[pos++];
@ -743,14 +741,12 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Webp.Lossless
/// </summary> /// </summary>
private static void BackwardRefsWithLocalCache(Span<uint> bgra, int cacheBits, Vp8LBackwardRefs refs) private static void BackwardRefsWithLocalCache(Span<uint> bgra, int cacheBits, Vp8LBackwardRefs refs)
{ {
// TODO: Don't use enumerator.
int pixelIndex = 0; int pixelIndex = 0;
using List<PixOrCopy>.Enumerator c = refs.Refs.GetEnumerator();
var colorCache = new ColorCache(); var colorCache = new ColorCache();
colorCache.Init(cacheBits); colorCache.Init(cacheBits);
while (c.MoveNext()) for (int idx = 0; idx < refs.Refs.Count; idx++)
{ {
PixOrCopy v = c.Current; PixOrCopy v = refs.Refs[idx];
if (v.IsLiteral()) if (v.IsLiteral())
{ {
uint bgraLiteral = v.BgraOrDistance; uint bgraLiteral = v.BgraOrDistance;

Loading…
Cancel
Save