use IO::Uncompress::Brotli;
GetOptions(
- 'c|custom-dictionary=s' => \(my $DICTIONARY),
'd|decompress' => \(my $DECOMPRESS),
'f|force' => \(my $FORCE),
'h|help' => \(my $HELP),
if( $HELP ) {
say "Usage: $0 [--force] [--quality n] [--decompress] [--input filename] [--output filename]".
- " [--repeat iters] [--verbose] [--window n] [--custom-dictionary filename] [--stream size]";
+ " [--repeat iters] [--verbose] [--window n] [--stream size]";
exit 1;
}
binmode $ofh;
if( $DECOMPRESS ) {
- if( $STREAM ) {
- my $bro = IO::Uncompress::Brotli->create();
- while( read $ifh, (my $buf), $STREAM ) {
- $decoded = $bro->decompress($buf);
- $total_size += bytes::length( $decoded );
- print $ofh $decoded;
- }
- }
- else {
- $encoded = read_file( $ifh );
- $decoded = unbro( $encoded );
+ $STREAM //= 4 * 1024 * 1024;
+ my $bro = IO::Uncompress::Brotli->create();
+ while( read $ifh, (my $buf), $STREAM ) {
+ $decoded = $bro->decompress($buf);
$total_size += bytes::length( $decoded );
- write_file( $ofh, $decoded );
+ print $ofh $decoded;
}
}
else {