Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RLE_GETRAW(3)		   Library Functions Manual		 RLE_GETRAW(3)

NAME
       rle_getraw - Read run length encoded data from an RLE file.
       rle_freeraw - Free pixel	storage	allocated by rle_getraw.

SYNOPSIS
       #include	<rle.h>
       #include	<rle_raw.h>

       unsigned	int rle_getraw(	the_hdr, scanraw, nraw )
       rle_hdr * the_hdr;
       rle_op ** scanraw;
       int * nraw;

       void rle_freeraw( the_hdr, scanraw, nraw	);
       rle_hdr * the_hdr;
       rle_op ** scanraw;
       int * nraw;

DESCRIPTION
       Rle_getraw  can	be  used  to  read information from an RLE file	in the
       "raw" form.

       The scanraw argument is an array	of pointers  to	 arrays	 of  rle_op(3)
       structures.  Each rle_op	structure specifies a run or sequence of pixel
       values.	The array nraw gives the number	of rle_op structures for  each
       channel.	  I.e.,	nraw[i]	is the length of the array pointed to by scan-
       raw[i].

       Return value is the current scanline number.  Returns 32768 at EOF.

       Sufficient space	must be	allocated in the arrays	of  rle_op  structures
       to  hold	the data read from the file.  A	function, rle_raw_alloc(3), is
       provided	to make	this easier.  The storage required by  any  pixel  se-
       quences in the input will be dynamically	allocated by rle_getraw.

       The  pixel storage allocated dynamically	by rle_getraw(3) must be freed
       to avoid	memory leaks.  This is most  easily  accomplished  by  calling
       rle_freeraw.   The argument scanraw points to an	array of rle_op	struc-
       tures, with nraw	indicating the number of structures in	each  channel.
       All pixel data arrays will be freed by the call to rle_freeraw.

EXAMPLE
       The usual code looks something like
	    rle_hdr in_hdr, out_hdr;
	    rle_op **raw;
	    int	*nraw;
	    while ( rle_getraw(	&in_hdr, raw, nraw ) !=	32768 )
	    {
		 /* Process data. */
		 rle_putraw( &out_hdr, raw, nraw );
		 rle_freeraw( &in_hdr, raw, nraw );
	    }

SEE ALSO
       rle_hdr(3), rle_op(3), rle_putraw(3), rle_raw_alloc(3),
       rle_raw_free(3),	rle_getrow(3), rle_getskip(3), librle(3), RLE(5).

AUTHOR
       Spencer W. Thomas
       University of Utah

4th Berkeley Distribution	    2/2/87			 RLE_GETRAW(3)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=rle_getraw&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help