You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The function GetNextCode() retrieves the next code from the LZW-
coded data. It must keep track of bit boundaries. It knows that
the first code that it gets will be a 9-bit code. We add a table
entry each time we get a code, so GetNextCode() must switch over
to 10-bit codes as soon as string #511 is stored into the table.
We need to change the code length as soon at #511 is stored.
LZW codes are written to the stream in reversed bit order.
"New-style" increases the code size one symbol earlier than "old-style" (so-called "Early Change").
The current implementation in 'debug-lzw' branch seems however correct based on the lzw images we have and the comparison with convert from imagemagick.
Looking at the spec: https://www.fileformat.info/format/tiff/corion-lzw.htm
However in the code the change is done at 510:
tiff/src/lzw.ts
Lines 94 to 96 in 73ca971
I don't know what is the correct version but the confusion could be due to TIFF version:
https://stackoverflow.com/questions/26366659/whats-special-about-tiff-5-0-style-lzw-compression
The current implementation in 'debug-lzw' branch seems however correct based on the lzw images we have and the comparison with
convert
from imagemagick.199aa6d
The text was updated successfully, but these errors were encountered: