| Index: third_party/lzma/v4_65/files/CPP/7zip/Compress/RangeCoderBit.h
|
| diff --git a/third_party/lzma/v4_65/files/CPP/7zip/Compress/RangeCoderBit.h b/third_party/lzma/v4_65/files/CPP/7zip/Compress/RangeCoderBit.h
|
| deleted file mode 100644
|
| index 566cdd41d78ed48325bf00c213880240476e3bf8..0000000000000000000000000000000000000000
|
| --- a/third_party/lzma/v4_65/files/CPP/7zip/Compress/RangeCoderBit.h
|
| +++ /dev/null
|
| @@ -1,113 +0,0 @@
|
| -// Compress/RangeCoderBit.h
|
| -
|
| -#ifndef __COMPRESS_RANGE_CODER_BIT_H
|
| -#define __COMPRESS_RANGE_CODER_BIT_H
|
| -
|
| -#include "RangeCoder.h"
|
| -
|
| -namespace NCompress {
|
| -namespace NRangeCoder {
|
| -
|
| -const int kNumBitModelTotalBits = 11;
|
| -const UInt32 kBitModelTotal = (1 << kNumBitModelTotalBits);
|
| -
|
| -const int kNumMoveReducingBits = 4;
|
| -
|
| -const int kNumBitPriceShiftBits = 4;
|
| -const UInt32 kBitPrice = 1 << kNumBitPriceShiftBits;
|
| -
|
| -extern UInt32 ProbPrices[kBitModelTotal >> kNumMoveReducingBits];
|
| -
|
| -template <int numMoveBits>
|
| -class CBitModel
|
| -{
|
| -public:
|
| - UInt32 Prob;
|
| - void UpdateModel(UInt32 symbol)
|
| - {
|
| - /*
|
| - Prob -= (Prob + ((symbol - 1) & ((1 << numMoveBits) - 1))) >> numMoveBits;
|
| - Prob += (1 - symbol) << (kNumBitModelTotalBits - numMoveBits);
|
| - */
|
| - if (symbol == 0)
|
| - Prob += (kBitModelTotal - Prob) >> numMoveBits;
|
| - else
|
| - Prob -= (Prob) >> numMoveBits;
|
| - }
|
| -public:
|
| - void Init() { Prob = kBitModelTotal / 2; }
|
| -};
|
| -
|
| -template <int numMoveBits>
|
| -class CBitEncoder: public CBitModel<numMoveBits>
|
| -{
|
| -public:
|
| - void Encode(CEncoder *encoder, UInt32 symbol)
|
| - {
|
| - /*
|
| - encoder->EncodeBit(this->Prob, kNumBitModelTotalBits, symbol);
|
| - this->UpdateModel(symbol);
|
| - */
|
| - UInt32 newBound = (encoder->Range >> kNumBitModelTotalBits) * this->Prob;
|
| - if (symbol == 0)
|
| - {
|
| - encoder->Range = newBound;
|
| - this->Prob += (kBitModelTotal - this->Prob) >> numMoveBits;
|
| - }
|
| - else
|
| - {
|
| - encoder->Low += newBound;
|
| - encoder->Range -= newBound;
|
| - this->Prob -= (this->Prob) >> numMoveBits;
|
| - }
|
| - if (encoder->Range < kTopValue)
|
| - {
|
| - encoder->Range <<= 8;
|
| - encoder->ShiftLow();
|
| - }
|
| - }
|
| - UInt32 GetPrice(UInt32 symbol) const
|
| - {
|
| - return ProbPrices[(this->Prob ^ ((-(int)symbol)) & (kBitModelTotal - 1)) >> kNumMoveReducingBits];
|
| - }
|
| - UInt32 GetPrice0() const { return ProbPrices[this->Prob >> kNumMoveReducingBits]; }
|
| - UInt32 GetPrice1() const { return ProbPrices[(this->Prob ^ (kBitModelTotal - 1)) >> kNumMoveReducingBits]; }
|
| -};
|
| -
|
| -
|
| -template <int numMoveBits>
|
| -class CBitDecoder: public CBitModel<numMoveBits>
|
| -{
|
| -public:
|
| - UInt32 Decode(CDecoder *decoder)
|
| - {
|
| - UInt32 newBound = (decoder->Range >> kNumBitModelTotalBits) * this->Prob;
|
| - if (decoder->Code < newBound)
|
| - {
|
| - decoder->Range = newBound;
|
| - this->Prob += (kBitModelTotal - this->Prob) >> numMoveBits;
|
| - if (decoder->Range < kTopValue)
|
| - {
|
| - decoder->Code = (decoder->Code << 8) | decoder->Stream.ReadByte();
|
| - decoder->Range <<= 8;
|
| - }
|
| - return 0;
|
| - }
|
| - else
|
| - {
|
| - decoder->Range -= newBound;
|
| - decoder->Code -= newBound;
|
| - this->Prob -= (this->Prob) >> numMoveBits;
|
| - if (decoder->Range < kTopValue)
|
| - {
|
| - decoder->Code = (decoder->Code << 8) | decoder->Stream.ReadByte();
|
| - decoder->Range <<= 8;
|
| - }
|
| - return 1;
|
| - }
|
| - }
|
| -};
|
| -
|
| -}}
|
| -
|
| -#endif
|
|
|