cfamily.h

来自「一个简单而且快速的无损压缩算法。包含源代码实现」· C头文件 代码 · 共 46 行

H
46
字号
#ifndef __CFAMILY_H
#define __CFAMILY_H

#include <stdio.h>
#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體 */
/* 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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?