/*
 *  tiling.h
 *
 *  Written by:		Ullrich Hafner
 *		
 *  This file is part of FIASCO (Fractal Image And Sequence COdec)
 *  Copyright (C) 1994-2000 Ullrich Hafner
 */

/*
 *  $Date: 2000/06/14 20:50:51 $
 *  $Author: hafner $
 *  $Revision: 5.1 $
 *  $State: Exp $
 */

#ifndef _TILING_H
#define _TILING_H

#include "image.h"
#include "fiasco.h"

typedef struct tiling
{
   unsigned    	    exponent;		/* Image is split in 2^exp tiles */
   fiasco_tiling_e  method;		/* Method of Image tiling */
   int	      	   *vorder;		/* Block permutation (size = 2^exp)
					   -1 indicates empty block */
} tiling_t;

void
perform_tiling (const image_t *image, tiling_t *tiling);
tiling_t *
alloc_tiling (fiasco_tiling_e method, unsigned tiling_exponent,
	      unsigned image_level);
void
free_tiling (tiling_t *tiling);

#endif /* not _TILING_H */

