guetzli VS libjpeg-turbo

Compare guetzli vs libjpeg-turbo and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
guetzli libjpeg-turbo
10 15
12,881 3,594
0.1% 1.1%
0.0 8.2
about 1 year ago 23 days ago
C++ C
Apache License 2.0 GNU General Public License v3.0 or later
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.

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

libjpeg-turbo

Posts with mentions or reviews of libjpeg-turbo. 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
    > all decoders will render the same pixels

    Not true. Even just within libjpeg, there are three different IDCT implementations (jidctflt.c, jidctfst.c, jidctint.c) and they produce different pixels (it's a classic speed vs quality trade-off). It's spec-compliant to choose any of those.

    A few years ago, in libjpeg-turbo, they changed the smoothing kernel used for decoding (incomplete) progressive JPEGs, from a 3x3 window to 5x5. This meant the decoder produced different pixels, but again, that's still valid:

    https://github.com/libjpeg-turbo/libjpeg-turbo/commit/6d91e9...

  • My personal C coding style as of late 2023
    1 project | news.ycombinator.com | 8 Oct 2023
    Last vestiges of this fact AFAIK were libjpeg, which had a macro NEED_SHORT_EXTERNAL_NAMES that shortens all public identifiers to have unique 6-letter-long prefixes. Libjpeg-turbo nowadays has removed them though [1].

    [1] https://github.com/libjpeg-turbo/libjpeg-turbo/commit/52ded8...

  • Libjpeg-Turbo 3.0.0
    1 project | news.ycombinator.com | 4 Jul 2023
  • Why there may never be a libjpeg-turbo 3.1
    4 projects | news.ycombinator.com | 4 Jul 2023
    While I think the move to safer code through Rust and other alternatives is a nice breath of fresh air, I doubt you can get these kinds of optimization without using unsafe code in Rust. These optimized implementations often require some kind of safety-bypassing memory modifications to work as efficiently ad they do.

    There's a reason https://github.com/libjpeg-turbo/libjpeg-turbo/tree/main/sim... is filled with assembly files with conditional loading.

  • Learn x86-64 assembly by writing a GUI from scratch
    11 projects | news.ycombinator.com | 1 Jun 2023
    Sure. You'll see it very often in codec implementations. From rav1e, a fast AV1 encoder mostly written in Rust: https://github.com/xiph/rav1e/tree/master/src/x86

    Large portions of the algorithm have been translated into assembly for ARM and x86. Shaving even a couple percent off something like motion compensation search will add up to meaningful gains.

    Or the current reference implementation of JPEG: https://github.com/libjpeg-turbo/libjpeg-turbo/tree/main/sim...

  • Announcing zune-jpeg: Rust's fastest JPEG decoder
    7 projects | /r/rust | 1 Mar 2023
    zune-jpeg is 1.5x to 2x faster than jpeg-decoder and is on par with libjpeg-turbo.
  • JDK 21 - Image Performance Improvements
    3 projects | /r/java | 13 Feb 2023
    This is interesting from the standpoint of how new JVM features can be used to improve performance (what I presume the article's main purpose to have been), but the image processing improvement itself isn't head-turning. Also, we've found that libjpeg-turbo (https://libjpeg-turbo.org/) is ~5x (IIRC, can re-run my JMH benchmark if anyone wants me to) as fast for decoding JPEGs as ImageIO, so we wouldn't even benefit from this change in 21 much.
  • Convenient CPU feature detection and dispatch in the Magnum Engine
    9 projects | /r/cpp | 2 Aug 2022
    libjpeg-turbo: https://github.com/libjpeg-turbo/libjpeg-turbo/blob/main/simd/x86_64/jsimdcpu.asm
  • Implementing SVE2 for Open Source Project
    1 project | dev.to | 28 Mar 2022
    libjpeg-turbo
  • How to go about implementing file encoding [Question]
    1 project | /r/cpp | 3 Oct 2021
    For all but the simplest formats (basically BMP), the difficulty of implementing encoding/decoding from scratch is significant - well beyond a beginner's ability, and challenging/time-consuming even for senior developers. So, libraries are used in practice - e.g. libpng and libjpeg-turbo.

What are some alternatives?

When comparing guetzli and libjpeg-turbo you can also consider the following projects:

mozjpeg - Improved JPEG encoder.

ImageMagick - 🧙‍♂️ ImageMagick 7

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

libwebp - Mirror only. Please do not send pull requests. See https://chromium.googlesource.com/webm/libwebp/+/HEAD/CONTRIBUTING.md.

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

orion - Usable, easy and safe pure-Rust crypto

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

bloom - The simplest way to de-Google your life and business: Inbox, Calendar, Files, Contacts & much more

libavif - libavif - Library for encoding and decoding .avif files

virtualgl - Main VirtualGL repository

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

Rustup - The Rust toolchain installer