I am trying to decompress an LZMA bytes but it isn't really documented which sucks when I tried to decompress the bytes using a method I have seen in source code I got data error, I think the data error is due to dictionary size setting dictionary size for decoder is private only this method edits dictionary size
public void SetDecoderProperties(byte[] properties)
{
if (properties.Length < 5)
{
throw new InvalidParamException();
}
int lc = (int)(properties[0] % 9);
int num = (int)(properties[0] / 9);
int lp = num % 5;
int num2 = num / 5;
if (num2 > 4)
{
throw new InvalidParamException();
}
uint num3 = 0U;
for (int i = 0; i < 4; i++)
{
num3 += (uint)((uint)properties[1 + i] << i * 8);
}
this.SetDictionarySize(num3);
this.SetLiteralProperties(lp, lc);
this.SetPosBitsProperties(num2);
}
I don't think it is private to make it harder to use so there must be a reason why it asks for bytes instead of size of dictionary in int but I am confused how to use this any help on how to use this?