From cc45eed3a1eeace81581eaba6a22f878d2bcc08d Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Mon, 23 Aug 2021 11:02:41 +0300 Subject: [PATCH] Fixed last valuable index logic --- .../Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs index 8289a4b3c..d8ea6bb0e 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs @@ -482,7 +482,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder for (int i = 7; i >= 0; i--) { - int areEqual = Avx2.MoveMask(Avx2.CompareEqual(Avx.ConvertToVector256Int32(Unsafe.Add(ref mcuStride, i)), zero8).AsByte()); + int areEqual = Avx2.MoveMask(Avx2.CompareEqual(Avx.ConvertToVector256Int32WithTruncation(Unsafe.Add(ref mcuStride, i)), zero8).AsByte()); // we do not know for sure if this stride contain all non-zero elements or if it has some trailing zeros if (areEqual != equalityMask)