/// <summary> /// Calculate approximate decoder memory usage of a preset /// </summary> /// <returns> /// Number of bytes of memory required to decompress a file that was compressed using the given preset. /// If an error occurs, for example due to unsupported preset, UINT64_MAX is returned. /// </returns> public static ulong DecoderMemUsage(LzmaCompLevel level, bool extremeFlag) { Manager.EnsureLoaded(); uint preset = XZCompressOptions.ToPreset(level, extremeFlag); return(Lib.LzmaEasyDecoderMemUsage(preset)); }
/// <summary> /// Calculate approximate memory usage of multithreaded .xz encoder /// </summary> /// <returns> /// Number of bytes of memory required for encoding with the given options. /// If an error occurs, for example due to unsupported preset or filter chain, UINT64_MAX is returned. /// </returns> public static ulong EncoderMultiMemUsage(LzmaCompLevel level, bool extremeFlag, int threads) { Manager.EnsureLoaded(); uint preset = XZCompressOptions.ToPreset(level, extremeFlag); LzmaMt mtOpts = LzmaMt.Create(preset, threads); return(Lib.LzmaStreamEncoderMtMemUsage(mtOpts)); }