mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-23 17:54:33 +00:00
Introduce end-of-line normalization
This commit is contained in:
@@ -1,55 +1,55 @@
|
||||
package SevenZip.Compression.RangeCoder;
|
||||
|
||||
public class BitTreeDecoder
|
||||
{
|
||||
short[] Models;
|
||||
int NumBitLevels;
|
||||
|
||||
public BitTreeDecoder(int numBitLevels)
|
||||
{
|
||||
NumBitLevels = numBitLevels;
|
||||
Models = new short[1 << numBitLevels];
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
Decoder.InitBitModels(Models);
|
||||
}
|
||||
|
||||
public int Decode(Decoder rangeDecoder) throws java.io.IOException
|
||||
{
|
||||
int m = 1;
|
||||
for (int bitIndex = NumBitLevels; bitIndex != 0; bitIndex--)
|
||||
m = (m << 1) + rangeDecoder.DecodeBit(Models, m);
|
||||
return m - (1 << NumBitLevels);
|
||||
}
|
||||
|
||||
public int ReverseDecode(Decoder rangeDecoder) throws java.io.IOException
|
||||
{
|
||||
int m = 1;
|
||||
int symbol = 0;
|
||||
for (int bitIndex = 0; bitIndex < NumBitLevels; bitIndex++)
|
||||
{
|
||||
int bit = rangeDecoder.DecodeBit(Models, m);
|
||||
m <<= 1;
|
||||
m += bit;
|
||||
symbol |= (bit << bitIndex);
|
||||
}
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public static int ReverseDecode(short[] Models, int startIndex,
|
||||
Decoder rangeDecoder, int NumBitLevels) throws java.io.IOException
|
||||
{
|
||||
int m = 1;
|
||||
int symbol = 0;
|
||||
for (int bitIndex = 0; bitIndex < NumBitLevels; bitIndex++)
|
||||
{
|
||||
int bit = rangeDecoder.DecodeBit(Models, startIndex + m);
|
||||
m <<= 1;
|
||||
m += bit;
|
||||
symbol |= (bit << bitIndex);
|
||||
}
|
||||
return symbol;
|
||||
}
|
||||
}
|
||||
package SevenZip.Compression.RangeCoder;
|
||||
|
||||
public class BitTreeDecoder
|
||||
{
|
||||
short[] Models;
|
||||
int NumBitLevels;
|
||||
|
||||
public BitTreeDecoder(int numBitLevels)
|
||||
{
|
||||
NumBitLevels = numBitLevels;
|
||||
Models = new short[1 << numBitLevels];
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
Decoder.InitBitModels(Models);
|
||||
}
|
||||
|
||||
public int Decode(Decoder rangeDecoder) throws java.io.IOException
|
||||
{
|
||||
int m = 1;
|
||||
for (int bitIndex = NumBitLevels; bitIndex != 0; bitIndex--)
|
||||
m = (m << 1) + rangeDecoder.DecodeBit(Models, m);
|
||||
return m - (1 << NumBitLevels);
|
||||
}
|
||||
|
||||
public int ReverseDecode(Decoder rangeDecoder) throws java.io.IOException
|
||||
{
|
||||
int m = 1;
|
||||
int symbol = 0;
|
||||
for (int bitIndex = 0; bitIndex < NumBitLevels; bitIndex++)
|
||||
{
|
||||
int bit = rangeDecoder.DecodeBit(Models, m);
|
||||
m <<= 1;
|
||||
m += bit;
|
||||
symbol |= (bit << bitIndex);
|
||||
}
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public static int ReverseDecode(short[] Models, int startIndex,
|
||||
Decoder rangeDecoder, int NumBitLevels) throws java.io.IOException
|
||||
{
|
||||
int m = 1;
|
||||
int symbol = 0;
|
||||
for (int bitIndex = 0; bitIndex < NumBitLevels; bitIndex++)
|
||||
{
|
||||
int bit = rangeDecoder.DecodeBit(Models, startIndex + m);
|
||||
m <<= 1;
|
||||
m += bit;
|
||||
symbol |= (bit << bitIndex);
|
||||
}
|
||||
return symbol;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user