Re: rate distortion optimized (RDO) PNG encoder

Another repo I've put together is fpng, a very fast 24/32bpp PNG writer
that trades off some ratio for significantly faster compression:
https://github.com/richgel999/fpng

fpng.cpp vs. libpng: ~23x faster compression.
fpng.cpp vs. stb_image_write.h: 12-19x faster compression with roughly
5-11% avg. smaller files

fpng is mostly scalar code, i.e. it doesn't require SIMD instructions
(although it will exploit them if they are available). It was originally
intended to compete against QOI's compression speed. It would be
possible to add 64bpp support.

On Mon, Oct 30, 2023 at 11:47 AM Richard Geldreich <rich@binomial.info>
wrote:

> I mentioned this repo in today's meeting:
> https://github.com/richgel999/rdopng
>
> Example PNG images encoded in this way:
> https://github.com/richgel999/rdopng/wiki/Examples
>
> rdopng uses techniques from the video and GPU texture compression world to
> create substantially smaller true color (24bpp) or RGBA (32bpp) PNG's. It
> utilizes the Oklab colorspace to predict visual distortion, and a Deflate
> model to predict bitrate.
>
> It also supports RDO encoding to the .QOI and LZ4 image formats. The
> downside is slow encoding because the search space is large.
>
> -Rich
>
>

Received on Monday, 30 October 2023 17:11:58 UTC