All Projects → schnaader → Precomp Cpp

schnaader / Precomp Cpp

Licence: apache-2.0
Precomp, C++ version - further compress already compressed files

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Precomp Cpp

Format parser
file metadata parsing, done cheap
Stars: ✭ 46 (-81.6%)
Mutual labels:  pdf, gif, mp3
Wavefile
Create, read and write wav files according to the specs. ⭐️ 🎶 ❤️
Stars: ✭ 100 (-60%)
Mutual labels:  command-line-tool, compression
Zippy
Pure Nim implementation of deflate, zlib, gzip and zip.
Stars: ✭ 88 (-64.8%)
Mutual labels:  zlib, compression
Georaptor
Python Geohash Compression Tool
Stars: ✭ 143 (-42.8%)
Mutual labels:  command-line-tool, compression
Abmediaview
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.
Stars: ✭ 79 (-68.4%)
Mutual labels:  gif, mp3
Denoflate
WebAssembly powered Deflate/Gzip/Zlib compression for Deno, written in Rust
Stars: ✭ 80 (-68%)
Mutual labels:  zlib, compression
Pyecharts Snapshot
renders the output of pyecharts as png, jpeg, gif, svg, eps, pdf and raw base64
Stars: ✭ 142 (-43.2%)
Mutual labels:  pdf, gif
Zlib Ng
zlib replacement with optimizations for "next generation" systems.
Stars: ✭ 807 (+222.8%)
Mutual labels:  zlib, compression
Uzlib
Radically unbloated DEFLATE/zlib/gzip compression/decompression library. Can decompress any gzip/zlib data, and offers simplified compressor which produces gzip-compatible output, while requiring much less resources (and providing less compression ratio of course).
Stars: ✭ 168 (-32.8%)
Mutual labels:  zlib, compression
Comics Downloader
tool to download comics and manga in pdf/epub/cbr/cbz from a website
Stars: ✭ 190 (-24%)
Mutual labels:  command-line-tool, pdf
Datacompression
Swift libcompression wrapper as an extension for the Data type (GZIP, ZLIB, LZFSE, LZMA, LZ4, deflate, RFC-1950, RFC-1951, RFC-1952)
Stars: ✭ 191 (-23.6%)
Mutual labels:  zlib, compression
Deprecated Lame Mirror
[DEPRECATED] Old, Semi-official mirror of the CVS repository of the LAME MP3 encoder.
Stars: ✭ 73 (-70.8%)
Mutual labels:  mp3, compression
Automator
Various Automator and AppleScript workflow and scripts for simplifying life
Stars: ✭ 68 (-72.8%)
Mutual labels:  pdf, jpg
Gifcompressor
An Android tool to compresses your GIFs into lightweight MP4 video using fast, hardware-accelerated encoders. Supports cropping, rotation, GIF concatenation and much more.
Stars: ✭ 85 (-66%)
Mutual labels:  gif, compression
Ccapture.js
A library to capture canvas-based animations at a fixed framerate
Stars: ✭ 2,836 (+1034.4%)
Mutual labels:  gif, jpg
Fast zlib
Heavily optimized zlib compression algorithm
Stars: ✭ 105 (-58%)
Mutual labels:  zlib, compression
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+204.8%)
Mutual labels:  gif, compression
Image Optimizer
Image optimization / compression library. This library is able to optimize png, jpg and gif files in very easy and handy way. It uses optipng, pngquant, pngcrush, pngout, gifsicle, jpegoptim and jpegtran tools.
Stars: ✭ 785 (+214%)
Mutual labels:  gif, jpg
Essential Image Optimization
Essential Image Optimization - an eBook
Stars: ✭ 1,950 (+680%)
Mutual labels:  gif, compression
Turbobench
Compression Benchmark
Stars: ✭ 211 (-15.6%)
Mutual labels:  zlib, compression

Precomp

Join the chat at https://gitter.im/schnaader/precomp-cpp Build Status Build status

Packaging status

What is Precomp?

Precomp is a command line precompressor that can be used to further compress files that are already compressed. It improves compression on some file-/streamtypes - works on files and streams that are compressed with zLib or the Deflate compression method (like PDF, PNG, ZIP and many more), bZip2, GIF, JPG and MP3. Precomp tries to decompress the streams, and if they can be decompressed and "re-"compressed so that they are bit-to-bit-identical with the original stream, the decompressed stream can be used instead of the compressed one.

The result of Precomp is either a smaller, LZMA2 compressed file with extension .pcf (PCF = PreCompressedFile) or, when using -cn, a file containing decompressed data from the original file together with reconstruction data. In this case, the file is larger than the original file, but can be compressed with any compression algorithm stronger than Deflate to get better compression.

Since version 0.4.3, Precomp is available for Linux/*nix/macOS, too. The different versions are completely compatible, PCF files are exchangeable between Windows/Linux/*nix/macOS systems.

Usage example

Command Comment
wget http://mattmahoney.net/dc/silesia.zip
(or download from here)
We want to compress this file (the Silesia compression corpus).
Size: 67,633,896 bytes (100,0%)
7z a -mx=9 silesia.7z silesia.zip Compressing with 7-Zip LZMA2, setting "Ultra".
Size: 67,405,052 bytes (99,7%)
precomp silesia.zip Compressing with Precomp results in silesia.pcf.
Size: 47,122,779 bytes (69,7%)
precomp -r -osilesia.zip_ silesia.pcf This restores the original file to a new file named silesia.zip_.
Without the -o parameter, Precomp would decompress to silesia.zip.
diff -s silesia.zip silesia.zip_ Compares the original file to the result file, they're identical

How can I contribute?

  • You can have a look at the Issue list
  • You can build the project or download the binaries (see below), run it on your system and report bugs or make enhancement proposals.

Releases/Binaries

Official GitHub releases for both Windows and Linux.

Alternative binary download of the latest official release for both Windows and Linux.

Binaries for older version can be found at this Google Drive folder.

Contact

Christian Schneider

[email protected]

http://schnaader.info

Donations

Donate

To donate, you can either use the donate button here, the one at the top of the page ("Sponsor") or the one on my homepage. You can also send bitcoins to

1KvQxn6KHp4tv92Z5Fy8dTPLz4XdosQpbz

Credits

Thanks for support, help and comments:

Legal stuff

License

Copyright 2006-2020 Christian Schneider

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].