diff options
Diffstat (limited to 'CPP/7zip/Common/LSBFDecoder.cpp')
-rwxr-xr-x | CPP/7zip/Common/LSBFDecoder.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/CPP/7zip/Common/LSBFDecoder.cpp b/CPP/7zip/Common/LSBFDecoder.cpp new file mode 100755 index 00000000..76dd090f --- /dev/null +++ b/CPP/7zip/Common/LSBFDecoder.cpp @@ -0,0 +1,27 @@ +// Stream/LSBFDecoder.cpp + +#include "StdAfx.h" + +#include "LSBFDecoder.h" + +namespace NStream { +namespace NLSBF { + +Byte kInvertTable[256]; + +class CInverterTableInitializer +{ +public: + CInverterTableInitializer() + { + for (int i = 0; i < 256; i++) + { + int x = ((i & 0x55) << 1) | ((i & 0xAA) >> 1); + x = ((x & 0x33) << 2) | ((x & 0xCC) >> 2); + kInvertTable[i] = (Byte)(((x & 0x0F) << 4) | ((x & 0xF0) >> 4)); + } + } +} g_InverterTableInitializer; + + +}} |