diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanLut.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanLut.cs
index f563e74e09..44b39dfd71 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanLut.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanLut.cs
@@ -4,12 +4,26 @@
namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder
{
///
- /// TODO: THIS IS NO LONGER TRUE, INTERNAL REPRESENTATION WAS CHANGED AND THIS DOC SHOULD BE CHANGED TOO!!!
/// A compiled look-up table representation of a huffmanSpec.
- /// Each value maps to a int32 of which the 24 most significant bits hold the
- /// codeword in bits and the 8 least significant bits hold the codeword size.
/// The maximum codeword size is 16 bits.
///
+ ///
+ ///
+ /// Each value maps to a int32 of which the 24 most significant bits hold the
+ /// codeword in bits and the 8 least significant bits hold the codeword size.
+ ///
+ ///
+ /// Code value occupies 24 most significant bits as integer value.
+ /// This value is shifted to the MSB position for performance reasons.
+ /// For example, decimal value 10 is stored like this:
+ ///
+ /// MSB LSB
+ /// 1010 0000 00000000 00000000 | 00000100
+ ///
+ /// This was done to eliminate extra binary shifts in the encoder.
+ /// While code length is represented as 8 bit integer value
+ ///
+ ///
internal readonly struct HuffmanLut
{
///