rangecoderopt.h

来自「sleuthit-2.09 一个磁盘的工具集」· C头文件 代码 · 共 32 行

H
32
字号
// Compress/RangeCoder/RangeCoderOpt.h#ifndef __COMPRESS_RANGECODER_OPT_H#define __COMPRESS_RANGECODER_OPT_H#define RC_INIT_VAR \  UInt32 range = rangeDecoder->Range; \  UInt32 code = rangeDecoder->Code;        #define RC_FLUSH_VAR \  rangeDecoder->Range = range; \  rangeDecoder->Code = code;#define RC_NORMALIZE \  if (range < NCompress::NRangeCoder::kTopValue) \    { code = (code << 8) | rangeDecoder->Stream.ReadByte(); range <<= 8; }#define RC_GETBIT2(numMoveBits, prob, mi, A0, A1) \  { UInt32 bound = (range >> NCompress::NRangeCoder::kNumBitModelTotalBits) * prob; \  if (code < bound) \  { A0; range = bound; \    prob += (NCompress::NRangeCoder::kBitModelTotal - prob) >> numMoveBits; \    mi <<= 1; } \  else \  { A1; range -= bound; code -= bound; prob -= (prob) >> numMoveBits; \    mi = (mi + mi) + 1; }} \  RC_NORMALIZE#define RC_GETBIT(numMoveBits, prob, mi) RC_GETBIT2(numMoveBits, prob, mi, ; , ;)#endif

⌨️ 快捷键说明

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