www.pudn.com > sfalic-03-src.rar.rar > cdfstat.h


#ifndef __CDFSTAT_H 
#define __CDFSTAT_H 
 
#include  
#include "cdftypes.h" 
 
 
typedef unsigned COUNTER;		/* element tablicy licznikow kubelka */ 
 
typedef struct s_bucket		/* struktura kubelka */ 
		{			 
			COUNTER			* pcounters;	/* wskaznik do tablicy licznikow */ 
			unsigned int	bestcode;		/*najlepszy z kodow zawartych w kubelku*/ 
		} s_bucket; 
 
typedef s_bucket * p_s_bucket;	/* wskaznik do kubelka */ 
 
 
/* kompresja i dekompresja statystyczna */ 
 
#define DEFevol 3 
#define MINevol 0 
#define MAXevol 6 
 
#define DEFtrigger 0 
#define MINtrigger 0 
#define MAXtrigger 2000 /* 2000 dla u16b COUNTER i MAXmaxclen==32  */ 
						/* ponad 2^26 dla u32b COUNTER */ 
						/* 0 oznacza dobor automatyczny */ 
 
#define DEFmaxclen 26 
/* MINmaxclen to bpp obrazka */ 
#define MAXmaxclen 32 
 
#define DEFwmistart 0 
#define MINwmistart 0 
/* MAXwmistart to wmimax */ 
 
#define DEFwmimax 6 
/* MINwmimax to wmistart */ 
#define MAXwmimax 15 
 
#define DEFwminext 2048 
#define MINwminext 1 
#define MAXwminext 100000000 
 
/* inicjalizacja struktur statcodera, rodziny kodow i bitowego wyjscia */ 
/* uzywa danych z taskparams.h */ 
void statinitcoder(const int bpp, const int maxclen, 
				   const int evol, const int init8bpp); 
 
/* zwolnienie pamieci modelu, ew. rodziny kodow */ 
void statfreecoder(); 
 
/* inicjalizacja struktur statcodera, rodziny kodow i bitowego wejscia */ 
/* uzywa danych z taskparams.h */ 
void statinitdecoder(const int bpp, const int maxclen,  
					 const int evol, const int width,  
					 struct bitinstatus *bs); 
 
/* zwolnienie pamieci, rodziny kodow, ew. flush bitfile */ 
void statfreedecoder(); 
 
/* przeprowadz kompresje zmieniajac wmidx, wskaznik do tablicy pikseli i jej dlugosc */ 
void statcompressrow(PIXEL context, const PIXEL * uncompressedrow, unsigned int width, 
					 BYTE * compressedrow, unsigned int * fullbytes, unsigned int * bitsused); 
void statcompressrow8bpp(BYTE context, const BYTE * uncompressedrow, unsigned int width, 
					     BYTE * compressedrow, unsigned int * fullbytes, unsigned int * bitsused); 
 
/* przeprowadz dekompresje zmieniajac wmidx, wskaznik do tablicy pikseli i jej dlugosc */ 
/* zwroc 0-ok, 1-blad */ 
int statdecompressrow(PIXEL context, PIXEL * uncompressedrow, unsigned int width, struct bitinstatus *bs); 
 
#endif