Tag: Open-Source

JPEG XL vs AVIF: A Comparison

An unscientific analysis of these two image formats based on file size and image quality.

12 minute read

Edit (2023-03-30): Added a couple extra images to test for high-quality encoding and illustrations. Introduce SSIM and MSE measures.

Edit (2023-03-03): Fixed mistake, as AVIF does in fact NOT support progressive decoding.

Edit (2024-01-24): Following a comment on Mastodon, I have added a reference on the good performance of lossless WebP.

  Disclaimer

This is a subjective look at JPEG XL and AVIF. All comparisons in this post (except the ones using SSIM and MSE) are perceptual and based on my own opinion only. This is not a scientific study! I just grabbed a bunch of images, encoded them and looked at the results. For a more careful and methodical comparison between these formats (and more), have a look at CID22.

JPEG XL and AVIF are arguably the two main contenders in the battle to replace JPEG as the next-generation image format. There are other formats in the race, like HEIC and WebP 2, but the former is subject to licensing patents (and possibly not royalty-free), and the second is still in development and seems that it may never see the light of day as a production-ready image format anyway. The original WebP is not even a contender as it is inferior to AVIF in almost all aspects1 (although it may be ok in lossless compression2), and you should probably never use it for photography anyway3, or at all if you are not ok with mediocre image quality.4

First, a quick browser support test:

If you are browsing this page around 2023, chances are that your browser supports AVIF but does not support JPEG XL. This is mainly due to the Chrome team dropping support for JPEGL XL against the opinion the community at large. In this post, I hope to convince you why this is a bad move. Below, I perform a quick analysis of lossless and lossy compression with JPEG XL and AVIF, and evaluate how they fare in terms of file size and visual quality.

Google Kills JPEG XL

Why Google controlling Chrome/Blink development is bad for everyone

4 minute read

The web is currently based around the JPEG, PNG and GIF image formats. These are all very old and suboptimal formats which were never designed in the first place with the modern web in mind. A few newer competing formats have popped up recently, aiming to dethrone the original trio to postulate themselves as the standard web image format of the future. These are, essentially, WebP (.webp extension), developed by Google and hated by almost everyone else, AVIF (.avif extension), based on the AV1 container and developed by the ‘Alliance for Open Media’, a conglomerate of big tech companies that are anything but open, and JPEG XL (.jxl extension), developed by the Joint Photographic Experts Group, the same people that developed the original JPEG.

So what’s the fuss all about? Recently, Google decided to kill JPEG XL support in Chrome. A full report follows.

Trying Out Sway and Wayland

Is Wayland ready for prime time yet? Find out here.

5 minute read

Wayland is a modern display server protocol that will eventually replace X11. It is still not quite a hundred percent there, but it has been improving steadily and gaining ground over the past years. It is expected to become the new default display server on Linux systems at some point in the near future… Whatever near means in that context.

This past weekend I had some time to play around with Sway, a window manager and Wayland compositor that mimics i3. How did it go?

Searx: Moving Away From DuckDuckGo

The metasearch engine open source project Searx might be what you are looking for in terms of private web search

3 minute read

I have been using DuckDuckGo as my search engine of choice for the last few years. Howerver, DuckDuckGo seems to have a few problems:

  1. It is based in the US, arguably not the most privacy-respecting jurisdiction in the world.
  2. Only part of their source code is open.
  3. Uses Amazon Web Services (AWS) as a cloud provider and Cloudfare CDS.
  4. It looks like their browser was caught tracking visited websites per user.
  5. At the end of the day, you can’t really know that they are telling the truth when they promise not to track you.

In this post, I’m discussing Searx, a better alternative to DuckDuckGo that is truly open and driven by the community.

1 minute read

A while ago Erwan Leroy, a VFX professional and trainer, contacted me with some questions regarding the catalogs in Gaia Sky. Basically, he was trying to decode the binary format used in Gaia Sky to load the stars using a Python script. Of course, my documentation was lacking in that very aspect, so I walked him through the format and then improved the docs.

Today, he has come back to me to share his results. Turns out he was trying to replicate an astrophoto with rotation star trails using his visual effects skills. And he came pretty damn close, I might add. I read the article and liked it, so I am sharing it here: Rendering a plausible night sky.

Transmission, a CLI Torrent Manager

How to use transmission from CLI and remotely

3 minute read

Pirate

At home, I have a scrawny HTPC called chimp in my living room connected to the TV —as I don’t own a Smart TV for good reasons—. Even though I have a NAS in the network capable of serving media, I connected a dedicated external disk directly to chimp because my stock router is not the fastest around. Whenever I use the HTPC, I use it remotely from either my desktop, bonobo, or my laptop, simian. Sometimes I need to fetch torrents and download them to the disk connected to the HTPC. Enter Transmission. Transmission is a somewhat popular BitTorrent client that includes a ‘hidden’ command line interface which is very, very useful and simple to use. Learn to use it and you will probably never want to open a GUI torrent client ever again.

Website design by myself. See the privacy policy.
Content licensed under CC-BY-NC-SA 4.0 .