Fast-PNG: PNG image decoder and encoder

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. fast-png

    PNG image decoder and encoder written entirely in JavaScript

  2. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  3. stb

    stb single-file public domain libraries for C/C++

    stb_image is a single header image encoder/decoder that is used pretty widely across game development codebases. and it supports a ton of different formats.

    https://github.com/nothings/stb

  4. pako

    high speed zlib port to javascript, works in browser & node.js

    Looks like it depends on https://github.com/nodeca/pako for the zlib compression.

    > Almost as fast in modern JS engines as C implementation (see benchmarks).

    Impressive, although zlib itself is no longer the bar to beat for zlib, I think that goes to https://github.com/zlib-ng/zlib-ng these days

  5. zlib-ng

    zlib replacement with optimizations for "next generation" systems.

    Looks like it depends on https://github.com/nodeca/pako for the zlib compression.

    > Almost as fast in modern JS engines as C implementation (see benchmarks).

    Impressive, although zlib itself is no longer the bar to beat for zlib, I think that goes to https://github.com/zlib-ng/zlib-ng these days

  6. wuffs

    Wrangling Untrusted File Formats Safely

    wuffs has standalone C header for png decoding that is safe and very fast: https://github.com/google/wuffs/blob/main/doc/std/image-deco...

    There's also libspng, supports encoding & decoding, but it does not seem to be very maintained anymore, and it has extra dependency on zlib/miniz: https://github.com/randy408/libspng

  7. libspng

    Simple, modern libpng alternative

    wuffs has standalone C header for png decoding that is safe and very fast: https://github.com/google/wuffs/blob/main/doc/std/image-deco...

    There's also libspng, supports encoding & decoding, but it does not seem to be very maintained anymore, and it has extra dependency on zlib/miniz: https://github.com/randy408/libspng

  8. fpnge

    Demo of a fast PNG encoder.

    https://github.com/veluca93/fpnge is a very fast png encoder. Limited format support and a bit lower compression ratio, but runs significantly faster than alternatives. Here's presentation on it: https://www.lucaversari.it/FJXL_and_FPNGE.pdf

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. png-tools

    low-level PNG tools for JavaScript and Web

    Last time I benchmarked png-tools, it was about 2-6x faster than fast-png for encoding.

    https://github.com/mattdesl/png-tools

    I’ve also added some other features like multi-threaded encoding, cancellation, encoding physical dimensions, color profiles, all of which is useful for encoding large print-ready PNGs on the client.

  11. uttori-image-png

    A PNG Decoder and meta data reading utility.

    Nice! Remarkably similar to my own PNG implementation. I don't think I have pushed up the encoding work I did but should. I would highly recommend anyone / everyone to write a parser for a file format, you learn a lot. I also didn't implement the interlacing support.

    My goal was not to be fast however, but to just document a good reference and be able to come back to it and understand what it was doing and what I wrote.

    https://github.com/uttori/uttori-image-png

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Collection of cross-platform one-file C/C++ libraries with no dependencies

    1 project | news.ycombinator.com | 10 Dec 2024
  • Reflections on Distrusting xz

    3 projects | news.ycombinator.com | 3 Apr 2024
  • VRipper, a Python script for extracting audio from V.Smile roms

    1 project | /r/vsmile | 6 Nov 2023
  • libpng VS libspng - a user suggested alternative

    2 projects | 30 Oct 2023
  • A CPU in Sunvox

    1 project | news.ycombinator.com | 18 Aug 2023

Did you know that C is
the 6th most popular programming language
based on number of references?