www.pudn.com > sfalic-03-src.rar.rar > cfamily.h
#ifndef __CFAMILY_H #define __CFAMILY_H #include#include "cdftypes.h" /* rodzina kodow */ /* modul podrzedny dla cdfstat */ /* bitowe i/o (juz tylko i) */ struct bitinstatus { unsigned bits; // bufor zawsze zawierajacy 32 bity z wejscia unsigned thebyte; // aktualny bajt unsigned inthebyte; // ile bitow z aktualnego bajta jeszcze nie w buforze bits BYTE * readptr; // wskaznik na nastepny bajt do odczytu }; /* inicjalizacja odczytu bitowego */ void bitinstatusinit(struct bitinstatus * bs); /* rodzina kodow */ /* inicjalizacja rodziny kodow wylicza progi dla wszystkich kodów */ /* inicjalizuje i wypelnia tablice kodow */ void familyinit(int bpp, int limit); /* zwolnienie struktur rodziny kodow*/ void familyfree(); /* argumenty wartosc do zakodowania:n, numer kodu:l, adres, gdzie nalezy zapisac slowo kodowe */ void GolombCoding(const unsigned int n, const unsigned int l, unsigned int * const codeword, unsigned int * const codewordlen); /* dlugosc slowa kodowego, argumenty jak wyzej */ unsigned int GolombCodeLen(const unsigned int n, const unsigned int l); /* dekodowanie, z odczytem z pliku inarnego */ /* argumenty: numer kodu:l, zmienna stanu bitowego wejscia:bs */ unsigned int GolombDecoding(const unsigned int l, struct bitinstatus * bs); #endif