libavif VS guetzli

Compare libavif vs guetzli and see what are their differences.

libavif

libavif - Library for encoding and decoding .avif files (by AOMediaCodec)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
libavif guetzli
44 10
1,370 12,881
4.0% 0.1%
9.7 0.0
about 10 hours ago about 1 year ago
C C++
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

libavif

Posts with mentions or reviews of libavif. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-12.
  • CVE-2023-4863: Heap buffer overflow in WebP (Chrome)
    18 projects | news.ycombinator.com | 12 Sep 2023
    It's 2023, surely this is not yet another bug related to memory unsafety that could be avoided if we'd stop writing critical code that deals with extremely complex untrusted input (media codecs) in memory unsafe languages?

    Yep, of course it is: https://github.com/webmproject/libwebp/commit/902bc919033134...

    I guess libwebp could be excused as it was started when there were no alternatives, but even for new projects today we're still committing the same mistake[1][2][3].

    [1] -- https://code.videolan.org/videolan/dav1d

    [2] -- https://github.com/AOMediaCodec/libavif

    [3] -- https://github.com/AOMediaCodec/libiamf

    Yep. Keep writing these in C; surely nothing will go wrong.

  • Libavif 1.0 Released
    1 project | news.ycombinator.com | 28 Aug 2023
  • Is there any clear documentation on how to make avif collections and how to read them?
    2 projects | /r/AV1 | 24 Apr 2023
    As far as I understand you are talking about this plugin. I don't know c++ and half of the code was like a black magic, but if I get it correctly, it encodes your images with libavif, and adds custom metadata ([solar/time of day] -> json -> base64).
  • FSF Slams Google over Dropping JPEG-XL in Chrome
    10 projects | news.ycombinator.com | 16 Apr 2023
    So a few dozen comments, but so far it doesn't look like any mention the immediate thing that jumped out at me which was the claims vs AVIF:

    >"In turn, what users will be given is yet another facet of the web that Google itself controls: the AVIF format."

    Huh? I'll admit I haven't been following codecs as super ultra closely as I used to, but I thought AOM was a pretty broad coalition of varying interests and AV1 an open, royalty free codec that was plenty open source friendly? I've heard plenty of reasonable arguments that JPEG XL has some real technical advantages over AVIF and as well as superior performance is much more feature rich and scalable. So I could see people being bummed for that. But this is the first time I've heard the assertion that it's somehow a Google project? I mean, AOM's libavif reference is BSD too [0]? I'd love some more details on that from anyone who has been following this more closely. I can even understand if AOM isn't as community friendly and an accusation that it's dominated by big corps, but in that case why single out Google alone? From wiki:

    >The governing members of the Alliance for Open Media are Amazon, Apple, ARM, Cisco, Facebook, Google, Huawei, Intel, Microsoft, Mozilla, Netflix, Nvidia, Samsung Electronics and Tencent.

    Like, Google is certainly significant, but that's a lot of equally heavy hitters. And interesting that Mozilla is there too.

    ----

    0: https://github.com/AOMediaCodec/libavif

  • JPEG XL support has officially been removed from Chromium
    3 projects | news.ycombinator.com | 10 Dec 2022
    > You have a good point that AVIF layered image items can act like such P/B-frames. Do libavif (or other AVIF implementations if any) make use of them?

    Seemingly. As search for "libavif progressive encoding" shows several issues about this, and a search for "progressive" in https://github.com/AOMediaCodec/libavif/blob/main/include/av... shows an enum for avifProgressiveState, appears to show support for it.

  • Wavif discussion
    1 project | /r/AV1 | 1 Dec 2022
    I mean, it already has it: https://github.com/AOMediaCodec/libavif/commit/570c42c2c10a878c8cc896f1c5daf1a955274142
  • Animated AVIF and JXL tools for Windows
    2 projects | /r/AV1 | 20 Nov 2022
    Apart from mpv and ffplay, the only software I currently have installed that can play animated AVIF is Chromium. And from what I've read from this libavif bug report, I'm not sure if looping animated files in general is something that's just done by default by a lot of software regardless of whether the file is marked as a loop or not.
  • How to create progressive AVIF images?
    1 project | /r/AV1 | 9 Nov 2022
    The support for progressive AVIF decoding has landed in libavif and in Chromium. But are there any docs on how to create and test progressive AVIF images?
  • The Case for JPEG XL
    1 project | /r/programming | 3 Nov 2022
    The "for example" is the key here, because AVIF does support multi-layer coding per the spec now (though not currently implemented in libavif from what I can tell).
  • Google Outlines Why They Are Removing JPEG-XL Support From Chrome
    2 projects | /r/jpegxl | 1 Nov 2022
    libavif is at version 0.11.1, see https://github.com/AOMediaCodec/libavif/tags

guetzli

