AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2002.09.05 09:56 "Decode group4", by Jan Edmundson
2002.09.05 10:21 "Re: Decode group4", by Frank D. Cringle
2002.09.05 11:56 "Re: Decode group4", by Scott Wagner
2002.09.05 16:34 "Re: Decode group4", by Lee Howard
2002.09.05 17:45 "Re: Decode group4", by Frank D. Cringle
2002.09.05 18:02 "Re: Decode group4", by Lee Howard
2002.09.09 12:27 "Re: Decode group4", by Jan Edmundson
2002.09.05 13:16 "Re: Decode group4", by Peter Nielsen

2002.09.05 11:56 "Re: Decode group4", by Scott Wagner

Jan et. al.,

My two cents - Frank Cringle's codec as implemented in LibTiff is extremely efficient and is well-tested. At this point the codec itself has acquired the mantle of being somewhat of a "reference standard" implementation of G3/G4/Huffman encoding. I think encapsulating it as a C++ class is a great idea, but if you do so (especially if you put it back in the public domain), it would be a good idea to leave the codec engine itself alone and just wrap encapsulation code around it. I have fiddled with this type of codec before - both my own implementations and those of others - and have learned that such implementations are often prone to bizarre and difficult-to-find bugs.

If you use "a C++ class implementation of Frank Cringle's codec," you will be incorporating a lot more than just a few lines of code - the years of testing this codec have gone through are of great value.

The roots of the libtiff g3/g4 decoder go back to my code in viewfax.

I have ripped code out of libtiff but would like to get a clearer picture of what some of the variables is for in libtiff group 4 decoding.

Feel free to ask questions. Note that the code was originally developed in the era of 16MHz machines and the aim was to display faxes at acceptable interactive rates, rather than maintainability or understandability.

/*********************************************************************
* Scott Wagner  (swagner@itek.com)      NOTICE: My personal information,
* Staff Engineer                        including my E-mail address, may
* A.B.Dick Company                      not be sold, distributed, or made
* Rochester, NY USA                     public without my consent.
*********************************************************************/