diff options
Diffstat (limited to 'tiff/html/support.html')
-rwxr-xr-x | tiff/html/support.html | 655 |
1 files changed, 655 insertions, 0 deletions
diff --git a/tiff/html/support.html b/tiff/html/support.html new file mode 100755 index 0000000..a1255b9 --- /dev/null +++ b/tiff/html/support.html @@ -0,0 +1,655 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html lang="en"> +<head> + <title>TIFF 6.0 Specification Coverage</title> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> + <meta http-equiv="content-language" content="en"> + <style type="text/css"> + <!-- + th {text-align: left; vertical-align: top; font-style: italic; font-weight: normal} + --> + </style> +</head> +<body lang="en" text="#000000" bgcolor="#ffffff" link="#0000ff" alink="#0000ff" vlink="#0000ff"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td style="padding-left: 1em; padding-right: 1em"><img src="images/strike.gif" width="128" height="100" alt=""></td> + <td> + <h1>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> + </td> + </tr> + </table> + <br> + <table border="1" cellspacing="0" cellpadding="5"> + <tr> + <th>Core requirements</th> + <td> + <p> + 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> + <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> + </p> + </td> + </tr> + <tr> + <th>Tiled Images</th> + <td><tt>TileWidth</tt>, <tt>TileLength</tt>, <tt>TileOffsets</tt>, + <tt>TileByteCounts</tt></td> + </tr> + <tr> + <th>Image Colorimetry Information</th> + <td><tt>WhitePoint</tt>, <tt>PrimaryChromaticities</tt>, <tt>TransferFunction</tt>, + <tt>ReferenceBlackWhite</tt></td> + </tr> + <tr> + <th>Class B for bilevel images</th> + <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)</td> + </tr> + <tr> + <th>Class G for grayscale images</th> + <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)</td> + </tr> + <tr> + <th>Class P for palette color images</th> + <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> + <th>Class R for RGB full color images</th> + <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)</td> + </tr> + <tr> + <th>Class F for facsimile</th> + <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> + <tr> + <th>Class S for separated images</th> + <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> + <tr> + <th>Class Y for YCbCr images</th> + <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> + <th>Class "JPEG" for JPEG images (per TTN2)</th> + <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)</td> + </tr> + </table> + <p> + In addition, the library supports some optional compression algorithms + that are, in some cases, of dubious value. + </p> + <table border="0" cellspacing="0" cellpadding="2"> + <tr><th>Compression tag value</th><th>Compression algorithm</th></tr> + <tr><td>32766</td><td>NeXT 2-bit encoding</td></tr> + <tr><td>32809</td><td>ThunderScan 4-bit encoding</td></tr> + <tr><td>32909</td><td>Pixar companded 11-bit ZIP encoding</td></tr> + <tr><td>32946</td><td>PKZIP-style Deflate encoding (experimental)</td></tr> + <tr><td>34676</td><td>SGI 32-bit Log Luminance encoding (experimental)</td></tr> + <tr><td>34677</td><td>SGI 24-bit Log Luminance encoding (experimental)</td></tr> + </table> + <br> + <p> + 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" width="32" height="32" alt=""></td> + <td>For more information on the experimental Log Luminance encoding + consult the materials available at + <a href="http://www.anyhere.com/gward/pixformat/tiffluv.html">http://www.anyhere.com/gward/pixformat/tiffluv.html</a>.</td> + </tr> + </table> + <br> + <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="1" cellspacing="0" cellpadding="5"> + <tr> + <th>Tag Name</th> + <th>Value</th> + <th>R/W</th> + <th>Library's Use (Comments)</th> + </tr> + <tr> + <td><tt>NewSubFileType</tt></td> + <td>254</td> + <td>R/W</td> + <td>none (called <tt>SubFileType</tt> in <tiff.h>)</td> + </tr> + <tr> + <td><tt>SubFileType</tt></td> + <td>255</td> + <td>R/W</td> + <td>none (called <tt>OSubFileType</tt> in <tiff.h>)</td> + </tr> + <tr> + <td><tt>ImageWidth</tt></td> + <td>256</td> + <td>R/W</td> + <td>lots</td> + </tr> + <tr> + <td><tt>ImageLength</tt></td> + <td>257</td> + <td>R/W</td> + <td>lots</td> + </tr> + <tr> + <td><tt>BitsPerSample</tt></td> + <td>258</td> + <td>R/W</td> + <td>lots</td> + </tr> + <tr> + <td><tt>Compression</tt></td> + <td>259</td> + <td>R/W</td> + <td>to select appropriate codec</td> + </tr> + <tr> + <td><tt>PhotometricInterpretation</tt></td> + <td>262</td> + <td>R/W</td> + <td>lots</td> + </tr> + <tr> + <td><tt>Thresholding</tt></td> + <td>263</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>CellWidth</tt></td> + <td>264</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>CellLength</tt></td> + <td>265</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>FillOrder</tt></td> + <td>266</td> + <td>R/W</td> + <td>control bit order</td> + </tr> + <tr> + <td><tt>DocumentName</tt></td> + <td>269</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ImageDescription</tt></td> + <td>270</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>Make</tt></td> + <td>271</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>Model</tt></td> + <td>272</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>StripOffsets</tt></td> + <td>273</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>Orientation</tt></td> + <td>274</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>SamplesPerPixel</tt></td> + <td>277</td> + <td>R/W</td> + <td>lots</td> + </tr> + <tr> + <td><tt>RowsPerStrip</tt></td> + <td>278</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>StripByteCounts</tt></td> + <td>279</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>MinSampleValue</tt></td> + <td>280</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>MaxSampleValue</tt></td> + <td>281</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>XResolution</tt></td> + <td>282</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>YResolution</tt></td> + <td>283</td> + <td>R/W</td> + <td>used by Group 3 2d encoder</td> + </tr> + <tr> + <td><tt>PlanarConfiguration</tt></td> + <td>284</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>PageName</tt></td> + <td>285</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>XPosition</tt></td> + <td>286</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>YPosition</tt></td> + <td>286</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>FreeOffsets</tt></td> + <td>288</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>FreeByteCounts</tt></td> + <td>289</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>GrayResponseUnit</tt></td> + <td>290</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>GrayResponseCurve</tt></td> + <td>291</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>Group3Options</tt></td> + <td>292</td> + <td>R/W</td> + <td>used by Group 3 codec</td> + </tr> + <tr> + <td><tt>Group4Options</tt></td> + <td>293</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ResolutionUnit</tt></td> + <td>296</td> + <td>R/W</td> + <td>used by Group 3 2d encoder</td> + </tr> + <tr> + <td><tt>PageNumber</tt></td> + <td>297</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ColorResponseUnit</tt></td> + <td>300</td> + <td> </td> + <td>parsed but ignored</td> + </tr> + <tr> + <td><tt>TransferFunction</tt></td> + <td>301</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>Software</tt></td> + <td>305</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>DateTime</tt></td> + <td>306</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>Artist</tt></td> + <td>315</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>HostComputer</tt></td> + <td>316</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>Predictor</tt></td> + <td>317</td> + <td>R/W</td> + <td>used by LZW codec</td> + </tr> + <tr> + <td><tt>WhitePoint</tt></td> + <td>318</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>PrimaryChromacities</tt></td> + <td>319</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ColorMap</tt></td> + <td>320</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>TileWidth</tt></td> + <td>322</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>TileLength</tt></td> + <td>323</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>TileOffsets</tt></td> + <td>324</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>TileByteCounts</tt></td> + <td>324</td> + <td>R/W</td> + <td>data i/o</td> + </tr> + <tr> + <td><tt>BadFaxLines</tt></td> + <td>326</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>CleanFaxData</tt></td> + <td>327</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ConsecutiveBadFaxLines</tt></td> + <td>328</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>SubIFD</tt></td> + <td>330</td> + <td>R/W</td> + <td>subimage descriptor support</td> + </tr> + <tr> + <td><tt>InkSet</tt></td> + <td>332</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>InkNames</tt></td> + <td>333</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>DotRange</tt></td> + <td>336</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>TargetPrinter</tt></td> + <td>337</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ExtraSamples</tt></td> + <td>338</td> + <td>R/W</td> + <td>lots</td> + </tr> + <tr> + <td><tt>SampleFormat</tt></td> + <td>339</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>SMinSampleValue</tt></td> + <td>340</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>SMaxSampleValue</tt></td> + <td>341</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>JPEGTables</tt></td> + <td>347</td> + <td>R/W</td> + <td>used by JPEG codec</td> + </tr> + <tr> + <td><tt>YCbCrCoefficients</tt></td> + <td>529</td> + <td>R/W</td> + <td>used by <tt>TIFFReadRGBAImage</tt> support</td> + </tr> + <tr> + <td><tt>YCbCrSubsampling</tt></td> + <td>530</td> + <td>R/W</td> + <td>tile/strip size calculations</td> + </tr> + <tr> + <td><tt>YCbCrPositioning</tt></td> + <td>531</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>ReferenceBlackWhite</tt></td> + <td>532</td> + <td>R/W</td> + <td> </td> + </tr> + <tr> + <td><tt>Matteing</tt></td> + <td>32995</td> + <td>R</td> + <td>none (obsoleted by <tt>ExtraSamples</tt> tag)</td> + </tr> + <tr> + <td><tt>DataType</tt></td> + <td>32996</td> + <td>R</td> + <td>none (obsoleted by <tt>SampleFormat</tt> tag)</td> + </tr> + <tr> + <td><tt>ImageDepth</tt></td> + <td>32997</td> + <td>R/W</td> + <td>tile/strip calculations</td> + </tr> + <tr> + <td><tt>TileDepth</tt></td> + <td>32998</td> + <td>R/W</td> + <td>tile/strip calculations</td> + </tr> + <tr> + <td><tt>StoNits</tt></td> + <td>37439</td> + <td>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> + <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> + <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> + <p> + The JPEG-related tag is specified in + <a href="TIFFTechNote2.html">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> + <p> + Last updated: $Date: 2005-12-28 06:53:18 $ + </p> +</body> +</html> + |