huffa.h

来自「傅立叶变换和小波变换是图像压缩的重要工具。该代大戏是利用小波变换进行图像压缩。」· C头文件 代码 · 共 44 行

H
44
字号
#ifndef CRB_HUFFA_H
#define CRB_HUFFA_H

/** 

	HuffArray:

	calls O0Huff and O1Huff and uses best of two

	returns true = success
				false = failure
	CompressFlag = true to pack , false to unpack
**/

extern bool HuffArray(ubyte *RawArray,ulong RawFileLen,
					 ubyte *HuffArray,ulong * HuffArrayLenPtr,int Type);

#define HUFFA_TYPE_BEST -1
#define HUFFA_TYPE_DEC  0 /* 0 for backwards compatibility */
#define HUFFA_TYPE_O1   1
#define HUFFA_TYPE_O0   2
#define HUFFA_TYPE_O0NB 3 /* no blocking */
#define HUFFA_TYPE_NONE 4

/** you should always use HuffArray with TYPE setting, instead of
the below.  They are provided as APIs just for completeness **/

extern bool O0HuffArray(ubyte *RawArray,ulong RawFileLen,
					 ubyte *HuffArray,ulong * HuffArrayLenPtr,bool CompressFlag);

extern bool O0HuffArrayNoBlock(ubyte *RawArray,ulong RawFileLen,
					 ubyte *HuffArray,ulong * HuffArrayLenPtr,bool CompressFlag);

extern bool O1HuffArray(ubyte *RawArray,ulong RawFileLen,
					 ubyte *HuffArray,ulong * HuffArrayLenPtr,bool CompressFlag);

extern bool O0HuffArrayBII_RT(ubyte *rawArray,ulong rawLen,struct LBitIOInfo * BII,bool cFlag);
extern bool O0HuffArrayBII(ubyte *RawArray,ulong RawLen,struct LBitIOInfo * BII,bool CompressFlag);
extern bool O0HuffArrayBII_block(ubyte *RawArray,ulong RawLen,struct LBitIOInfo * BII,bool CompressFlag);
extern bool O0HuffArrayBII_noblock(ubyte *RawArray,ulong RawLen,struct LBitIOInfo * BII,bool CompressFlag);

#endif

⌨️ 快捷键说明

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