Learn/Remade with Rust

rusty_png And rusty_jpeg — The Image Stack Remade In Rust

rusty_png decodes 2.7–2.9× faster than FFmpeg; rusty_jpeg encodes 1.19× faster at matched size. Memory-safe image codecs, no C, plus rusty_gif.

Signed by M·
Vintage film camera resting on a wooden table beside scattered photographic prints

A malicious image is still the cheapest remote exploit on the internet. Every OS thumbnail, every chat preview, every browser tab runs a PNG or JPEG decoder written in C. One flaw is every product that linked it. FFmpeg's image path is the same story with more formats. The industry treats this as weather.

rusty_png and rusty_jpeg are memory-safe image codecs: PNG and JPEG remade in Rust, no C. rusty_png decodes 2.7–2.9× faster than FFmpeg, encodes up to 1.17× faster, and can land up to 6.0% smaller. rusty_jpeg encodes 1.19× faster than FFmpeg at matched size and decodes 1.05× faster. rusty_gif sits beside them — 1.5–2.5× encode, higher PSNR. The catalog is Remade with Rust. The thesis is rebuilding the foundation of the internet. This article is the still-image stack.

Why rusty_png Leads Memory-Safe Image Codecs

PNG is the lossless default. JPEG is the photo default. Together they are the image internet. A crafted chunk or a crafted Huffman stream is a parser on untrusted bytes — the CVE class the NIST Secure Software Development Framework keeps pointing at. rusty_png is how that class leaves PNG. rusty_jpeg is how it leaves JPEG. Memory-safe image codecs mean the thumbnailer is Rust.

A crate that calls libpng over FFI has not remade PNG. rusty_png is the remake. rusty_jpeg is the JPEG remake. Speed is the Incentive that makes the remake stick.

Trust, Security, and Incentive fail when "we show the image" still means libpng. Trust fails when the preview boarded a cloud renderer. Security fails when the decoder is C. Incentive fails when the safer path is slower. rusty_png is how those three primitives apply to a still.

What rusty_png And rusty_jpeg Ship

The numbers below are the ones we publish. They are not a press-embargoed "10×." rusty_png and rusty_jpeg are memory-safe image codecs measured against FFmpeg, because FFmpeg is the binary people already have.

rusty_png Decode And Encode Versus FFmpeg

rusty_png decodes 2.7–2.9× faster than FFmpeg. Encode is up to 1.17× faster, and up to 6.0% smaller. That is a decode blowout and an encode win you can take to a mesh node. Memory-safe image codecs that lose on the thumbnail path do not replace libpng. rusty_png wins the path that runs most often — open the file, show the pixels.

rusty_jpeg is the photo sibling. Do not quote the PNG number for JPEG. Do not quote the JPEG number for PNG.

rusty_jpeg At Matched Size, Plus rusty_gif

rusty_jpeg encodes 1.19× faster than FFmpeg at matched size. Decode is 1.05× faster. Matched size is the honest comparison — anyone can "win" encode by crushing quality. rusty_jpeg does not. rusty_gif encodes 1.5–2.5× faster with higher PSNR. The still-image stack is three crates: rusty_png, rusty_jpeg, rusty_gif. Memory-safe image codecs for the three formats the web actually sends.

They sit inside remade_ffmpeg_rs so a pipeline can open a PNG without a C image library hiding in the graph.

No C In rusty_png, rusty_jpeg, Or rusty_gif

No C is the deploy. wasm32 has no C toolchain. A distributed cloud node has none you control. rusty_png is how PNG still compiles. rusty_jpeg is how JPEG still compiles. The Electronic Frontier Foundation has documented how "the photo stayed on device" claims collapse when the helper still uploads to a hosted renderer. Memory-safe image codecs keep the photo.

AI on the edge still needs to open a frame. Sometimes that frame is a PNG screenshot. rusty_png is that door.

How rusty_png Feeds The Distributed Cloud

A mesh that cannot decode a PNG on the node uploads the screenshot. rusty_png is how memory-safe image codecs become a node capability.

Trust The Still, Secure The Decoder

Trust is a photo that stayed yours. Security is rusty_png and rusty_jpeg — memory-safe image codecs, compile-time refusal of the overflow class. Incentive is the speed table above. The NIST Zero Trust Architecture tells operators to stop trusting the perimeter. rusty_png is how you stop trusting the chunk parser as well.

The Freedom Guide is local-first steps. Avatars and scans in that guide should not need libjpeg. rusty_jpeg is the remake.

Disco Party Thumbnails And Era-Shaped Photos

Disco Party places files on the mesh. Thumbnails are the first decode. rusty_png is that decode for PNG. rusty_jpeg is that decode for photos. Era 1 stores the still. Era 4 captures it. Rust on Arduino is the board that took the JPEG. Memory-safe image codecs sit under both.

The FTC cares when "we needed the cloud to show the image." rusty_png deletes that excuse.

The Catalog Entry For rusty_png

Source lives under github.com/Remade-With-Rust. Cards and shipping status live on the Remade with Rust catalog — rusty_png, rusty_jpeg, rusty_gif, remade_ffmpeg_rs. The mesh these memory-safe image codecs feed is what a distributed cloud is and the Disco Party. Digital Freedom is Trust, Security, and Incentive.

If you came from the Learn index looking for rusty_png, this is the crate — and rusty_jpeg is the sibling. If you came from libpng or libjpeg, these are the remakes. No C. Faster where it counts. The internet you want to own still sends pictures. rusty_png is how that sentence stays true without the C.

Video next to these stills is rusty_h264. The pipeline that muxes them is remade_ffmpeg_rs. Owning the prints instead of renting the library is stop renting your own photos.