summaryrefslogtreecommitdiff
path: root/tiff/html/man/TIFFReadDirectory.3tiff.html
blob: 5bb828efa771b3f544c34a70441a9a8cd33084d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!-- Creator     : groff version 1.18.1 -->
<!-- CreationDate: Fri Jul 13 17:43:16 2007 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>TIFFReadDirectory</title>
</head>
<body>

<h1 align=center>TIFFReadDirectory</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#NOTES">NOTES</a><br>
<a href="#RETURN VALUES">RETURN VALUES</a><br>
<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>

<hr>
<a name="NAME"></a>
<h2>NAME</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big>TIFFReadDirectory &minus; get the contents of the
next directory in an open</big> TIFF <big>file</big></p>
</td>
</table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big><b>#include &lt;tiffio.h&gt;</b></big></p>
<!-- INDENTATION -->
<p><big><b>int TIFFReadDirectory(TIFF
*</b><i>tif</i><b>)</b></big></p>
</td>
</table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big>Read the next directory in the specified file and
make it the current directory. Applications only need to
call <i>TIFFReadDirectory</i> to read multiple subfiles in a
single</big> TIFF <big>file&mdash; the first directory in a
file is automatically read when <i>TIFFOpen</i> is
called.</big></p>
</td>
</table>
<a name="NOTES"></a>
<h2>NOTES</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big>If the library is compiled with</big>
STRIPCHOP_SUPPORT <big>enabled, then images that have a
single uncompressed strip or tile of data are automatically
treated as if they were made up of multiple strips or tiles
of approximately 8 kilobytes each. This operation is done
only in-memory; it does not alter the contents of the file.
However, the construction of the &lsquo;&lsquo;chopped
strips&rsquo;&rsquo; is visible to the application through
the number of strips [tiles] returned by
<i>TIFFNumberOfStrips</i>
[<i>TIFFNumberOfTiles</i>].</big></p>
</td>
</table>
<a name="RETURN VALUES"></a>
<h2>RETURN VALUES</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big>If the next directory was successfully read, 1 is
returned. Otherwise, 0 is returned if an error was
encountered, or if there are no more directories to be
read.</big></p>
</td>
</table>
<a name="DIAGNOSTICS"></a>
<h2>DIAGNOSTICS</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big>All error messages are directed to the
<i>TIFFError</i>(3TIFF) routine. All warning messages are
directed to the <i>TIFFWarning</i>(3TIFF) routine.</big></p>
<!-- INDENTATION -->
<p><big><b>Seek error accessing TIFF directory</b>. An error
occurred while positioning to the location of the
directory.</big></p>
<!-- INDENTATION -->
<p><big><b>Wrong data type %d for field &quot;%s&quot;</b>.
The tag entry in the directory had an incorrect data type.
For example, an <i>ImageDescription</i> tag with a</big>
SHORT <big>data type.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing required &quot;%s&quot;
field</b>. The specified tag is required to be present by
the</big> TIFF <big>5.0 specification, but is missing. The
directory is (usually) unusable.</big></p>
<!-- INDENTATION -->
<p><big><b>%s: Rational with zero denominator</b>. A
directory tag has a</big> RATIONAL <big>value whose
denominator is zero.</big></p>
<!-- INDENTATION -->
<p><big><b>Incorrect count %d for field &quot;%s&quot; (%lu,
expecting %lu); tag ignored</b>. The specified tag&rsquo;s
count field is bad. For example, a count other than 1 for a
<i>SubFileType</i> tag.</big></p>
<!-- INDENTATION -->
<p><big><b>Cannot handle different per-sample values for
field &quot;%s&quot;</b>. The tag has <i>SamplesPerPixel</i>
values and they are not all the same; e.g.
<i>BitsPerSample</i>. The library is unable to handle images
of this sort.</big></p>
<!-- INDENTATION -->
<p><big><b>Count mismatch for field &quot;%s&quot;;
expecting %d, got %d</b>. The count field in a tag does not
agree with the number expected by the library. This should
never happen, so if it does, the library refuses to read the
directory.</big></p>
<!-- INDENTATION -->
<p><big><b>Invalid TIFF directory; tags are not sorted in
ascending order</b>. The directory tags are not properly
sorted as specified in the</big> TIFF <big>5.0
specification. This error is not fatal.</big></p>
<!-- INDENTATION -->
<p><big><b>Ignoring unknown field with tag %d (0x%x)</b>. An
unknown tag was encountered in the directory; the library
ignores all such tags.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing requred
&quot;ImageLength&quot; field</b>. The image violates the
specification by not having a necessary field. There is no
way for the library to recover from this error.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing requred
&quot;PlanarConfig&quot; field</b>. The image violates the
specification by not having a necessary field. There is no
way for the library to recover from this error.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing requred
&quot;StripOffsets&quot; field</b>. The image has multiple
strips, but is missing the tag that specifies the file
offset to each strip of data. There is no way for the
library to recover from this error.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing requred
&quot;TileOffsets&quot; field</b>. The image has multiple
tiles, but is missing the tag that specifies the file offset
to each tile of data. There is no way for the library to
recover from this error.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing required
&quot;StripByteCounts&quot; field</b>. The image has
multiple strips, but is missing the tag that specifies the
size of each strip of data. There is no way for the library
to recover from this error.</big></p>
<!-- INDENTATION -->
<p><big><b>TIFF directory is missing required
&quot;StripByteCounts&quot; field, calculating from
imagelength</b>. The image violates the specification by not
having a necessary field. However, when the image is
comprised of only one strip or tile, the library will
estimate the missing value based on the file size.</big></p>
<!-- INDENTATION -->
<p><big><b>Bogus &quot;StripByteCounts&quot; field, ignoring
and calculating from imagelength</b>. Certain vendors
violate the specification by writing zero for the
StripByteCounts tag when they want to leave the value
unspecified. If the image has a single strip, the library
will estimate the missing value based on the file
size.</big></p>
</td>
</table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="91%">
<p><big><b>TIFFOpen</b>(3TIFF),
<b>TIFFWriteDirectory</b>(3TIFF),
<b>TIFFSetDirectory</b>(3TIFF),
<b>TIFFSetSubDirectory</b>(3TIFF),
<b>libtiff</b>(3TIFF)</big></p>
<!-- INDENTATION -->
<p><big>Libtiff library home page:
<b>http://www.remotesensing.org/libtiff/</b></big></p>
</td>
</table>
<hr>
</body>
</html>