private void Init()
{
lzma_ret ret = XZUtils.CreateEncoder(_lzma_stream, _threads, _preset);
if (ret != lzma_ret.LZMA_OK)
throw new Exception($"Can not create lzma stream: {ret}");
_inbuf = Marshal.AllocHGlobal(BUFSIZE);
_outbuf = Marshal.AllocHGlobal(BUFSIZE);
// init lzma_stream
_lzma_stream.next_in = _inbuf;
_lzma_stream.next_out = _outbuf;
_lzma_stream.avail_in = UIntPtr.Zero;
_lzma_stream.avail_out = (UIntPtr)BUFSIZE;
}