diff options
Diffstat (limited to 'html/support.html')
-rw-r--r-- | html/support.html | 684 |
1 files changed, 684 insertions, 0 deletions
diff --git a/html/support.html b/html/support.html new file mode 100644 index 00000000..ce2012e5 --- /dev/null +++ b/html/support.html @@ -0,0 +1,684 @@ +<HTML> +<HEAD> +<TITLE> +TIFF 6.0 Specification Coverage +</TITLE> +</HEAD> + +<H1> +<IMG SRC=images/strike.gif WIDTH=128 HEIGHT=100 ALIGN=left HSPACE=6> +TIFF 6.0 Specification Coverage +</H1> + + +<P> +The library is capable of dealing with images that are written to +follow the 5.0 or 6.0 TIFF spec. There is also considerable support +for some of the more esoteric portions of the 6.0 TIFF spec. + +<P> +<TABLE BORDER CELLPADDING=3> + +<TR> +<TD VALIGN=top> +<I>Core requirements</I> +</TD> +<TD> +Both <TT>"MM"</TT> and <TT>"II"</TT> byte orders are handled. +Both packed and separated planar configuration of samples. +Any number of samples per pixel (memory permitting). +Any image width and height (memory permitting). +Multiple subfiles can be read and written. +Editing is <B>not</B> supported in that related subfiles (e.g. +a reduced resolution version of an image) are not automatically +updated. +<P> +Tags handled: +<TT>ExtraSamples</TT>, +<TT>ImageWidth</TT>, +<TT>ImageLength</TT>, +<TT>NewSubfileType</TT>, +<TT>ResolutionUnit</TT>. +<TT>Rowsperstrip</TT>, +<TT>StripOffsets</TT>, +<TT>StripByteCounts</TT>, +<TT>XResolution</TT>, +<TT>YResolution</TT>, +</TD> +</TR> + +<TR> +<TD VALIGN=top><I>Tiled Images</I></TD> +<TD><TT>TileWidth</TT>, + <TT>TileLength</TT>, + <TT>TileOffsets</TT>, + <TT>TileByteCounts</TT> +</TD> +</TR> + +<TD VALIGN=top><I>Image Colorimetry Information</I></TD> +<TD><TT>WhitePoint</TT>, + <TT>PrimaryChromaticities</TT>, + <TT>TransferFunction</TT>, + <TT>ReferenceBlackWhite</TT> +</TD> +</TR> + +<TR> +<TD VALIGN=top><I>Class B for bilevel images</I></TD> +<TD><TT>SamplesPerPixel</TT> = 1<BR> + <TT>BitsPerSample</TT> = 1<BR> + <TT>Compression</TT> = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)<BR> + <TT>PhotometricInterpretation</TT> = 0 (Min-is-White), 1 (Min-is-Black)<BR> +</TD> +</TR> + +<TR> +<TD VALIGN=top><I>Class G for grayscale images</I></TD> +<TD><TT>SamplesPerPixel</TT> = 1<BR> + <TT>BitsPerSample</TT> = 4, 8<BR> + <TT>Compression</TT> = 1 (none) 5 (LZW)<BR> + <TT>PhotometricInterpretation</TT> = 0 (Min-is-White), 1 (Min-is-Black)<BR> +</TD> + +</TR> +<TR> +<TD VALIGN=top><I>Class P for palette color images</I></TD> +<TD><TT>SamplesPerPixel</TT> = 1<BR> + <TT>BitsPerSample</TT> = 1-8<BR> + <TT>Compression</TT> = 1 (none) 5 (LZW)<BR> + <TT>PhotometricInterpretation</TT> = 3 (Palette RGB)<BR> + <TT>ColorMap</TT> +</TD> +</TR> + +<TR> +<TD VALIGN=top><I>Class R for RGB full color images</I></TD> +<TD><TT>SamplesPerPixel</TT> = 3<BR> + <TT>BitsPerSample</TT> = <8,8,8><BR> + <TT>PlanarConfiguration</TT> = 1, 2<BR> + <TT>Compression</TT> = 1 (none) 5 (LZW)<BR> + <TT>PhotometricInterpretation</TT> = 2 (RGB)<BR> +</TD> +</TR> + +<TR> +<TD VALIGN=top><I>Class F for facsimile</I></TD> +<TD>(<I>Class B tags plus...</I>)<BR> + <TT>Compression</TT> = 3 (CCITT Group 3), 4 (CCITT Group 4)<BR> + <TT>FillOrder</TT> = 1 (MSB), 2 (LSB)<BR> + <TT>Group3Options</TT> = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)<BR> + <TT>ImageWidth</TT> = 1728, 2048, 2482<BR> + <TT>NewSubFileType</TT> = 2<BR> + <TT>ResolutionUnit</TT> = 2 (Inch), 3 (Centimeter)<BR> + <TT>PageNumber</TT>, + <TT>XResolution</TT>, + <TT>YResolution</TT>, + <TT>Software</TT>, + <TT>BadFaxLines</TT>, + <TT>CleanFaxData</TT>, + <TT>ConsecutiveBadFaxLines</TT>, + <TT>DateTime</TT>, + <TT>DocumentName</TT>, + <TT>ImageDescription</TT>, + <TT>Orientation</TT> +</TD> +</TR> + +<TD VALIGN=top><I>Class S for separated images</I></TD> +<TD><TT>SamplesPerPixel</TT> = 4<BR> + <TT>PlanarConfiguration</TT> = 1, 2<BR> + <TT>Compression</TT> = 1 (none), 5 (LZW)<BR> + <TT>PhotometricInterpretation</TT> = 5 (Separated)<BR> + <TT>InkSet</TT> = 1 (CMYK)<BR> + <TT>DotRange</TT>, + <TT>InkNames</TT>, + <TT>DotRange</TT>, + <TT>TargetPrinter</TT> +</TD> +</TR> + +<TD VALIGN=top><I>Class Y for YCbCr images</I></TD> +<TD><TT>SamplesPerPixel</TT> = 3<BR> + <TT>BitsPerSample</TT> = <8,8,8><BR> + <TT>PlanarConfiguration</TT> = 1, 2<BR> + <TT>Compression</TT> = 1 (none), 5 (LZW), 7 (JPEG)<BR> + <TT>PhotometricInterpretation</TT> = 6 (YCbCr)<BR> + <TT>YCbCrCoefficients</TT>, + <TT>YCbCrSubsampling</TT>, + <TT>YCbCrPositioning</TT><BR> + (<I>colorimetry info from Appendix H; see above</I>) +</TD> +</TR> + +<TR> +<TD VALIGN=top><I>Class "JPEG" for JPEG images (per TTN2)</I></TD> +<TD><TT>PhotometricInterpretation</TT> = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)<BR> + (<I>Class Y tags if YCbCr</I>)<BR> + (<I>Class S tags if CMYK</I>)<BR> + <TT>Compression</TT> = 7 (JPEG)<BR> +</TD> +</TR> +</TABLE> + +<P> +In addition, the library supports some optional compression algorithms +that are, in some cases, of dubious value. + +<PRE> + Compression = 32766 NeXT 2-bit encoding + Compression = 32809 ThunderScan 4-bit encoding + Compression = 32909 Pixar companded 11-bit ZIP encoding + Compression = 32946 PKZIP-style Deflate encoding (experimental) + Compression = 34676 SGI 32-bit Log Luminance encoding (experimental) + Compression = 34677 SGI 24-bit Log Luminance encoding (experimental) +</PRE> + +Note that there is no support for the JPEG-related tags defined +in the 6.0 specification; the JPEG support is based on the post-6.0 +proposal given in TIFF Technical Note #2. + +<P> +<TABLE> +<TR> +<TD VALIGN=top><IMG SRC="images/info.gif"></TD> +<TD> +<EM> +For more information on the experimental Log Luminance encoding +consult the materials available at +<A HREF=http://www.sgi.com/Technology/pixformat>http://www.sgi.com/Technology/pixformat</A>. +</EM> +</TD> +</TR> +</TABLE> + +<P> +The following table shows the tags that are recognized +and how they are used by the library. If no use is indicated, +then the library +reads and writes the tag, but does not use it internally. + +<P> +<TABLE BORDER WIDTH=100% CELLPADDING=2> +<TR> +<TH ALIGN=left>Tag Name</TH> <TH>Value</TH> <TH ALIGN=center>R/W</TH> <TH ALIGN=left>Library's Use (Comments)</TH> +</TR> +<TR> +<TD><TT>NewSubFileType</TT></TD> +<TD ALIGN=center>254</TD> +<TD ALIGN=center>R/W</TD> +<TD>none (called <TT>SubFileType</TT> in <tiff.h>)</TD> +</TR> +<TR> +<TD><TT>SubFileType</TT></TD> +<TD ALIGN=center>255</TD> +<TD ALIGN=center>R/W</TD> +<TD>none (called <TT>OSubFileType</TT> in <tiff.h>)</TD> +</TR> +<TR> +<TD><TT>ImageWidth</TT></TD> +<TD ALIGN=center>256</TD> +<TD ALIGN=center>R/W</TD> +<TD>lots</TD> +</TR> +<TR> +<TD><TT>ImageLength</TT></TD> +<TD ALIGN=center>257</TD> +<TD ALIGN=center>R/W</TD> +<TD>lots</TD> +</TR> +<TR> +<TD><TT>BitsPerSample</TT></TD> +<TD ALIGN=center>258</TD> +<TD ALIGN=center>R/W</TD> +<TD>lots</TD> +</TR> +<TR> +<TD><TT>Compression</TT></TD> +<TD ALIGN=center>259</TD> +<TD ALIGN=center>R/W</TD> +<TD>to select appropriate codec</TD> +</TR> +<TR> +<TD><TT>PhotometricInterpretation</TT></TD> +<TD ALIGN=center>262</TD> +<TD ALIGN=center>R/W</TD> +<TD>lots</TD> +</TR> +<TR> +<TD><TT>Thresholding</TT></TD> +<TD ALIGN=center>263</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>CellWidth</TT></TD> +<TD ALIGN=center>264</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>CellLength</TT></TD> +<TD ALIGN=center>265</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>FillOrder</TT></TD> +<TD ALIGN=center>266</TD> +<TD ALIGN=center>R/W</TD> +<TD>control bit order</TD> +</TR> +<TR> +<TD><TT>DocumentName</TT></TD> +<TD ALIGN=center>269</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ImageDescription</TT></TD> +<TD ALIGN=center>270</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>Make</TT></TD> +<TD ALIGN=center>271</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>Model</TT></TD> +<TD ALIGN=center>272</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>StripOffsets</TT></TD> +<TD ALIGN=center>273</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>Orientation</TT></TD> +<TD ALIGN=center>274</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>SamplesPerPixel</TT></TD> +<TD ALIGN=center>277</TD> +<TD ALIGN=center>R/W</TD> +<TD>lots</TD> +</TR> +<TR> +<TD><TT>RowsPerStrip</TT></TD> +<TD ALIGN=center>278</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>StripByteCounts</TT></TD> +<TD ALIGN=center>279</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>MinSampleValue</TT></TD> +<TD ALIGN=center>280</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>MaxSampleValue</TT></TD> +<TD ALIGN=center>281</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>XResolution</TT></TD> +<TD ALIGN=center>282</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>YResolution</TT></TD> +<TD ALIGN=center>283</TD> +<TD ALIGN=center>R/W</TD> +<TD>used by Group 3 2d encoder</TD> +</TR> +<TR> +<TD><TT>PlanarConfiguration</TT></TD> +<TD ALIGN=center>284</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>PageName</TT></TD> +<TD ALIGN=center>285</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>XPosition</TT></TD> +<TD ALIGN=center>286</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>YPosition</TT></TD> +<TD ALIGN=center>286</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>FreeOffsets</TT></TD> +<TD ALIGN=center>288</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>FreeByteCounts</TT></TD> +<TD ALIGN=center>289</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>GrayResponseUnit</TT></TD> +<TD ALIGN=center>290</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>GrayResponseCurve</TT></TD> +<TD ALIGN=center>291</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>Group3Options</TT></TD> +<TD ALIGN=center>292</TD> +<TD ALIGN=center>R/W</TD> +<TD>used by Group 3 codec</TD> +</TR> +<TR> +<TD><TT>Group4Options</TT></TD> +<TD ALIGN=center>293</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ResolutionUnit</TT></TD> +<TD ALIGN=center>296</TD> +<TD ALIGN=center>R/W</TD> +<TD>used by Group 3 2d encoder</TD> +</TR> +<TR> +<TD><TT>PageNumber</TT></TD> +<TD ALIGN=center>297</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ColorResponseUnit</TT></TD> +<TD ALIGN=center>300</TD> +<TD> </TD> +<TD>parsed but ignored</TD> +</TR> +<TR> +<TD><TT>TransferFunction</TT></TD> +<TD ALIGN=center>301</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>Software</TT></TD> +<TD ALIGN=center>305</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>DateTime</TT></TD> +<TD ALIGN=center>306</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>Artist</TT></TD> +<TD ALIGN=center>315</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>HostComputer</TT></TD> +<TD ALIGN=center>316</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>Predictor</TT></TD> +<TD ALIGN=center>317</TD> +<TD ALIGN=center>R/W</TD> +<TD>used by LZW codec</TD> +</TR> +<TR> +<TD><TT>WhitePoint</TT></TD> +<TD ALIGN=center>318</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>PrimaryChromacities</TT></TD> +<TD ALIGN=center>319</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ColorMap</TT></TD> +<TD ALIGN=center>320</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>TileWidth</TT></TD> +<TD ALIGN=center>322</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>TileLength</TT></TD> +<TD ALIGN=center>323</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>TileOffsets</TT></TD> +<TD ALIGN=center>324</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>TileByteCounts</TT></TD> +<TD ALIGN=center>324</TD> +<TD ALIGN=center>R/W</TD> +<TD>data i/o</TD> +</TR> +<TR> +<TD><TT>BadFaxLines</TT></TD> +<TD ALIGN=center>326</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>CleanFaxData</TT></TD> +<TD ALIGN=center>327</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ConsecutiveBadFaxLines</TT></TD> +<TD ALIGN=center>328</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>SubIFD</TT></TD> +<TD ALIGN=center>330</TD> +<TD ALIGN=center>R/W</TD> +<TD>subimage descriptor support</TD> +</TR> +<TR> +<TD><TT>InkSet</TT></TD> +<TD ALIGN=center>332</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>InkNames</TT></TD> +<TD ALIGN=center>333</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>DotRange</TT></TD> +<TD ALIGN=center>336</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>TargetPrinter</TT></TD> +<TD ALIGN=center>337</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ExtraSamples</TT></TD> +<TD ALIGN=center>338</TD> +<TD ALIGN=center>R/W</TD> +<TD>lots</TD> +</TR> +<TR> +<TD><TT>SampleFormat</TT></TD> +<TD ALIGN=center>339</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>SMinSampleValue</TT></TD> +<TD ALIGN=center>340</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>SMaxSampleValue</TT></TD> +<TD ALIGN=center>341</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>JPEGTables</TT></TD> +<TD ALIGN=center>347</TD> +<TD ALIGN=center>R/W</TD> +<TD>used by JPEG codec</TD> +</TR> +<TR> +<TD><TT>YCbCrCoefficients</TT></TD> +<TD ALIGN=center>529</TD> +<TD ALIGN=center>R/W</TD> +<TD>used by <TT>TIFFReadRGBAImage</TT> support</TD> +</TR> +<TR> +<TD><TT>YCbCrSubsampling</TT></TD> +<TD ALIGN=center>530</TD> +<TD ALIGN=center>R/W</TD> +<TD>tile/strip size calculations</TD> +</TR> +<TR> +<TD><TT>YCbCrPositioning</TT></TD> +<TD ALIGN=center>531</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>ReferenceBlackWhite</TT></TD> +<TD ALIGN=center>532</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +<TR> +<TD><TT>Matteing</TT></TD> +<TD ALIGN=center>32995</TD> +<TD ALIGN=center>R</TD> +<TD>none (obsoleted by <TT>ExtraSamples</TT> tag)</TD> +</TR> +<TR> +<TD><TT>DataType</TT></TD> +<TD ALIGN=center>32996</TD> +<TD ALIGN=center>R</TD> +<TD>none (obsoleted by <TT>SampleFormat</TT> tag)</TD> +</TR> +<TR> +<TD><TT>ImageDepth</TT></TD> +<TD ALIGN=center>32997</TD> +<TD ALIGN=center>R/W</TD> +<TD>tile/strip calculations</TD> +</TR> +<TR> +<TD><TT>TileDepth</TT></TD> +<TD ALIGN=center>32998</TD> +<TD ALIGN=center>R/W</TD> +<TD>tile/strip calculations</TD> +</TR> +<TR> +<TD><TT>StoNits</TT></TD> +<TD ALIGN=center>37439</TD> +<TD ALIGN=center>R/W</TD> +<TD> </TD> +</TR> +</TABLE> + +<P> +The <TT>Matteing</TT> and <TT>DataType</TT> +tags have been obsoleted by the 6.0 +<TT>ExtraSamples</TT> and <TT>SampleFormat</TT> tags. +Consult the documentation on the +<TT>ExtraSamples</TT> tag and Associated Alpha for elaboration. Note however +that if you use Associated Alpha, you are expected to save data that is +pre-multipled by Alpha. If this means nothing to you, check out +Porter & Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital +Images". + +<P> +The <TT>ImageDepth</TT> +tag is a non-standard, but registered tag that specifies +the Z-dimension of volumetric data. The combination of <TT>ImageWidth</TT>, +<TT>ImageLength</TT>, and <TT>ImageDepth</TT>, +defines a 3D volume of pixels that are +further specified by <TT>BitsPerSample</TT> and +<TT>SamplesPerPixel</TT>. The <TT>TileDepth</TT> +tag (also non-standard, but registered) can be used to specified a +subvolume "tiling" of a volume of data. + +<P> +The Colorimetry, and CMYK tags are additions that appear in TIFF 6.0. +Consult the TIFF 6.0 specification included in the <B>doc</B> directory +and <A HREF=document.html>online</A>. + +<P> +The JPEG-related tag is specified in +<A HREF=ftp://ftp.sgi.com/graphics/tiff/TTN2.draft.txt.gz>TIFF Technical Note #2</A> which defines +a revised JPEG-in-TIFF scheme (revised over that appendix that was +part of the TIFF 6.0 specification). + + + +<P> +<HR> + +<ADDRESS> +<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>. +Last updated: $Date: 1999-07-27 21:50:27 $ +</ADDRESS> + +</BODY> +</HTML> |