Пример #1
0
            public uint Decode(SevenZip.Compression.RangeCoder.Decoder rangeDecoder, uint posState)
            {
                if (m_Choice.Decode(rangeDecoder) == 0)
                {
                    return(m_LowCoder[posState].Decode(rangeDecoder));
                }

                uint num = 8u;

                if (m_Choice2.Decode(rangeDecoder) == 0)
                {
                    return(num + m_MidCoder[posState].Decode(rangeDecoder));
                }

                num += 8;
                return(num + m_HighCoder.Decode(rangeDecoder));
            }
Пример #2
0
 /// <summary>
 /// Decodes the stream
 /// </summary>
 /// <param name="rangeDecoder">The specified RangeCoder</param>
 /// <param name="posState">The position state</param>
 /// <returns></returns>
 public uint Decode(RangeCoder.Decoder rangeDecoder, uint posState)
 {
     if (m_Choice.Decode(rangeDecoder) == 0)
         return m_LowCoder[posState].Decode(rangeDecoder);
     else
     {
         uint symbol = Base.kNumLowLenSymbols;
         if (m_Choice2.Decode(rangeDecoder) == 0)
             symbol += m_MidCoder[posState].Decode(rangeDecoder);
         else
         {
             symbol += Base.kNumMidLenSymbols;
             symbol += m_HighCoder.Decode(rangeDecoder);
         }
         return symbol;
     }
 }
Пример #3
0
            public uint Decode(RangeCoder.Decoder rangeDecoder, uint posState)
            {
                if (_mChoice.Decode(rangeDecoder) == 0)
                {
                    return(_mLowCoder[posState].Decode(rangeDecoder));
                }
                var symbol = Base.KNumLowLenSymbols;

                if (_mChoice2.Decode(rangeDecoder) == 0)
                {
                    symbol += _mMidCoder[posState].Decode(rangeDecoder);
                }
                else
                {
                    symbol += Base.KNumMidLenSymbols;
                    symbol += _mHighCoder.Decode(rangeDecoder);
                }
                return(symbol);
            }
Пример #4
0
            public uint Decode(RangeCoder.Decoder rangeDecoder, uint posState)
            {
                if (_choice.Decode(rangeDecoder) == 0)
                {
                    return(_lowCoder[posState].Decode(rangeDecoder));
                }
                uint symbol = Base.K_NUM_LOW_LEN_SYMBOLS;

                if (_choice2.Decode(rangeDecoder) == 0)
                {
                    symbol += _midCoder[posState].Decode(rangeDecoder);
                }
                else
                {
                    symbol += Base.K_NUM_MID_LEN_SYMBOLS;
                    symbol += _highCoder.Decode(rangeDecoder);
                }
                return(symbol);
            }
Пример #5
0
                public uint Decode(Decoder rangeDecoder, uint posState)
                {
                    if (m_Choice.Decode(rangeDecoder) == 0)
                    {
                        return(m_LowCoder[posState].Decode(rangeDecoder));
                    }
                    uint symbol = kNumLowLenSymbols;

                    if (m_Choice2.Decode(rangeDecoder) == 0)
                    {
                        symbol += m_MidCoder[posState].Decode(rangeDecoder);
                    }
                    else
                    {
                        symbol += kNumMidLenSymbols;
                        symbol += m_HighCoder.Decode(rangeDecoder);
                    }
                    return(symbol);
                }
Пример #6
0
 public uint Decode(SevenZip.Compression.RangeCoder.Decoder rangeDecoder, uint posState)
 {
     if (m_Choice.Decode(rangeDecoder) == 0)
     {
         return(m_LowCoder[posState].Decode(rangeDecoder));
     }
     else
     {
         uint symbol = Base.kNumLowLenSymbols;
         if (m_Choice2.Decode(rangeDecoder) == 0)
         {
             symbol += m_MidCoder[posState].Decode(rangeDecoder);
         }
         else
         {
             symbol += Base.kNumMidLenSymbols;
             symbol += m_HighCoder.Decode(rangeDecoder);
         }
         return(symbol);
     }
 }
Пример #7
0
 public uint Decode(RangeCoder.Decoder rangeDecoder, uint posState)
 {
     if (_choice.Decode(rangeDecoder) == 0)
     {
         return(_lowCoder[posState].Decode(rangeDecoder));
     }
     else
     {
         uint symbol = Base.kNumLowLenSymbols;
         if (_choice2.Decode(rangeDecoder) == 0)
         {
             symbol += _midCoder[posState].Decode(rangeDecoder);
         }
         else
         {
             symbol += Base.kNumMidLenSymbols;
             symbol += _highCoder.Decode(rangeDecoder);
         }
         return(symbol);
     }
 }
Пример #8
0
 public uint Decode(global::Legendigital.Framework.Common.SevenZip.Compress.RangeCoder.Decoder rangeDecoder, uint posState)
 {
     if (m_Choice.Decode(rangeDecoder) == 0)
     {
         return(m_LowCoder[posState].Decode(rangeDecoder));
     }
     else
     {
         uint symbol = Base.kNumLowLenSymbols;
         if (m_Choice2.Decode(rangeDecoder) == 0)
         {
             symbol += m_MidCoder[posState].Decode(rangeDecoder);
         }
         else
         {
             symbol += Base.kNumMidLenSymbols;
             symbol += m_HighCoder.Decode(rangeDecoder);
         }
         return(symbol);
     }
 }