Posts with mentions or reviews of guetzli. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-03.
  • Jpegli: A New JPEG Coding Library
    9 projects | news.ycombinator.com | 3 Apr 2024
    JPEGLI = A small JPEG

    The suffix -li is used in Swiss German dialects. It forms a diminutive of the root word, by adding -li to the end of the root word to convey the smallness of the object and to convey a sense of intimacy or endearment.

    This obviously comes out of Google Zürich.

    Other notable Google projects using Swiss German:

    https://github.com/google/gipfeli high-speed compression

    Gipfeli = Croissant

    https://github.com/google/guetzli perceptual JPEG encoder

    Guetzli = Cookie

    https://github.com/weggli-rs/weggli semantic search tool

    Weggli = Bread roll

    https://github.com/google/brotli lossless compression

    Brötli = Small bread

  • NASA ICER image compression algorithm as a C library
    3 projects | news.ycombinator.com | 23 Mar 2023
  • 26 Additional Web Development Terms You May Not Have Heard Of
    2 projects | dev.to | 9 Feb 2023
    A JPEG encoder developed by Jyrki Alakujala, Robert Obryk, and Zoltán Szabadka, and released by Google in 2017. Guetzli specializes in high-end image quality where it is claimed to produce significantly smaller files than prior encoders at equivalent quality, albeit at very low speed. It is named after the Swiss German expression for biscuits, in line with the names of other compression technology from Google. github.com/google/guetzli
  • Google Chrome Is Already Preparing To Deprecate JPEG-XL
    2 projects | /r/AV1 | 29 Oct 2022
    I'm a huge fan of AV1 for video, but for images JPEG-XL is simply the better codec than AVIF. If you've not actually looked closely at a comparison and are just on the side of AVIF in this debate because it's based on AV1 (and maybe you hate HEVC / HEIC), I'd urge you to look closer. Jpeg XL is pretty unrelated to Jpeg, Jpeg 2000 and Jpeg XR and instead a successor of Google Guetzli, FLIF and newer research.
  • Losslessly Optimising Images
    9 projects | news.ycombinator.com | 30 Aug 2022
    I've never had much luck using jpegoptim. In most cases it's only removing the metadata, which isn't much on high-res files.

    Guetzli is nice, if you don't have too many images to recompress (quite slow): https://github.com/google/guetzli

  • Downscaling VS Compression
    4 projects | /r/GIMP | 28 Aug 2022
    If you're going for full re-encoding, it might help to decode the current JPEG with https://github.com/google/knusperli ... but if you re-JPEG that you might have second-order artifacts. Give it a try. Then compress with https://github.com/google/guetzli
  • Guetzli vs. MozJPEG
    4 projects | news.ycombinator.com | 9 Mar 2022
    You know. I was actually quite annoyed ( to say the least ) with the post. For one the post is lacking a date, and you have to search yourself it was published in April 2017. And without a date the article is completely lacking context because Guetzli [1] hasn't been worked on for 5 years. And as [2] mentioned its work and derivative was ultimately merged into JPEG XL, which is a very decent image format. ( People should definitely check out JPEG XL if it is not on your radar yet )

    But then I notice it was Dan luu who submitted it, which likely means there must be something much deeper than is what is shown on the surface. So what is the context here ?

    [1] https://github.com/google/guetzli

    [2] https://news.ycombinator.com/item?id=30622303

  • Mishaal Rahman on Twitter: "Samsung, MediaTek, and Google have enabled AV1 decode support in their chipsets, making Qualcomm the biggest holdout. I'm hoping that the next Snapdragon 8 series chipset brings AV1 decode support. Wishful thinking? Maybe."
    2 projects | /r/Android | 25 Jan 2022
  • Guetzli – Perceptual JPEG Encoder
    1 project | news.ycombinator.com | 26 Aug 2021

What are some alternatives?

When comparing libavif and guetzli you can also consider the following projects:

rav1e - The fastest and safest AV1 encoder.

mozjpeg - Improved JPEG encoder.

cavif-rs - AVIF image creator in pure Rust

zopfli - Zopfli Compression Algorithm is a compression library programmed in C to perform very good, but slow, deflate or zlib compression.

av1-avif - AV1 Image File Format Specification - ISO-BMFF/HEIF derivative

shrivel - Command line wrapper utility to shrink a path of images for web based on external tools.

libjxl - JPEG XL image format reference implementation

smlr - Re-encode jpeg images with no perceivable quality loss.

WebKit - Home of the WebKit project, the browser engine used by Safari, Mail, App Store and many other applications on macOS, iOS and Linux.

oxipng - Multithreaded PNG optimizer written in Rust

benchmarks - Test images and results of compression benchmarks.

pngwolf-zopfli - `pngwolf` uses a genetic algorithm to find PNG scanline filter combinations that compress well