2007.10.05 05:45 "Re: [Tiff] libtiff4, and the size of STRIPOFFSETs and TILEOFFSETs", by Joris Van Damme
I have decided that my current approach of rewriting the whole directory is too risk-prone (ie. still doesn't work with legitimate pre-existing files) so I'm going to change my code to include custom mechanisms to update the strip/tile offset/size tags "in place" without using the libtiff "write directory" mechanism. Once done, I'll back out the changes I mentioned above.
I'm considering implementing this as a sort of auxilary libtiff function. Something like "TIFFRewriteImageOffsetSize()" that would update the current directory on disk with the "in memory" strip/tile offsets and sizes. This might result in moving the lists to the end of the file if they change in size (ie. shorts become longs, etc). Do others feel this would be a useful function to have available in libtiff?
This sounds like it could be a first experiment towards a more general control over actual tag values and value manipulation, which I feel is something a lot of LibTiff users would like to see. Even more importantly, it sounds like we'll no longer need the current hack and we'll be able to restore the original function that writes Long or Long8 depending on value, so as to be able to reuse this in such a more general control interface, which was the intention all along. So I'm all for.
Joris Van Damme
Download your free TIFF tag viewer for windows here: