"Esme Povirk (they/them)" vincent@codeweavers.com wrote:
If possible, I would prefer not to maintain an implementation of LZW compression.
Why? It's plain and simple. In comparison LZW decoder is more complicated, but we have it included.
That was before my time, I just moved it from the old olepicture code. I don't know what the rationale was for importing gif decompression code.
There were some fixes in the imported GIF decoder code in windowscodecs: support for missing GIF terminator, bugs in extensions handling. It would take years to make fixes included in an external library, and then get distributions to update their packages.
Surprisingly, I can't find a library we could use for LZW compression, so maybe we do need to include it. We could add a dependency on a gif library, but that doesn't seem worth it to me.
There are different flavours of LZW, and GIF in particular has its own adaptation (dictionary size, GIF blocks, GIF terminator). For instance TIFF implementation of LZW compression is different.