summaryrefslogtreecommitdiffstats
path: root/hostTools/lzma/decompress/RCDefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'hostTools/lzma/decompress/RCDefs.h')
-rw-r--r--hostTools/lzma/decompress/RCDefs.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/hostTools/lzma/decompress/RCDefs.h b/hostTools/lzma/decompress/RCDefs.h
new file mode 100644
index 0000000..f260ab4
--- /dev/null
+++ b/hostTools/lzma/decompress/RCDefs.h
@@ -0,0 +1,43 @@
+#ifndef __RCDEFS_H
+#define __RCDEFS_H
+
+#include "AriBitCoder.h"
+
+/*
+#define RC_INIT_VAR \
+ UINT32 aRange = aRangeDecoder->m_Range; \
+ UINT32 aCode = aRangeDecoder->m_Code;
+
+#define RC_FLUSH_VAR \
+ aRangeDecoder->m_Range = aRange; \
+ aRangeDecoder->m_Code = aCode;
+*/
+
+
+#if 1
+#define RC_GETBIT2(aNumMoveBits, aProb, aModelIndex, Action0, Action1) \
+ {UINT32 aNewBound = (aRange >> kNumBitModelTotalBits) * aProb; \
+ if (aCode < aNewBound) \
+ { \
+ Action0; \
+ aRange = aNewBound; \
+ aProb += (kBitModelTotal - aProb) >> aNumMoveBits; \
+ aModelIndex <<= 1; \
+ } \
+ else \
+ { \
+ Action1; \
+ aRange -= aNewBound; \
+ aCode -= aNewBound; \
+ aProb -= (aProb) >> aNumMoveBits; \
+ aModelIndex = (aModelIndex << 1) + 1; \
+ }} \
+ if (aRange < kTopValue) \
+ { \
+ aCode = (aCode << 8) | InStreamReadByte(in_stream); \
+ aRange <<= 8; }
+
+#define RC_GETBIT(aNumMoveBits, aProb, aModelIndex) RC_GETBIT2(aNumMoveBits, aProb, aModelIndex, ; , ;)
+#endif
+
+#endif