Example #1
0
 private void Init(byte[] inputBuffer, int startIndex)
 {
     this.lzmaState = new LzmaState();
     this.rangeDecoder.Init(inputBuffer, startIndex);
     for (uint index1 = 0; index1 < 12U; ++index1)
     {
         for (uint index2 = 0; index2 <= this.positionStateMask; ++index2)
         {
             uint num = (index1 << 4) + index2;
             this.matchDecoders[(IntPtr)num].Init();
             this.repeaterLongDecoders[(IntPtr)num].Init();
         }
         this.repeaterDecoders[(IntPtr)index1].Init();
         this.repeaterG0Decoders[(IntPtr)index1].Init();
         this.repeaterG1Decoders[(IntPtr)index1].Init();
         this.repeaterG2Decoders[(IntPtr)index1].Init();
     }
     this.literalDecoder.Init();
     for (uint index = 0; index < 4U; ++index)
     {
         this.positionSlotDecoder[(IntPtr)index].Init();
     }
     for (uint index = 0; index < 114U; ++index)
     {
         this.positionDecoders[(IntPtr)index].Init();
     }
     this.lengthDecoder.Init();
     this.repeaterLengthDecoder.Init();
     this.positionAlignDecoder.Init();
 }
Example #2
0
 private void DecompressPosSlotDecoder()
 {
     this.positionSlot = this.positionSlotDecoder[(IntPtr)LzmaState.GetLenToPosState(this.decodedLength)].Decode(this.rangeDecoder);
     if (this.rangeDecoder.InputRequired)
     {
         return;
     }
     this.decompressState = LzmaDecompressor.LzmaDecompressorState.PosSlotProcess;
 }