⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 context.h

📁 傅立叶变换和小波变换是图像压缩的重要工具。该代大戏是利用小波变换进行图像压缩。
💻 H
字号:
#ifndef CRB_CONTEXT_H
#define CRB_CONTEXt_H

#include <crblib/arithc.h>

typedef struct { int private; } context;

extern context * contextCreate(arithInfo * arithinfo,int alphabet_size);
extern context * contextCreateMax(arithInfo * arithinfo,int length,int totalMax);
extern bool contextEncode(context *pContext, int symbol); 	/* returns "was char written?" */
extern int  contextDecode(context *pContext); 							/* returns -1 for escape; after escape you MUST call contextAdd! */
extern void contextAdd   (context *pContext, int symbol); 	/* same as Decode_GotC */
extern void contextHalve (context *pContext); 							/* halve counts */
extern void contextFree  (context *pContext); 							/* purge */
extern bool contextHas   (context *pContext,int symbol);

extern bool contextEncodeNoAddIfEsc(context *pContext, int symbol);

/******** not for the general public: ********/

extern void contextGetInterval(context *pContext, int *pLow, int *pHigh, int symbol);
	// pass symbol+1 to GetInterval!!
extern int contextGetCumProb(context *pContext,int symbol); 
extern int contextGetProb(context *pContext,int symbol); 

/******** same as normal encode/decode , but use cap as NumSymbols;
		i.e. symbol < cap always *******/

extern bool contextEncodeCapped(context *pContext, int symbol,int cap);
extern int contextDecodeCapped(context *pContext,int cap);

#endif

⌨️ 快捷键说明

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