From 86407f58773e149ea3e7a1d9ac5eef7b014e942e 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 9ffd40c93..1310d90d2 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)