diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs
index 90a966d53f..bee5e0229b 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs
@@ -13,6 +13,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct HuffmanTable
{
+ ///
+ /// Memory workspace buffer size used in ctor.
+ ///
+ public const int WorkspaceByteSize = 256 * sizeof(uint);
+
///
/// Derived from the DHT marker. Contains the symbols, in order of incremental code length.
///
diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
index a2cccc37f5..a21f1a71d7 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
@@ -1097,16 +1097,15 @@ namespace SixLabors.ImageSharp.Formats.Jpeg
{
const int codeLengthsByteSize = 17;
const int codeValuesMaxByteSize = 256;
- const int tableWorkspaceByteSize = 256 * sizeof(uint);
- const int totalBufferSize = codeLengthsByteSize + codeValuesMaxByteSize + tableWorkspaceByteSize;
+ const int totalBufferSize = codeLengthsByteSize + codeValuesMaxByteSize + HuffmanTable.WorkspaceByteSize;
int length = remaining;
using (IMemoryOwner buffer = this.Configuration.MemoryAllocator.Allocate(totalBufferSize))
{
Span bufferSpan = buffer.GetSpan();
- Span huffmanLegthsSpan = buffer.Slice(0, codeLengthsByteSize);
- Span huffmanValuesSpan = buffer.Slice(codeLengthsByteSize, codeValuesMaxByteSize);
- Span tableWorkspace = MemoryMarshal.Cast(buffer.Slice(codeLengthsByteSize + codeValuesMaxByteSize));
+ Span huffmanLegthsSpan = bufferSpan.Slice(0, codeLengthsByteSize);
+ Span huffmanValuesSpan = bufferSpan.Slice(codeLengthsByteSize, codeValuesMaxByteSize);
+ Span tableWorkspace = MemoryMarshal.Cast(bufferSpan.Slice(codeLengthsByteSize + codeValuesMaxByteSize));
for (int i = 2; i < remaining;)
{