private static int CompressStream(ref CompressionParameters parameters, ISequentialStream input, ISequentialStream output) { if (IntPtr.Size == 4) { return(CompressStream86(ref parameters, input, output)); } return(CompressStream64(ref parameters, input, output)); }
public static CompressionParameters CreateDefaultParameters() { var parameters = new CompressionParameters(); parameters.Quality = 11; parameters.LgWin = 22; parameters.EnableDictionary = true; parameters.EnableContextModeling = true; return(parameters); }
public static CompressionParameters CreateDefaultParameters() { var parameters = new CompressionParameters { Quality = 11, LgWin = 22, EnableDictionary = true, EnableContextModeling = true }; return(parameters); }
private static void ValidateParameters(CompressionParameters parameters) { if (parameters.Quality < 0 || parameters.Quality > 11) { throw new BrotliException("Invalid parameter. Quality range is 0 to 11."); } if (parameters.LgWin < 10 || parameters.LgWin > 24) { throw new BrotliException("Invalid parameter. LgWin range is 10 to 24."); } if (parameters.LgBlock != 0 && (parameters.LgBlock < 16 || parameters.LgBlock > 24)) { throw new BrotliException("Invalid parameter. LgBlock range is 0 or 16 to 24."); } }
public static void Compress(CompressionParameters parameters, string inputFilePath, string outputFilePath) { if (inputFilePath == null) { throw new ArgumentNullException(nameof(inputFilePath)); } if (outputFilePath == null) { throw new ArgumentNullException(nameof(outputFilePath)); } using (var input = new FileStream(inputFilePath, FileMode.Open, FileAccess.Read, FileShare.Write)) { using (var output = new FileStream(outputFilePath, FileMode.Create, FileAccess.Write, FileShare.None)) { Compress(parameters, input, output); } } }
public static void Compress(CompressionParameters parameters, Stream input, Stream output) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } ValidateParameters(parameters); var inputStream = new SequentialStream(input); var outputStream = new SequentialStream(output); int ok = CompressStream(ref parameters, inputStream, outputStream); if (ok == 0) { throw new BrotliException(); } }
private static extern int CompressStream64(ref CompressionParameters parameters, ISequentialStream input, ISequentialStream output);