From 43381cb94896e92637bc835f501835c813e65058 Mon Sep 17 00:00:00 2001 From: Jason Nelson Date: Fri, 22 Jun 2018 16:49:09 -0700 Subject: [PATCH] Avoid HuffmanSpec copies --- src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs index 9ffd40c937..1310d90d26 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs @@ -544,15 +544,16 @@ namespace SixLabors.ImageSharp.Formats.Jpeg specs = new[] { HuffmanSpec.TheHuffmanSpecs[0], HuffmanSpec.TheHuffmanSpecs[1] }; } - foreach (HuffmanSpec s in specs) + for (int i = 0; i < specs.Length; i++) { + ref HuffmanSpec s = ref specs[i]; markerlen += 1 + 16 + s.Values.Length; } this.WriteMarkerHeader(JpegConstants.Markers.DHT, markerlen); for (int i = 0; i < specs.Length; i++) { - HuffmanSpec spec = specs[i]; + ref HuffmanSpec spec = ref specs[i]; int len = 0; fixed (byte* huffman = this.huffmanBuffer)