void Init(System.IO.Stream inStream, System.IO.Stream outStream) { m_RangeDecoder.Init(inStream); m_OutWindow.Init(outStream, _solid); uint i; for (i = 0; i < LZMABase.kNumStates; i++) { for (uint j = 0; j <= m_PosStateMask; j++) { uint index = (i << LZMABase.kNumPosStatesBitsMax) + j; m_IsMatchDecoders[index].Init(); m_IsRep0LongDecoders[index].Init(); } m_IsRepDecoders[i].Init(); m_IsRepG0Decoders[i].Init(); m_IsRepG1Decoders[i].Init(); m_IsRepG2Decoders[i].Init(); } m_LiteralDecoder.Init(); for (i = 0; i < LZMABase.kNumLenToPosStates; i++) { m_PosSlotDecoder[i].Init(); } for (i = 0; i < LZMABase.kNumFullDistances - LZMABase.kEndPosModelIndex; i++) { m_PosDecoders[i].Init(); } m_LenDecoder.Init(); m_RepLenDecoder.Init(); m_PosAlignDecoder.Init(); }