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-->
13666N/A<!--ARC : LSARC 2003/085 libtiff, libjpeg, and libpng-->
10139N/A<!ENTITY exde-tt "EXTENDED DESCRIPTION">
10139N/A<!ENTITY synp-tt "SYNOPSIS">
10139N/A<!ENTITY cmd "TIFFReadScanline">
10139N/A<!ENTITY % commonents SYSTEM "smancommon.ent">
10139N/A%commonents;
10139N/A<!ENTITY % gnomecommonents SYSTEM "gnomecommon.ent">
10139N/A%gnomecommonents;
10139N/A<!ENTITY % booktitles SYSTEM "booktitles.ent">
10139N/A%booktitles;
10139N/A<!ENTITY suncopy "Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.">
10139N/A]>
10139N/A<?Pub UDT _bookmark _target>
10139N/A<?Pub Inc>
10139N/A<?PubInc>
10139N/A<refentry id="TIFFReadScanline-3tiff">
10139N/A<!-- %Z%%M% %I% %E% SMI; -->
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</refmeta>
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</refnamediv>
10139N/A<refsect1 id="TIFFReadScanline-3tiff-synp"><title>&synp-tt;</title>
10139N/A<programlisting>#include &lt;tiffio.h>
10139N/Aint TIFFReadScanline(TIFF* tif, tdata_t buf, uint32 row,
10139N/Atsample_t sample)</programlisting>
10139N/A</refsect1>
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</para>
10139N/A</refsect1>
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/Amachine byte order.</para>
10139N/A<refsect2 id="TIFFReadScanline-3tiff-exde-diags">
10139N/A<title>Diagnostics</title>
10139N/A<para>All error messages are directed to the <literal>TIFFError(3tiff)</literal>
10139N/Aroutine.</para>
10139N/A<variablelist>
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/Aof one row of data.</para>
10139N/A</listitem></varlistentry>
10139N/A</variablelist></refsect2>
10139N/A</refsect1>
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>
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<informaltable frame="all">
10139N/A<tgroup cols="2" colsep="1" rowsep="1"><colspec colname="COLSPEC0" colwidth="1*">
10139N/A<colspec colname="COLSPEC1" colwidth="1*">
10139N/A<thead>
10139N/A<row><entry align="center" valign="middle">ATTRIBUTE TYPE</entry><entry align="center"
10139N/Avalign="middle">ATTRIBUTE VALUE</entry></row>
10139N/A</thead>
10139N/A<tbody>
18745N/A<row><entry><para>Availability</para></entry><entry><para>image/library/libtiff</para></entry>
10139N/A</row>
10139N/A<row><entry colname="COLSPEC0"><para>Interface stability</para></entry><entry
13623N/Acolname="COLSPEC1"><para>Uncommitted</para></entry></row>
10139N/A</tbody>
10139N/A</tgroup>
10139N/A</informaltable>
10139N/A</refsect1>
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<!--Reference to a book.-->
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</citerefentry></para>
10139N/A</refsect1>
10139N/A<refsect1 id="TIFFReadScanline-3tiff-note"><title>&note-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<itemizedlist>
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</itemizedlist>
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>
10139N/A</refsect1>
10139N/A</refentry>
10139N/A<?Pub *0000005924>