10139N/A<!
DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
10139N/A<!--ArborText, Inc., 1988-1999, v.4002-->
10139N/A<!
ENTITY exde-
tt "EXTENDED DESCRIPTION">
10139N/A<!
ENTITY cmd "TIFFReadScanline">
10139N/A<!
ENTITY suncopy "Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.">
10139N/A<
refentry id="TIFFReadScanline-3tiff">
10139N/A<
refmeta><
refentrytitle>TIFFReadScanline</
refentrytitle><
manvolnum>3tiff</
manvolnum>
10139N/A<
refmiscinfo class="date">05 Apr 2004</
refmiscinfo>
10139N/A<
refmiscinfo class="sectdesc">&man3;</
refmiscinfo>
10139N/A<
refmiscinfo class="software">&release;</
refmiscinfo>
10139N/A<
refmiscinfo class="arch">generic</
refmiscinfo>
10139N/A<
refmiscinfo class="copyright">&suncopy;</
refmiscinfo>
10139N/A<
indexterm><
primary>TIFFReadScanline</
primary></
indexterm><
indexterm><
primary>
10139N/Aread and decode a scanline of data from an open TIFF file</
primary></
indexterm>
10139N/A<
refnamediv id="TIFFReadScanline-3tiff-name"><
refname>TIFFReadScanline</
refname>
10139N/A<
refpurpose>read and decode a scanline of data from an open TIFF file</
refpurpose>
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-synp"><
title>&synp-tt;</
title>
10139N/Aint TIFFReadScanline(TIFF* tif, tdata_t buf, uint32 row,
10139N/Atsample_t sample)</
programlisting>
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-desc"><
title>&desc-tt;</
title>
10139N/A<
para>Read the data for the specified row into the user-supplied data buffer.
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-exde"><
title>&exde-tt;</
title>
10139N/A<
para>The data is returned decompressed and in the native byte- and bit-ordering,
10139N/Abut is otherwise packed as described below. The buffer must be large enough
10139N/Ato hold an entire scanline of data. Applications should call the routine <
literal>
10139N/ATIFFScanlineSize</
literal> to find out the size in bytes of a scanline buffer.
10139N/AThe <
literal>row</
literal> parameter is always used by <
literal>TIFFReadScanline
10139N/A</
literal>. The <
literal>sample</
literal> parameter is used only if data is
10139N/Aorganized in separate planes (PlanarConfiguration=2).</
para>
10139N/A<
para>The library attempts to hide bit- and byte-ordering differences between
10139N/Athe image and the native machine by converting data to the native machine
10139N/Aorder. Bit reversal is performed if the <
literal>FillOrder</
literal> tag is
10139N/Aopposite to the native machine bit order. 16- and 32-bit samples are automatically
10139N/Abyte-swapped if the file was written with a byte order opposite to the native
10139N/A<
refsect2 id="TIFFReadScanline-3tiff-exde-diags">
10139N/A<
para>All error messages are directed to the <
literal>TIFFError(3tiff)</
literal>
10139N/A<
varlistentry><
term>Compression algorithm does not support random access.
10139N/A</
term><
listitem><
para>Data was requested in a non-sequential order from a
10139N/Afile that uses a compression algorithm and that has <
literal>RowsPerStrip
10139N/A</
literal> greater than one. That is, data in the image is stored in a compressed
10139N/Aform, and with multiple rows packed into a strip. In this case, the library
10139N/Adoes not support random access to the data. The data should either be accessed
10139N/Asequentially, or the file should be converted so that each strip is made up
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-rtrn"><
title>&rtrn-tt;</
title>
10139N/A<
para>Returns -1 if an error was encountered. Otherwise, returns 1.</
para>
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-attr"><
title>&attr-tt;</
title>
10139N/A<
para>See <
olink targetdocent="REFMAN5" localinfo="attributes-5"><
citerefentry>
10139N/A<
refentrytitle>attributes</
refentrytitle><
manvolnum>5</
manvolnum></
citerefentry></
olink>
10139N/Afor descriptions of the following attributes:</
para>
10139N/A<
tgroup cols="2" colsep="1" rowsep="1"><
colspec colname="COLSPEC0" colwidth="1*">
10139N/A<
colspec colname="COLSPEC1" colwidth="1*">
10139N/A<
row><
entry align="center" valign="middle">ATTRIBUTE TYPE</
entry><
entry align="center" 10139N/Avalign="middle">ATTRIBUTE VALUE</
entry></
row>
10139N/A<
row><
entry colname="COLSPEC0"><
para>Interface stability</
para></
entry><
entry 13623N/Acolname="COLSPEC1"><
para>Uncommitted</
para></
entry></
row>
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-also"><
title>&also-tt;</
title>
10139N/A<!--Reference to another man page--> 10139N/A<!--Reference to a Help manual--> 10139N/A<
para><
citerefentry><
refentrytitle>libtiff</
refentrytitle><
manvolnum>3</
manvolnum>
10139N/A</
citerefentry>, <
citerefentry><
refentrytitle>TIFFOpen</
refentrytitle><
manvolnum>
10139N/A3tiff</
manvolnum></
citerefentry>, <
citerefentry><
refentrytitle>TIFFReadEncodedStrip
10139N/A</
refentrytitle><
manvolnum>3tiff</
manvolnum></
citerefentry><?
Pub Caret>, <
citerefentry>
10139N/A<
refentrytitle>TIFFReadRawStrip</
refentrytitle><
manvolnum>3tiff</
manvolnum>
10139N/A<
refsect1 id="TIFFReadScanline-3tiff-note"><
title>¬e-tt;</
title>
10139N/A<
para>In C++, the <
literal>sample</
literal> parameter defaults to 0.</
para>
10139N/A<
para>Reading subsampled YCbCR data does not work correctly because:</
para>
10139N/A<
listitem><
para>For PlanarConfiguration=2, the size of a scanline is not calculated
10139N/Aon a per-sample basis.</
para></
listitem>
10139N/A<
listitem><
para>For PlanarConfiguration=1, the library does not unpack the
10139N/Ablock-interleaved samples.</
para></
listitem>
10139N/A<
para>Use the strip- and tile-based interfaces to read these formats.</
para>
10139N/A<
para>This man page was originally written by Sam Leffler. Updated by Breda
10139N/AMcColgan, Sun Microsystems Inc., 2004.</
para>