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