JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

coverage

Post links to articles, blog posts, reddit / hackernews / forum posts, media coverage about or related to JXL here!

A homosapien
2024-10-27 05:55:50
I'll do some testing later today
afed
2024-10-27 07:08:28
anyway lossless hasn't changed much even compared to 0.7, except streaming and e11 (which is also not for practical use) but otherwise the density on slow efforts is even slightly worse overall, a bit better on some content, better on some fast efforts (because palette mode works), a bit worse on other content
A homosapien
2024-10-27 07:58:21
webp2 is not even close ``` wintime -- cwp2 -q 100 -effort 8 w.ppm -o w.wp2 -mt output size: 288182 (6.40 bpp) PeakWorkingSetSize: 788 MiB PeakPagefileUsage: 936.1 MiB Creation time 2024/10/27 12:53:42.100 Exit time 2024/10/27 12:53:59.405 Wall time: 0 days, 00:00:17.304 (17.30 seconds) User time: 0 days, 00:00:00.968 (0.97 seconds) Kernel time: 0 days, 00:01:07.343 (67.34 seconds) wintime -- cjxl w.ppm w.jxl -d 0 -e 8 JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2] Encoding [Modular, lossless, effort: 8] Compressed to 280.3 kB (6.228 bpp). 600 x 600, 0.289 MP/s [0.29, 0.29], , 1 reps, 12 threads. PeakWorkingSetSize: 39.06 MiB PeakPagefileUsage: 39.58 MiB Creation time 2024/10/27 12:55:51.020 Exit time 2024/10/27 12:55:52.274 Wall time: 0 days, 00:00:01.253 (1.25 seconds) User time: 0 days, 00:00:00.031 (0.03 seconds) Kernel time: 0 days, 00:00:01.500 (1.50 seconds)```
Demiurge
2024-10-27 08:08:24
Blurhash? So not even a preview at all?
Oleksii Matiash I'm curious because lossless compression is the field where webp1 is already strong, so my main interest is whether these webp2 improvement can be 'borrowed'
2024-10-27 08:10:22
Maybe they mean it's improved because it isn't limited to 8 bit anymore...?
afed anyway lossless hasn't changed much even compared to 0.7, except streaming and e11 (which is also not for practical use) but otherwise the density on slow efforts is even slightly worse overall, a bit better on some content, better on some fast efforts (because palette mode works), a bit worse on other content
2024-10-27 08:11:20
Lossy hasn't actually changed much either. Tuning has been done but it hasn't really gotten anywhere with several steps forward and backwards
afed
2024-10-27 08:23:11
yeah, just some changes for some cases
Demiurge
2024-10-27 08:25:39
It would be really nice if libjxl had a lossless encoder as good as Jyrki's webp-lossless encoder
A homosapien
2024-10-27 08:35:54
It will be once the algorithms are ported over
2024-10-27 08:36:21
Although who knows how long that'll take
_wb_
2024-10-27 08:41:17
Some things don't map directly from webp to jxl, e.g. webp is hardcoded for 8-bit RGBA and uses an interleaved representation, while jxl's modular mode can do arbitrary bit depth and number of components and uses a planar representation. WebP like PNG encodes the whole image at once, full rows at a time, while jxl uses groups to allow parallel/cropped decoding.
2024-10-27 08:44:56
something like the color hash thing webp uses to get some kind of free local palette is a coding tool jxl doesn't have as it's something that makes sense if you hardcode for 8-bit RGBA (so you can treat a whole pixel at a time as a uint32 number), but not so much if you're doing planar encoding of an arbitrary number of components of an arbitrary bit depth
CrushedAsian255
_wb_ Some things don't map directly from webp to jxl, e.g. webp is hardcoded for 8-bit RGBA and uses an interleaved representation, while jxl's modular mode can do arbitrary bit depth and number of components and uses a planar representation. WebP like PNG encodes the whole image at once, full rows at a time, while jxl uses groups to allow parallel/cropped decoding.
2024-10-27 09:13:47
Planar is when all the Red data is seperate to Green data, etc.. ?
_wb_
2024-10-27 10:30:42
Yep
novomesk
2024-10-28 01:19:18
A Gentoo Linux user tried JXL https://forums.gentoo.org/viewtopic-p-8844199.html
jonnyawsom3
2024-10-28 01:39:12
Sounds like a case for lossless, or patches at least, but who knows how large the image is so that might not be a good idea...
monad
2024-10-28 04:33:13
rather, the jxl encode should target lower quality to achieve "impressive" size established by other format encodes
RaveSteel
2024-10-28 06:01:00
Skanpage does not offer a quality slider, all of those results are lossy
Foxtrot
2024-10-29 09:17:03
Alert 😄 https://www.reddit.com/r/jpegxl/s/CKojgXBqGu
HCrikki
2024-10-29 09:20:34
recompressions from jpg originals will never be as efficient as jxl's special mode that also losslessly *guarantees* 20% smaller filesize for barely 30 milliseconds of encoding time (effort 7)
2024-10-29 09:22:17
even with psy, avif either gets smaller filezizes through sacrificing quality until it reaches target size (smaller fileize is *not* guaranteed and you cant target a specific final filesize), or bloats into a x8 larger lossless avif thats also inefficiently encoded compared to lossless webp
2024-10-29 09:29:37
whats positive is that ssimulacra/butteraugli are gaining acceptance as truly superior modern metrics than dssim and psnr
CrushedAsian255
2024-10-30 12:15:43
https://www.youtube.com/watch?v=0eganQYMpVg
HCrikki
2024-10-30 12:20:51
erik andre from meta/facebook the company is supposed to do a speech today at an AOM workshop (sponsored by google and meta) about how they evaluate their imaging pipeline, priorities and challenges in minimizing latency with modern codecs and notably mention jpegxl and jpegli
_wb_
2024-10-30 12:25:43
interesting, is this recorded? or is there info available somewhere about this?
HCrikki
2024-10-30 12:26:41
https://2024.ieeeicip.org/aomedia-industry-workshop/
jonnyawsom3
CrushedAsian255 https://www.youtube.com/watch?v=0eganQYMpVg
2024-10-30 12:30:04
Seems a bit misguided, saying Lossless JPEG has no HDR and less colors, but hey he says to use JXL so :P
HCrikki https://2024.ieeeicip.org/aomedia-industry-workshop/
2024-10-30 12:32:09
>>> 10:30 – 12:00: Industry Talks Talk-07 Title: Adopting Modern Image Codecs at Scale Speaker: Ms. Zuzanna Mroczek (Meta), Mr. Erik Andre (Meta) Abstract: Optimizing the image experience across Meta’s apps comes with challenges that are hard to find anywhere else. Every day, we handle billions of image uploads and trillions of image download requests on our CDN. This means that image compression is more important to us than ever in the world where visual quality matters but also where every millisecond of latency counts. In this talk we’re going to share findings from years of our work on adopting modern image codecs in our Image Infrastructure (AVIF, JPEG-XL and JPEGLI), pinpoint performance aspects of image compression that matter in different parts of our image pipelines and present challenges we encounter with image quality understanding between the formats.
_wb_
Seems a bit misguided, saying Lossless JPEG has no HDR and less colors, but hey he says to use JXL so :P
2024-10-30 12:33:48
Still worthwhile to try to clarify confusions. Lossless JPEG and lossless JPEG XL should in principle be exactly the same data...
jonnyawsom3
2024-10-30 12:34:49
Thankfully someone corrected him in the comments, but he just replied "You should've read the title" and "You're absolutely right!"
Demiurge
2024-10-30 06:02:43
Uh... isn't Eric Andre that guy who does the Eric Andre show on Adult Swim?
2024-10-30 06:09:26
I hope they make a point to emphasize the inadequacy of avif and the need for browsers like Chrome and Firefox to turn on support by default like Safari... and for the avif team to stop trying to gatekeep jxl from competing with their own format!
2024-10-30 06:12:15
It's so immature and ludicrous what they're doing with their unsupervised power over the chromium source tree
HCrikki
2024-10-30 06:20:16
i expect part of their findings are stuff we already got confirmed in earlier articles and details whose existence people forgot
2024-10-30 06:21:34
like how jpegli and jxl images are always progressive to some extent and start displaying meaningful content as soon as just 20% of the file was downloaded, whereas avif requires the entire file downloaded before anything starts displaying
2024-10-30 06:24:24
a shame theyre not already leveraging lossless jpg->jxl transcoding to send more lightweight images to their own apps. thatd be a huge advantage over the website/browser version since itd load so much faster they could cram more ads into the bandwidth saved
A homosapien
2024-10-30 06:35:00
I'm pretty sure it's a different Eric Andre
jonnyawsom3
2024-10-30 06:35:00
Nevermind 20%, we've seen 0.14% progressive views
CrushedAsian255
Nevermind 20%, we've seen 0.14% progressive views
2024-10-31 06:41:15
I got a 32k x 32k to load in 4500 bytes with JXL Oxide
Jashka
HCrikki like how jpegli and jxl images are always progressive to some extent and start displaying meaningful content as soon as just 20% of the file was downloaded, whereas avif requires the entire file downloaded before anything starts displaying
2024-10-31 07:59:13
I'm actually working on a project where this could be very useful. Namely what we're doing right now is sending the thumbnail and full image as separate images over network, but are thinking if its possible to first send 20% of the full image as thumbnail, and then the rest 80% later for full image. But I'm not sure how to approach this in a reliable/deterministic way. I.e how to determine the % where a valid "thumbnail" could be parsed.
VcSaJen
2024-10-31 08:30:36
Is progressive dc supported by the decoder yet? Without it it can't act as a thumbnail, even 1:8 downscaled image gonna be too big if the original file is taken by modern camera.
jonnyawsom3
2024-10-31 08:42:45
Currently libjxl doesn't render `lqip`, which means <#1065165415598272582> might work a lot better. Like I mentioned before, we've gotten 'images' at only 0.15% with it https://discord.com/channels/794206087879852103/794206170445119489/1285250134875176992, so even just a few percent would probably be enough, assuming they're encoded with `--progressive_dc=1` (can't recall the earliest without). The decoded output will also be at full resolution, upsampled from 1:8 (or less) since there's no API for it yet, but it was discussed before
Jashka
2024-10-31 10:27:54
Currently libjxl doesn't render `lqip`,
Mine18
>>> 10:30 – 12:00: Industry Talks Talk-07 Title: Adopting Modern Image Codecs at Scale Speaker: Ms. Zuzanna Mroczek (Meta), Mr. Erik Andre (Meta) Abstract: Optimizing the image experience across Meta’s apps comes with challenges that are hard to find anywhere else. Every day, we handle billions of image uploads and trillions of image download requests on our CDN. This means that image compression is more important to us than ever in the world where visual quality matters but also where every millisecond of latency counts. In this talk we’re going to share findings from years of our work on adopting modern image codecs in our Image Infrastructure (AVIF, JPEG-XL and JPEGLI), pinpoint performance aspects of image compression that matter in different parts of our image pipelines and present challenges we encounter with image quality understanding between the formats.
2024-11-01 11:13:21
it would be nice if meta supported avif and jxl on their apps/platforms
sklwmp
2024-11-01 12:51:52
afaik you can just upload jxl to facebook and it'll re-encode as needed for messenger, it doesn't recognize it as a picture so it just sends as a file iirc avif i've never tested yet
KKT
2024-11-01 04:42:06
Interesing. I use this for editing most of my HDR photos: https://9to5mac.com/2024/11/01/apple-reaches-deal-to-acquire-pixelmator/
Quackdoc
2024-11-01 09:17:36
I wonder what applications will "work" when linux finally gets proper HDR. I guess if any vulkan apps exist they would work now, but I doubt any do
Demiurge
2024-11-02 10:06:39
I have a good feeling about the future of jxl. Would be nice if more iOS apps started using it as a delivery format.
2024-11-02 10:08:53
It's certainly has a more future proof design than avif. Now it just needs an encoder that can compete with lossless webp and lossy avif (and to a lesser extent gifsicle)
_wb_
2024-11-10 09:30:52
https://arxiv.org/html/2410.17814v1
2024-11-10 09:35:46
2024-11-10 09:46:48
Looks like jxl is performing quite well for these volumetric medical datasets. Even doing intra-only, on 3 of the 4 datasets here, it compresses better than any of the other classical codecs (JPEG LS, J2K, HEVC, VVC) even when allowing them to use inter ("3D") coding tools like the 3D wavelet Transform or HEVC/VVC's extensive inter prediction tools.
CrushedAsian255
_wb_ Looks like jxl is performing quite well for these volumetric medical datasets. Even doing intra-only, on 3 of the 4 datasets here, it compresses better than any of the other classical codecs (JPEG LS, J2K, HEVC, VVC) even when allowing them to use inter ("3D") coding tools like the 3D wavelet Transform or HEVC/VVC's extensive inter prediction tools.
2024-11-10 11:01:32
What is BPV?
2024-11-10 11:02:36
If lower is better, yeah JXL is doing really nicely
_wb_
2024-11-10 11:11:49
It's basically bits per pixel, except here they call it voxels since the frames are slices of volumetric data.
CrushedAsian255
_wb_ It's basically bits per pixel, except here they call it voxels since the frames are slices of volumetric data.
2024-11-10 11:19:13
How do you store 3d data in a 2d image format? Animation?
_wb_
2024-11-10 11:20:25
I think they just store the slices independently, but that's basically what libjxl would do too when doing it as animation
jonnyawsom3
2024-11-10 11:22:48
They mention subtracting one frame from the next for their own AI codec, a shame they didn't do the same for JXL
Quackdoc
2024-11-10 11:26:48
is 3d image codec in this case just a stack of "frames"? and in that case do we know how may slices are in said image?
CrushedAsian255
They mention subtracting one frame from the next for their own AI codec, a shame they didn't do the same for JXL
2024-11-10 11:32:25
what do you mean "AI codec"? JPEG AI again?
jonnyawsom3
CrushedAsian255 what do you mean "AI codec"? JPEG AI again?
2024-11-10 11:33:54
Click on the link, the entire thing is about their own AI compression method
CrushedAsian255
2024-11-10 12:37:57
Could you count JXL’s MA trees as being a “learned” codec?
jonnyawsom3
2024-11-10 01:09:23
They never specify the encoding parameters, which is slightly concerning, but they do say this > our encoding time is recorded at 0.649 seconds, which is on the same order of magnitude as JPEG-XL
2024-11-10 01:12:13
So very small images, I'd bet JPEG XL scales far better than the AI ones to an extent
2024-11-10 01:14:37
Ah, just had to scroll up a bit
_wb_
CrushedAsian255 Could you count JXL’s MA trees as being a “learned” codec?
2024-11-10 01:19:15
I don't know whether there's an agreed upon definition of the difference between learning-based and classic codecs, but I would consider anything where the decoder requires some neural net or other kind of model with many weights (millions of them) to be learning-based. Encoder side you can in principle always apply learning-based methods to improve results, at least if the bitstream offers some flexibility so encoders can make choices.
jonnyawsom3
2024-11-10 01:21:08
Technically, all compression is learning based, learning what the next pixels will be and assigning the least amount of bits needed :P
Foxtrot
2024-11-10 01:25:53
JXL-AI version soon? 😄
2024-11-10 01:27:32
imagine all the venture capital funding 😮
_wb_
2024-11-10 01:29:11
Soon, I doubt. But I do think that jxl makes a compelling target syntax for AI based encoders. If an AI encoder can figure out how to use splines, patches or large block sizes in an effective way, it might work better than manually handcrafted encoder heuristics. Though I will always find it a bit scary to give control to a black box thing...
Oleksii Matiash
Technically, all compression is learning based, learning what the next pixels will be and assigning the least amount of bits needed :P
2024-11-10 01:36:25
Also by developer learning during tuning psychovisual compression
_wb_
2024-11-10 01:44:53
There's a bit of a gray area between tuning and learning. If it's only a dozen or so parameters, it's definitely "tuning" and not "learning", and if it's millions of parameters, it's definitely not just "tuning" but "learning", but where exactly the threshold is, is a bit hard to tell.
2024-11-10 01:46:09
If you can still explain what the meaning/interpretation of each parameter is, then it's probably tuning
jonnyawsom3
_wb_ Soon, I doubt. But I do think that jxl makes a compelling target syntax for AI based encoders. If an AI encoder can figure out how to use splines, patches or large block sizes in an effective way, it might work better than manually handcrafted encoder heuristics. Though I will always find it a bit scary to give control to a black box thing...
2024-11-10 02:06:46
Might be able to look at the MA tree after to get ideas on what to try in the conventual encoding too
_wb_
2024-11-10 02:22:02
Yeah, or just encode with e9/10 and make some kind of set of predefined trees based on that, which could be good for e4/5 (basically make those effort settings like e2/3 but with a set of trees to try rather than just one fixed tree)
jonnyawsom3
2024-11-10 02:23:44
Actually, has that fixed tree been improved at all since it was first chosen?
_wb_
2024-11-10 02:30:12
Hasn't been touched in a long time, I think.
veluca
_wb_ If you can still explain what the meaning/interpretation of each parameter is, then it's probably tuning
2024-11-10 02:31:12
not sure we can do that 😛
_wb_
2024-11-10 02:33:22
At least the parameters still have variable names and probably some general idea of what it's doing, even if the emergent behavior in the overall system can be a bit hard to predict
2024-11-10 02:38:05
But yeah there's no super clear distinction. You could interpret things like DCT coefficients or MA trees as a 'latent space', in a way, and tuning of encoder heuristics as a form of learning.
2024-11-10 02:55:20
I would say things are more 'controlled' in something like libjxl than in a typical learning-based codec though. Most sources of error when doing lossy are local and linear, which is usually not the case in learning-based codecs. For images wildly outside the 'comfort zone' of the codec (very different than the image content used for tuning/training), both classic and AI codecs will probably not be great, but I would trust the classic one more to not do stuff like making an alien planet look more like Earth...
2024-11-14 05:13:06
https://www.mdpi.com/2313-433X/10/5/113
A homosapien
2024-11-14 05:20:43
Strange how it doesn't mention ssimulacra2 in the Objective IQMs section
jonnyawsom3
2024-11-14 05:30:07
> JPEG XL mostly introduces softening and ringing artifacts
A homosapien
2024-11-14 07:18:01
Ringing? It's mostly softening imo.
_wb_
2024-11-14 07:33:12
Seems to be a relatively superficial review, maybe based on something a LLM produced after reading some documents
CrushedAsian255
2024-11-15 07:35:49
https://beebom.com/what-is-jpeg-xl/
2024-11-15 07:36:05
Not sure if I’m going insane and have sent this before
2024-11-15 07:37:15
2024-11-15 07:37:36
> Lossless files could be a bit large still Well what can you expect?
spider-mario
2024-11-15 08:56:35
> The encoding times are a different story, though, with WebP sometimes achieving much faster encoding times consistently. Both JXL and AVIF encoding times are almost similar, but on average, AVIF does seem to be leading a bit. … are we reading the same graph? webp is consistently near the top (higher encode times)
_wb_
2024-11-15 08:58:10
Sometimes consistently?
2024-11-15 09:00:02
AVIF leading a bit in encoding time?
username
2024-11-15 09:01:30
https://discord.com/channels/794206087879852103/822105409312653333/1283837462652911689
_wb_
2024-11-15 09:01:45
Why do people feel the need to write about image formats while not even understanding some basic things like the difference between a codec and an encoder (setting).
CrushedAsian255
2024-11-15 09:04:49
Yeah AVIF is so much faster than JPEG XL!
2024-11-15 09:04:59
(When you use -e 11)
HCrikki
2024-11-15 09:10:04
lot of info is scattered around and forgotten or walled behind discord. doesnt help some concepts obsolete old common practices and workflow norms
2024-11-15 09:12:17
theres also confusion between the capabilities of jxl standard, libjxl (upstream's builds that preserve quality and tuned 3rdparty builds) and other implementations as if theyre all actually the same thing
CrushedAsian255
2024-11-15 09:12:28
Idea: I’m going to read every message ever sent on the discord and compile it into one super knowledge base
2024-11-15 09:12:45
Is every message ever sent still here or has some of it been deleted?
2024-11-15 09:13:13
Or is that too much JXL for one person to handle
HCrikki
2024-11-15 09:13:25
iirc the consistency of encoding times was brought up with numbers in an article before. pareto front iinm
spider-mario
_wb_ Why do people feel the need to write about image formats while not even understanding some basic things like the difference between a codec and an encoder (setting).
2024-11-15 09:56:26
and “higher encode ms means slower”, apparently
2024-11-15 09:56:47
unless they just mislabelled the graph
jonnyawsom3
2024-11-15 10:02:48
I was planning on making a Reddit FAQ post for Google to index at some point
CrushedAsian255
2024-11-15 10:04:56
someone should make a google doc to put everything to ever know about JPEG XL into
veluca
spider-mario and “higher encode ms means slower”, apparently
2024-11-15 10:05:48
that graph just looks weird, webp and jpeg at the opposite ends seems ... hard to believe
CrushedAsian255
2024-11-15 10:05:50
and then it can be published on some website
Oleksii Matiash
CrushedAsian255 > Lossless files could be a bit large still Well what can you expect?
2024-11-15 10:47:27
Not really related to that 'article', but yesterday I found 19 MB PNG that compresses to 28 MB JXL even with -e 10. Did not try special options like -E and -I though
CrushedAsian255
2024-11-15 10:47:48
was it paletted?
Oleksii Matiash
CrushedAsian255 was it paletted?
2024-11-15 11:09:32
No, 29k colors
2024-11-15 11:10:14
But it is 'terribly' synthetic
_wb_
2024-11-15 11:32:10
Some images really benefit a lot from doing full rows and using lz77. In that case it can help to do something like `cjxl -g 3 -I 0 -e 9` which should at least give you some lz77 (though you still won't get full rows).
CrushedAsian255
_wb_ Some images really benefit a lot from doing full rows and using lz77. In that case it can help to do something like `cjxl -g 3 -I 0 -e 9` which should at least give you some lz77 (though you still won't get full rows).
2024-11-15 11:33:24
Why -I 0? To disable prediction?
jonnyawsom3
2024-11-15 11:34:05
To disable MA tree learning
CrushedAsian255
2024-11-15 11:34:41
Why don’t you want MA tree learning ?
_wb_
2024-11-15 11:40:46
currently libjxl either does MA tree learning or good lz77 search but not both
2024-11-15 11:44:09
we don't have an encoder yet that can do both at the same time, since the MA tree changes what the residuals will be for lz77 to search in, while lz77 matches also have an impact on what would be a good MA tree. So it's a pretty hard thing to optimize together, and we decided to just not even try, basically.
CrushedAsian255
2024-11-15 11:45:13
Is it one of those “we’ll optimise it once the format is popular enough for these kind of optimisations to be worth it”
Oleksii Matiash
_wb_ Some images really benefit a lot from doing full rows and using lz77. In that case it can help to do something like `cjxl -g 3 -I 0 -e 9` which should at least give you some lz77 (though you still won't get full rows).
2024-11-15 12:17:03
Dropped from 28.2 MB to 27. Resaving source png with "smallest size" option in PS reduced it's size from 19 to 18.2 MB. So the gap between png and jxl is still 9 MB
_wb_
2024-11-15 12:21:13
Doesn't that PS option create a png8?
Oleksii Matiash
2024-11-15 12:27:11
I'm not sure what png8 is
username
Oleksii Matiash I'm not sure what png8 is
2024-11-15 12:30:36
iirc it's a paletted PNG. And PS does have a indiscreet checkbox when saving PNGs that reduces the colors to make paletted image (people often select it thinking the image will still be lossless but it's not)
2024-11-15 12:30:58
that "smallest size" option might be it
Oleksii Matiash
2024-11-15 12:32:21
No, it is still 24 bit png. Also as far as I can see - there is no such checkbox. You have to convert image to indexed from Image menu to get paletted png.
2024-11-15 12:33:04
username
2024-11-15 12:35:17
I don't have PS installed but this is where the option me and wb where thinking about is https://cdn.discordapp.com/attachments/332185591770775563/1246123844838756442/image.png
Oleksii Matiash
2024-11-15 12:36:49
🤔 IDK how to get this window in PS
_wb_
2024-11-15 12:37:31
that's what you get in the Export as... dialog in current Photoshop
2024-11-15 12:38:11
What Photoshop version are you using?
Oleksii Matiash
_wb_ that's what you get in the Export as... dialog in current Photoshop
2024-11-15 12:38:23
Ah, I see. Never have been there
_wb_ What Photoshop version are you using?
2024-11-15 12:38:33
Latest one
_wb_
2024-11-15 12:38:53
haven't seen that dialog, how do you get it?
Oleksii Matiash
Oleksii Matiash
2024-11-15 12:39:12
This one?
_wb_
2024-11-15 12:39:46
yes. anyway, if you're sure that the resulting PNG still has all 29k colors then it's not the issue
Oleksii Matiash
_wb_ haven't seen that dialog, how do you get it?
2024-11-15 12:40:09
Save as... PNG
_wb_ yes. anyway, if you're sure that the resulting PNG still has all 29k colors then it's not the issue
2024-11-15 12:40:25
_wb_
2024-11-15 12:41:27
I guess the image is too large to upload here
Oleksii Matiash
_wb_ I guess the image is too large to upload here
2024-11-15 12:42:59
https://we.tl/t-U2WsQh5eGH
2024-11-15 12:43:26
Image is a bit smaller than I told, because I removed some confidential info
CrushedAsian255
Oleksii Matiash Image is a bit smaller than I told, because I removed some confidential info
2024-11-15 12:46:45
Like exif data, or actual pixel in the image?
Oleksii Matiash
CrushedAsian255 Like exif data, or actual pixel in the image?
2024-11-15 12:47:03
Pixels
_wb_
2024-11-15 12:56:54
I can see why PNG works well on this one — that wood pattern is tiling, making it have horizontal repeats that result in good lz77 matches
2024-11-15 12:57:44
to beat PNG here, we would need a better patch detection to de-duplicate that tiling pattern
Oleksii Matiash
2024-11-15 12:58:13
It was created from pdf, idk who and how created this document, but it takes 3 min 30 sec to just open it by pdf reader on 7950X 🤦‍♂️
_wb_
2024-11-15 01:01:02
ideally separating out those black lines and text that are overlaid on the tiling pattern, so you can store the patch once, repeat it as many times as needed, and have the black lines coded separately (which should compress well)
2024-11-15 01:01:48
just bumping up the group size does seem to help a bit: ``` $ cjxl -d 0 1e.png 1e.png.jxl -g 3 JPEG XL encoder v0.11.0 0.11.0 [NEON] Encoding [Modular, lossless, effort: 7] Compressed to 22317.8 kB including container (0.641 bpp). 19843 x 14032, 21.347 MP/s [21.35, 21.35], , 1 reps, 12 threads. ```
CrushedAsian255
2024-11-15 01:03:03
Try g 3 I 0
Oleksii Matiash
_wb_ just bumping up the group size does seem to help a bit: ``` $ cjxl -d 0 1e.png 1e.png.jxl -g 3 JPEG XL encoder v0.11.0 0.11.0 [NEON] Encoding [Modular, lossless, effort: 7] Compressed to 22317.8 kB including container (0.641 bpp). 19843 x 14032, 21.347 MP/s [21.35, 21.35], , 1 reps, 12 threads. ```
2024-11-15 01:05:10
Strange. -g3 -I 0 produced 26.5 MB file
CrushedAsian255
2024-11-15 01:06:06
Maybe ma trees help more than the lz77 marching?
Oleksii Matiash
_wb_ ideally separating out those black lines and text that are overlaid on the tiling pattern, so you can store the patch once, repeat it as many times as needed, and have the black lines coded separately (which should compress well)
2024-11-15 01:06:14
If only pdf viewers were smart enough to convert vector and textures to spline and patches.. This pdf is exported from some 3D app, and it renders literally triangle by triangle
_wb_
2024-11-15 01:06:45
it is quite hard to separate a merged image again in an encoder, for images like this it would be useful to have a jxl encoder integrated with the authoring tool or PDF renderer that would actually know when it is tiling a pattern or adding a line overlay, so it could manually create patches and layers and compose an image that way — that would probably beat PNG by a big margin
CrushedAsian255
2024-11-15 01:08:12
So basically using JXL as a PDF?
_wb_
2024-11-15 01:08:16
alternatively you could keep using PDF (or SVG) and just store the raster parts with jxl instead of whatever format is currently being used
CrushedAsian255
2024-11-15 01:08:41
JXL-in-SVG is something that I am experimenting with personally
_wb_
2024-11-15 01:09:14
jxl cannot do everything that PDF can, it cannot do text as text, it cannot do filled shapes, etc etc.
Oleksii Matiash
_wb_ alternatively you could keep using PDF (or SVG) and just store the raster parts with jxl instead of whatever format is currently being used
2024-11-15 01:10:20
This pdf is mentally broken anyway, opening or changing the scale relaunches 3 and a half minutes render cycle. So having it as image was the task my friend came to me with
jonnyawsom3
_wb_ to beat PNG here, we would need a better patch detection to de-duplicate that tiling pattern
2024-11-15 01:15:09
If only Monad's custom patch detection survived 😔
CrushedAsian255
If only Monad's custom patch detection survived 😔
2024-11-15 01:18:22
What happened to it?
A homosapien
I was planning on making a Reddit FAQ post for Google to index at some point
2024-11-15 08:53:42
I would be willing to help out, I want to dip my toes into reddit again
CrushedAsian255
A homosapien I would be willing to help out, I want to dip my toes into reddit again
2024-11-16 12:46:22
I’ll make a Google doc to draft on
CrushedAsian255 Idea: I’m going to read every message ever sent on the discord and compile it into one super knowledge base
2024-11-17 12:25:39
this is going to take a while (file 1 of 277)
2024-11-17 12:27:58
distant future
Foxtrot
2024-11-17 10:43:06
Maybe train AI on all the messages so we can just ask it everything? 🙂
2024-11-17 10:46:07
Honestly, its sad Discord is not really publicly searchable like original PHP forums. So much information locked away from public eyes.
CrushedAsian255
2024-11-17 11:29:06
Send instructions on how to do that and I probably could
Foxtrot Honestly, its sad Discord is not really publicly searchable like original PHP forums. So much information locked away from public eyes.
2024-11-17 11:33:31
I could write some kind of public proxy bot that lets you access the discord through HTTP
2024-11-17 11:33:36
Or maybe that already exists..?
Foxtrot
2024-11-17 11:46:32
I think the problem is person can only see content of discord server if they join it. Because of that there cant be really public indexer like google. On the other hand you could see content of php forums even without registration.
w
2024-11-17 12:38:19
not unless it's a forum/subforum that requires login/perms
CrushedAsian255
w not unless it's a forum/subforum that requires login/perms
2024-11-17 01:47:43
Those are different & annoying
w
2024-11-17 01:49:27
all the forums I frequented were like that
CrushedAsian255
2024-11-17 01:50:10
Posting being behind an account makes sense, but viewing…?
w
2024-11-17 01:50:50
yeah?
CrushedAsian255
2024-11-17 01:52:12
How is it helpful if viewing the forum requires a login
2024-11-17 01:52:16
Unless it’s like paid
2024-11-17 01:52:19
That’s different
w
2024-11-17 01:52:26
it's not
CrushedAsian255
2024-11-17 01:52:47
But requiring to sign up for an account to view the forum, what benefits does it have
w
2024-11-17 01:53:13
The point is that it being a forum doesn't immediately make it what you want it to be
CrushedAsian255
2024-11-17 01:53:33
…?
w
2024-11-17 01:53:50
it's just like discord isn't it
CrushedAsian255
2024-11-17 01:54:59
I thought we were all in agreement that this being locked within discord was bad
w
2024-11-17 01:55:06
also discord you can make it so you don't need an account to view a server
CrushedAsian255
2024-11-17 01:55:42
Google still probably refuses to index that
w
2024-11-17 01:55:49
yeah that's the only problem
2024-11-17 01:55:57
But not really
2024-11-17 01:56:04
Discord is a chat app not a bulletin board
2024-11-17 01:56:27
Telegram isn't indexed
2024-11-17 01:56:30
Irc isn't indexed
CrushedAsian255
2024-11-17 01:56:40
Maybe there should be a JXL wiki or something
w
2024-11-17 01:56:56
Real modern one would be a jxl Facebook page
CrushedAsian255
2024-11-17 01:56:57
So everyone can edit it and search engines can index it
w Real modern one would be a jxl Facebook page
2024-11-17 01:57:05
Myspace *
w
2024-11-17 01:57:16
MySpace you can't view
2024-11-17 01:57:22
Facebook is indexed on google
CrushedAsian255
2024-11-17 01:57:24
Fine, twitter
2024-11-17 01:57:28
X*
w
2024-11-17 01:57:33
and can view as a guest
2024-11-17 01:57:43
x can't view without account
CrushedAsian255
2024-11-17 01:57:45
how tf you view Facebook as guest
w
2024-11-17 01:57:50
you just do
CrushedAsian255
2024-11-17 01:57:50
It forces me to make an account
2024-11-17 01:58:20
JPEG XL FAQ on a user talk page on Wikipedia
w
2024-11-17 01:59:16
the Wikipedia page already exists
2024-11-17 01:59:27
But it's worse than a locked forum
CrushedAsian255
2024-11-17 02:26:49
Wait Facebook has an onionsite?
Foxtrot
w Discord is a chat app not a bulletin board
2024-11-17 02:30:21
Problem is that discord basically replaced bulletin boards. Before communities posted mainly on forums and these daily I see mainly discord servers. Btw, I don't think discord is bad. This is just my nitpick with it and I think it could be improved.
2024-11-17 02:32:03
But I will stop with the offtopic 😄
Kremzli
CrushedAsian255 Maybe there should be a JXL wiki or something
2024-11-17 04:25:33
maybe https://wiki.x266.mov/docs/images/JXL
jonnyawsom3
2024-11-17 05:31:09
> wiki.x266 > AV1 Logo > JPEG XL content
afed
2024-11-17 05:35:12
webp images
CrushedAsian255
2024-11-17 05:57:44
The whole compression community coming together to build that site
A homosapien
2024-11-17 08:54:00
I feel like we should have something just for Jpeg XL though
jonnyawsom3
2024-11-17 09:15:22
If only we had a <#1256302117379903498>...
HCrikki
2024-11-17 09:16:04
both feels light on info... theyre only informative and gives no visibility to other types of useful insights meant to foster adoption like articles, specific situations/benchmarks or ways to enable/modify workflows for efficiency
2024-11-17 09:16:37
another issue is people's coverage or official articles referncing the horrible jpeg.org site instead since 'the official one'. almost all also lack any mention of the discord or prompts to some official email or site for anyone interested in contacting devs or asking for comments on anything
jonnyawsom3
2024-11-17 09:16:53
Those were planned, but it was a lot of ideas all at once with the Apple launch nearing ever closer
Quackdoc
HCrikki both feels light on info... theyre only informative and gives no visibility to other types of useful insights meant to foster adoption like articles, specific situations/benchmarks or ways to enable/modify workflows for efficiency
2024-11-17 09:44:24
benchmarks change so that's not a realistically useful metric and is more marketing, and IMO does not belong on a "wiki" unless you use some kind of automated testing.
HCrikki
2024-11-17 09:58:40
samples representatives of expected performance in common scenarios would suffice. take lossless recompression, it isnt discussed using any hard numbers for its importance to be realized
A homosapien
2024-11-17 11:08:26
I would still argue that a reddit FAQ would be important to have, there's a lot of questions that could be answered very easily and prevent the spread of misinformation.
jonnyawsom3
2024-11-17 11:16:28
Maybe I can write something out during my 4 hour flight tomorrow
VcSaJen
w also discord you can make it so you don't need an account to view a server
2024-11-18 02:35:08
Fake. You still need to create a "temporary" account, which requires a cellphone number in 100% of cases.
username
VcSaJen Fake. You still need to create a "temporary" account, which requires a cellphone number in 100% of cases.
2024-11-18 06:03:39
what? I have never heard of Discord requiring a cellphone for the creation/usage of an account. although I will say that I agree that Discord is a locked information hole
VcSaJen
2024-11-18 08:09:53
Did not use VPN, still got phonewalled
CrushedAsian255
2024-11-19 01:24:02
https://youtube.com/shorts/MoaVS1gp8MQ?si=IAHs6R7Go-AExT9n not jpeg xl, Jpegli but still
2024-11-19 01:27:30
JPEG XL: exists Google (Chrome): nobody likes our own formats Google (Chrome): let's just use JPEG with some tech from JPEG XL, but not actually use JPEG XL JPEG XL: 🤦‍♂️
A homosapien
2024-11-19 02:08:54
The comment section hurts to read
novomesk
2024-11-25 07:24:10
https://nvd.nist.gov/vuln/detail/CVE-2024-11498
CrushedAsian255
novomesk https://nvd.nist.gov/vuln/detail/CVE-2024-11498
2024-11-25 08:28:24
not the kind of coverage jxl wants
jonnyawsom3
2024-11-25 09:17:46
Dear god, a carefully crafted JXL file using (possibly) 512MB!?!? But how will I survive when the normal decoding process already uses that much at 4K
Laserhosen
2024-11-25 09:40:02
Not on the stack hopefully.
jonnyawsom3
2024-11-25 10:33:20
(You can tell I don't know much about the subsets of memory types)
veluca
CrushedAsian255 not the kind of coverage jxl wants
2024-11-25 10:36:11
is *that* the one that worried you? 😛 I think https://nvd.nist.gov/vuln/detail/CVE-2024-11403 is more dangerous, this one at worst will make some programs crash on most environments
Quackdoc
2024-11-25 10:37:16
CVE all the things lol
Squid Baron
(You can tell I don't know much about the subsets of memory types)
2024-11-27 05:19:14
On Windows default stack size is 1 MB, on Linux 8MB (they can be increased)
2024-11-27 05:19:18
so yeah it's a serious issue
veluca
2024-11-27 09:21:29
can't do more than get you a DoS, so not *too* serious
jonnyawsom3
2024-11-30 03:33:10
<@274048677851430913> I could be wrong, but I *think* Waterfox updating the libjxl version means your banding comparison at the bottom is now already dithered on decode. I can't see any differences and zooming in revels a low level crosshatching pattern https://saklistudio.com/miniblog/krita-jpegxl-tips/
2024-11-30 03:34:32
I did want to suggest on the repo to not dither when the file is already 8bit, but the results tend to be better regardless, unless you specifically want the dithering/flat areas of color. So I compromised and made an issue for less distracting blue noise instead :P
2024-11-30 03:35:13
https://github.com/libjxl/libjxl/pull/3090
Kampidh
2024-11-30 04:17:18
oh it is dithered now, sweet~ those comparison images are indeed in 16bpc though
jonnyawsom3
2024-11-30 04:26:47
Ah, then I guess photon noise isn't needed anymore
Demiurge
2024-11-30 09:12:07
The default stack size on Linux varies and if you need a particular stack size it's good to explicitly set a larger stack size
2024-11-30 09:12:30
On musl the default stack size is 128k
HCrikki
2024-12-08 05:26:06
https://www.youtube.com/watch?v=vFDu68tjS7A
jonnyawsom3
2024-12-09 01:54:01
Some misguided comments and overall confusion from not paying attention to the video, but not bad
Meow
2024-12-09 02:18:41
Yet RAW is an ambiguous term. How raw is RAW?
CrushedAsian255
2024-12-09 03:07:44
this is one of the things i was worried about, JPEG has such negative connotations
2024-12-09 03:07:55
maybe the format should be officially called "JXL" and JPEG XL is just its full name
damian101
HCrikki https://www.youtube.com/watch?v=vFDu68tjS7A
2024-12-09 03:44:12
why is the first RAW full of JPEG artifacts 🤨
jonnyawsom3
2024-12-09 03:47:19
First was using the preview images instead of the actual files, later comparisons *should* be correct
DZgas Ж
CrushedAsian255 maybe the format should be officially called "JXL" and JPEG XL is just its full name
2024-12-09 03:51:11
Technically, it's still the same DCT was 30 years ago <:SadCheems:890866831047417898> but float and xyb and more blocks size
CrushedAsian255
DZgas Ж Technically, it's still the same DCT was 30 years ago <:SadCheems:890866831047417898> but float and xyb and more blocks size
2024-12-09 04:27:19
Also modular
2024-12-09 04:27:58
But also by that logic you could call H.266 VVC “MPEG1 XL”
DZgas Ж
CrushedAsian255 But also by that logic you could call H.266 VVC “MPEG1 XL”
2024-12-09 04:30:09
like jpeg 2000 like jpeg XR
Quackdoc
Meow Yet RAW is an ambiguous term. How raw is RAW?
2024-12-09 04:37:59
yo dawg, I heard you like RAW.
Meow
2024-12-09 04:38:38
Raw. It's f*cking RAW
jonnyawsom3
2024-12-09 04:55:31
Lamb sauce based encoder
✞ 𝐁𝐢𝐠 𝐉𝐨𝐞 ✞
2024-12-24 05:16:45
https://github.com/web-platform-tests/interop/issues/700#issuecomment-2551623493 Awesome news 😄
Meow
2024-12-24 05:04:20
Wow ChatGPT can't be fooled easily https://chatgpt.com/share/676ae95b-b710-8009-ac4b-db50a66159d7
2024-12-24 05:12:34
Nope unfortunately > Adoption: Increasing support in web browsers (e.g., Chrome and Firefox) and image editing tools.
jonnyawsom3
2024-12-24 08:19:05
I remember it was telling me alternatives to JPEG while maintaining quality, but didn't mention JXL. When I mentioned it, it tried to cop out and say I was talking about exclusively other formats than ones designed by JPEG
Meow
2024-12-25 01:38:08
ChatGPT still insists that JXL is better even if I told it that "Jon loves JXR the most"
Demiurge
2024-12-25 01:51:24
Jon definitely said that JPEG Triple X Private Reserve is the best
VcSaJen
2024-12-25 10:44:12
LOL: > JPEG XR (Extended Range) and JPEG XL (Extra Large) are both image compression formats (Llama 3.3 70B Instruct)
2024-12-25 10:45:45
It was convinced that JPEG XL is better, but simultaneously said to use JPEG XR for HDR and wide-gamut, despite listing both formats being able to do that in previous paragraphs.
Meow
2024-12-25 02:01:22
JXR finally got some love from Microsoft after over a decade https://pureinfotech.com/set-hdr-jxr-wallpapers-windows-11/
2024-12-25 02:03:02
When macOS supports setting JXL wallpapers
jonnyawsom3
2024-12-25 03:20:32
Yeah, we saw the mislabelled patch note for Windows at the start of the year saying they allowed JXL wallpapers instead of JXR
AccessViolation_
2024-12-25 03:32:15
This is bait from Microsoft
jonnyawsom3
2024-12-25 04:27:06
https://x.com/thiojoe/status/1841268514406928891
2024-12-25 04:27:35
Oh, October... Could've sworn it was longer ago
Meow
2024-12-25 04:32:39
Not many guides telling how to have an HDR .jxr
2024-12-25 04:33:43
Damn I was thinking of JXL when attempting typing in JXR
Nova Aurora
https://x.com/thiojoe/status/1841268514406928891
2024-12-26 08:20:53
Included JXL in the MIME types even when the jxl extension isn't installed?
Kremzli
2025-01-06 10:28:01
https://discuss.privacyguides.net/t/warn-users-about-cromite-adding-and-enabling-jpeg-xl/23718
2025-01-06 10:31:13
Pretty sure it's disabled in cromite https://github.com/uazo/cromite/issues/1365
2025-01-06 10:36:21
I don't wanna make an account there and my matrix homeserver exploded or something (average synapse) so this is an epic weird fixation on libjxl instead of the several other things cromite jams in there like AdBlock plus (or whatever) instead of ublock origin
jonnyawsom3
2025-01-06 10:39:35
People fail to realise the 100K lines of code includes the entirety of jpegli and the *encoder* too, which is far more complex
A homosapien
2025-01-06 10:46:36
Who started the fear mongering around libjxl? I forgot who pushed the incorrect statement that *"it has 100k LoC and it's C++, therefore It's SUPER unsafe!!!!"*
Quackdoc
2025-01-06 10:48:04
granted, if im going to go into auditing libjxl blind, cloned the source, I woulda been in a bad mood lol
AccessViolation_
A homosapien Who started the fear mongering around libjxl? I forgot who pushed the incorrect statement that *"it has 100k LoC and it's C++, therefore It's SUPER unsafe!!!!"*
2025-01-06 10:53:27
I think that's just a general sentiment about large C++ codebases, not specifically libjxl. but maybe others then interpreted mozilla's concerns as a concern about libjxl specifically
jonnyawsom3
A homosapien Who started the fear mongering around libjxl? I forgot who pushed the incorrect statement that *"it has 100k LoC and it's C++, therefore It's SUPER unsafe!!!!"*
2025-01-06 11:51:10
<https://github.com/mozilla/standards-positions/pull/1064#issue-2503684693> > Our primary concern has long been the increased attack surface of the reference decoder (currently behind a pref in Firefox Nightly), which weighs in at more than 100,000 lines of multithreaded C++. <https://www.reddit.com/r/jpegxl/comments/1f8aj5w/comment/lldm3tj/> > True: there are over 103k LoC of C++ in libjxl-0.10.3's source code distribution, which is the reference implementation for jxl. However, 14k of that is in the `tools` subdirectory, there's another few thousand in plugins and examples.The library source code is 80k LoC of C++. > > Of that, 15k is in jpegli, and 64k in jxl. > > If I exclude the sources named `enc_*` on the assumption that they wouldn't be part of a decoder, we're down to 42k LoC in jxl. > > I acknowledge it's not really that simple: I don't see a build configuration for a decode-only library, so an audit couldn't truly discount all those `enc_*.cc` sources, etc. And 42k LoC is still a lot of multithreaded code. But maybe not quite as bad as "more than 100k lines" made it sound. > > libjpeg-turbo is 56k LoC of C, and 30k LoC of assembly. That's including encoding, decoding, and its command-line tools.
RaveSteel
2025-01-06 11:54:12
If anyone knows: how "large" are the JPEG and PNG decoders built into firefox? How do they compare to libjxl
jonnyawsom3
RaveSteel If anyone knows: how "large" are the JPEG and PNG decoders built into firefox? How do they compare to libjxl
2025-01-07 12:30:56
They're using libjpeg-turbo, so the quoted Reddit comment is accurate. Can't find the PNG decoder, but did find out they have public metrics of image decode speed https://glam.telemetry.mozilla.org/firefox/probe/image_decode_speed_avif/explore?
2025-01-07 12:37:45
Also, this doesn't seem right... They must be using a crawler that doesn't support JXL, or isn't checking the mime type properly https://w3techs.com/technologies/overview/image_format
username
2025-01-07 12:50:36
well I mean the percentage relative to AVIF seems right'ish
2025-01-07 12:51:29
like it's saying AVIF is almost non-existent and that JXL is an even lower almost non-existent
RaveSteel
They're using libjpeg-turbo, so the quoted Reddit comment is accurate. Can't find the PNG decoder, but did find out they have public metrics of image decode speed https://glam.telemetry.mozilla.org/firefox/probe/image_decode_speed_avif/explore?
2025-01-07 12:56:14
They are actually using the entirety of libjpeg-turbo including encoder? That feels quite unnecessary
2025-01-07 12:56:40
If there was the choice of format with their internal screenshot tool but there is not, it is always PNG
jonnyawsom3
2025-01-07 01:05:16
I'm finding it impossible to search their repo or trackers but it seems like it https://bugzilla.mozilla.org/show_bug.cgi?id=1787515
RaveSteel
2025-01-07 01:30:35
Checking out the firefox repo, firefox comes with encoders for bmp, ico, jpeg, png and webp. there is libjpeg in a different directory, which is made up of files with around 45.000 loc
2025-01-07 01:31:16
2025-01-07 01:33:18
https://searchfox.org/mozilla-central/source/media/libjpeg
Meow
Kremzli https://discuss.privacyguides.net/t/warn-users-about-cromite-adding-and-enabling-jpeg-xl/23718
2025-01-07 02:54:53
> This concern was a major factor in Google’s decision to drop support for JPEG XL in Chrome.
2025-01-07 02:55:04
That's the reason?
A homosapien
2025-01-07 02:57:17
I'm pretty sure it wasn't
2025-01-07 03:00:13
I think they said something along the lines of, "avif has higher quality images and is faster to decode".
2025-01-07 03:01:04
I forgot where that flawed study was but that's basically what the avif team said.
Meow
2025-01-07 03:02:32
That "Cromite" is for Chrome so it's unsprising for being pro-AVIF
2025-01-07 03:07:06
Still wondering if they would change their mind when jxl-rs is released
HCrikki
2025-01-07 03:18:23
i thought cromite still had jxl decode but its not built in the release builds since a few major versions until they evaluate the impact of a change in upstream chromium
2025-01-07 03:20:14
there shouldve long ago been some ambassadorship program that fosters adoption and sets records straight without needing the core devs stepping out of the zone to clear twitter misunderstandings
jonnyawsom3
A homosapien I forgot where that flawed study was but that's basically what the avif team said.
2025-01-07 03:28:20
https://cloudinary.com/blog/contemplating-codec-comparisons
Meow
2025-01-07 05:16:23
Is this true? I asked almost identically with the jpegxl.info table https://chatgpt.com/share/677cb847-71c4-8009-bac5-c84ac47d72f8
2025-01-07 05:17:50
I know the number of channels for JXL is wrong there
2025-01-07 05:18:39
and the dimension is 1,073,741,823 × 1,073,741,823 not 1,073,741,824 × 1,073,741,824
2025-01-07 05:39:27
A simplified table as well https://chatgpt.com/share/677cbde9-0c70-8009-85ef-a79e5c6ca633
A homosapien
Meow I know the number of channels for JXL is wrong there
2025-01-07 07:15:09
It's a maximum of 4099 channels
2025-01-07 07:16:10
I hope people aren't getting their information from LLMs
Meow
A homosapien It's a maximum of 4099 channels
2025-01-07 09:37:09
ChatGPT once said the maximum is 15
jonnyawsom3
2025-01-07 09:40:14
As far as I can tell most of it is wrong. It's just guessing based on the fact JXL is newer and generally more efficient than old formats
_wb_
RaveSteel They are actually using the entirety of libjpeg-turbo including encoder? That feels quite unnecessary
2025-01-07 09:44:38
Web browsers need to implement jpeg and png _encoding_ too since there is a javascript API for that.
RaveSteel
2025-01-07 09:56:35
Seems a bit bloated, but understandable in that case
Traneptora
_wb_ Web browsers need to implement jpeg and png _encoding_ too since there is a javascript API for that.
2025-01-07 07:58:08
strictly speaking they don't have to support those. but it's a common enough use case to encode a blob to png that it's prudent to do so
2025-01-07 07:58:26
however PNG is an exceptionally simple format (unlike JPEG) so there's minimal overhead in that regard
_wb_
2025-01-07 08:02:58
PNG encoding is obligatory: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL
2025-01-07 08:03:34
JPEG is not, but clearly the API was designed for lossy encoding so it is kind of expected that jpeg encoding will be there
Demiurge
Meow That's the reason?
2025-01-08 07:19:43
The reason was, Google formed the Chrome Codec Team after acquiring On2 technologies, and the tech lead, Jim Bankowski, abused his position and leverage to fast-track his own half-baked projects, webp and avif, into the browser despite zero demand and zero ecosystem interest. Then this same person turned around and tried to gaslight everyone on the Chromium bugtracker by saying there's no ecosystem interest in jxl.
2025-01-08 07:20:26
It's literally just a case of a single person and his ego ruining it for literally everyone.
Meow
2025-01-08 07:23:26
Jim Bankoski also the former CTO of On2 Technologies
Demiurge
2025-01-08 07:26:43
Yeah, that's why I called him the tech lead
2025-01-08 07:27:16
After Google acquired them he was put in charge of the chrome codec team where he used/abused his position to force his half baked formats onto everyone despite ecosystem apathy and pushback
2025-01-08 07:27:56
And he is the key (likely the only) decision maker in removing jxl from Chromium.
2025-01-08 07:28:29
because, as he helpfully tells everyone, there's just "not enough interest"
veluca
2025-01-08 07:49:50
Two comments on that: - I don't think it's particularly healthy to explicitly blame a specific person - the situation *is* more nuanced than that (not that I agree with the decision), there's more factors at play than the personal interests/opinions of a single person... But I probably said too much already 😂
spider-mario
2025-01-08 08:46:11
even without any insider information, one can probably already notice that if Google acquired them, it means that someone else, already at Google before Jim Bankowski, made the decision of acquiring them
2025-01-08 08:47:51
(in fact, that’s about the full extent of what I know about this – I don’t have any insider information I would be trying to hint at)
username
2025-01-08 09:12:24
whenever I complain about the state of things in relation to JXL in Chrome to friends (or anywhere else for that matter) I never pin the blame to any specific names because 1. I'm pretty sure it's the actions of more then one person (a team effort you could say) and 2. It's kinda impossible to know the *exact* chain of events so throwing around all the blame to one specific person without evidence isn't a good thing.
Demiurge
2025-01-08 10:57:13
Personally, I believe people in leadership positions like him should take responsibility for their own leadership, and should avoid using weasel words when justifying their decisions. It's clear that whoever made the choice to acquire On2 trusts the former CTO's leadership and executive decision-making authority as a subject-matter expert in his field, and it appears like that trust is being abused to selfish/egotistical ends And if it all ultimately falls upon a single person having the power and untrammeled authority to put their own ego before literally everyone else's interests, then isn't that the main problem? I personally am not aware of any evidence that it involves anything larger at play beyond him and his team...
2025-01-08 11:02:05
Honestly I wish I understood why leaders shouldn't take credit for their own decisions that affect everyone else. Or what's a better/healthier thing to focus on
2025-01-08 11:14:46
I always thought leaders who use really super vague language to pretend like it wasn’t their decision, are bad leaders. Also when they engage in obvious gaslighting by claiming to be speaking/acting "for the people" or "wider community" or whatever, without even naming anything specific. Like the "wider community" asked for avif/webp instead 😂
2025-01-08 11:17:37
Idk who appointed him as "god of the internet" but if that's apparently his position then I don't see how it's not healthy to hold him accountable like any other bad leader.
2025-01-08 11:19:37
"Oh absolute god of web codecs" at least
2025-01-08 11:26:26
Holding individuals in power accountable for their own decisions, seems very healthy actually the more I think about it...
2025-01-08 11:27:33
And questioning why they have that power...
HCrikki
2025-01-08 01:53:33
accountability suits only those whose arguments resist scrutiny very strongly even from agressive critics
2025-01-08 01:59:22
citing mysterious superiority numbers for aivif they allegedly based decision on and not immediately producing them was already suspect, but then 2 months later dropping a compare that was 2 years old featuring the very first jxl snapshot ever integrated in chrome that doesnt represent the massive improvements since ?
2025-01-08 02:00:15
at least falsify compareasons less incompetently...
_wb_
2025-01-08 02:25:57
Please don't falsify comparisons more competently 🙂 Just try to do fair comparisons...
Demiurge
2025-01-08 09:25:50
Their own ssimu2/butteraugli comparison charts showed AVIF getting clowned on too
2025-01-08 09:26:56
But metric scores are kind of a joke to begin with
2025-01-08 09:27:48
It's funny that they made all these graphs showing avif eating dirt compared to jxl tho
2025-01-08 09:29:03
While telling everyone that the comparison shows the opposite of what it actually shows
2025-01-08 09:29:43
Most people aren't going to actually click through the links and pages and see what it shows though
2025-01-08 09:29:57
And the decode speed data was pretty bogus of course too
2025-01-08 09:30:35
But all that's just getting lost in the details
2025-01-08 09:32:56
The big picture is the absolute hubris of this guy, a leader with a huge amount of power and trust, using it to push his own half baked projects and shut down better planned alternatives
2025-01-08 09:40:20
With all the classic weasel words and gaslighting of a corrupt politician
Meow
2025-01-18 03:19:20
2025-01-18 03:20:32
Oh that 0 becomes -1 now
spider-mario
2025-01-18 03:29:49
what a strange exchange
2025-01-18 03:30:08
well, maybe not that unusual on reddit
Meow
2025-01-18 03:41:36
2025-01-18 03:41:37
The topic isn't about Jpegli however
Demiurge
Meow
2025-01-18 03:42:33
Another example why separating jpegli from the rest of libjxl just doesn't help anything...
ScannerGeek
2025-01-22 04:06:30
The TWAIN Working Group issues a White Paper entitled "The Benefits of Adding JPEG-XL to the ISO PDF Standard and PDF/Raster": https://www.linkedin.com/feed/update/urn:li:activity:7287837787855224832
HCrikki
2025-01-22 04:41:20
from previous teases and meetings its apparently a much more serious effort than implied and meant to cover the entire spectrum of imaging pipelineS (software, devices, cloud, authoring, interchange, digital signing from scanner to cloud...)
2025-01-22 04:43:48
the twain connection is this isnt only about jxl futureproofing pdf, but the nextgen replacement for tiff itself (based on a upcoming revision of the pdf spec)
Meow
2025-01-22 04:51:37
What does the current standard use?
AccessViolation_
2025-01-22 05:18:54
Wasn't there a thing about the PDF Association doing something to make the spec available for free? If so, would they extend that to include the JPEG XL spec if it became part of the PDF standard? 👀
ScannerGeek
HCrikki from previous teases and meetings its apparently a much more serious effort than implied and meant to cover the entire spectrum of imaging pipelineS (software, devices, cloud, authoring, interchange, digital signing from scanner to cloud...)
2025-01-22 05:54:20
TIFF is appealing from a document scanning perspective because of CCIT compression but it's not good for security and metadata. PDF if much better. Nowadays people want to use PDF metadata as a data source but the file sizes often required capturing the images as TIFF and then run a conversion process on images to PDF. So if they could have the benefit of TIFF-like compression and still all the benefits of PDF then there is no reason to use TIFF any longer. Here is a promotional video on TIFF versus PDF/R: https://vimeo.com/414778270
Meow What does the current standard use?
2025-01-22 05:58:40
From stackoverflow, "PDFs in general use internal compression for the objects they contain. But this compression is by no means compulsory according to the file format specifications. All (or some) objects may appear completely uncompressed, and they would still make a valid PDF." Sounds like the objects themselves are not compressed in PDF. In this case an image is an object within PDF.
AccessViolation_ Wasn't there a thing about the PDF Association doing something to make the spec available for free? If so, would they extend that to include the JPEG XL spec if it became part of the PDF standard? 👀
2025-01-22 06:00:34
I think this is a great idea with get PDF Association and JPEG XL working together and somehow make the specification(s) available.
AccessViolation_
2025-01-22 06:02:32
It would be awesome if JXL became an option for PDF, if it meant the spec became free that would make it even better
2025-01-22 06:06:05
I think JXL could be particularly great for PDF, especially with patches and splines. Splines for pen drawings, table borders, trend lines, etc, would work out very well I think. Patches are an obvious one for text (in a way which avoids something like JBIG2's character substitution problem)
HCrikki
2025-01-22 06:06:07
pdf spec is already free afaik, starting from the final non-draft 2.0 (ISO 32000-2:2020) - problem is that many implementations have not updated from 1.7 and older
ScannerGeek
HCrikki pdf spec is already free afaik, starting from the final non-draft 2.0 (ISO 32000-2:2020) - problem is that many implementations have not updated from 1.7 and older
2025-01-22 07:48:41
This is correct in that PDF 2.0 has been out from a while but people don't upgrade because older versions "just work". There has to be a compelling and financially convincing reason to invest in upgrading. Here is a link to download the PDF 2.0 specification courtesy of the PDF Association: https://pdfa.org/resource/iso-32000-2/
Demiurge
ScannerGeek The TWAIN Working Group issues a White Paper entitled "The Benefits of Adding JPEG-XL to the ISO PDF Standard and PDF/Raster": https://www.linkedin.com/feed/update/urn:li:activity:7287837787855224832
2025-01-24 09:37:53
What is the conversion rate between Terajoules and metric tons of CO2? 🤔
2025-01-24 09:38:25
I think it's extremely weird to measure energy consumption in terms of amount of co2
2025-01-24 09:38:53
Or "power an average us home for an hour"
2025-01-24 09:39:09
That seems like such a bizarre and crappy unit of measurement!
2025-01-24 09:39:25
Why do people do this?!
2025-01-24 09:41:37
It's like they're deliberately trying to obscure what they're saying
2025-01-24 09:43:55
Just standard SI metrics please. That includes for data, too. None of this kiB/miB 1024x nonsense either
2025-01-24 09:44:40
And Americans too need to stop using their ridiculous quarts and pounds and gallons and miles and ounces
w
2025-01-26 04:20:46
it's not obscuring, it's pointing out what using energy causes
jonnyawsom3
2025-01-26 04:28:14
A lot of companies list CO2 savings next to prices now, people have a direct idea that "10KG is heavy" but not "10KW = 47% Coal = 6.8KG" or something
w
2025-01-26 05:27:28
it's literally woke
CrushedAsian255
2025-01-26 11:27:37
it's helpful for putting things in perspective
HCrikki
2025-01-27 02:45:49
apple reported the marketshare for ios18 (76% of all devices released in the last 4 years, 68% of ALL ios devices in active use that could interact with/reach the app store) and ios17 (19% of devices released in last 4 years, ). slightly lower numbers for ipados since tablets remain usable longer even without updates
2025-01-27 02:47:26
not quite jxl-related but that mean a really high % of recent and all ios devices decode jxl out of the box between gallery and safari
RaveSteel
2025-01-27 03:43:34
And Android just sits there with no support whatsoever, sad
Quackdoc
2025-01-27 03:44:44
Android support is a weird thing
2025-01-27 03:45:37
basically you have three levels at which one could support it, the android toolkit level, android OS level for java apps and the app level. Im not really sure how the first two would wind up working but with A15+ apps can choose to support it if they pull jxl libs themselves
RaveSteel
2025-01-27 03:49:46
Alas, no real effort is undertaken to support JXL in Android, that I know of at least
2025-01-27 03:50:04
At least we have some apps that support it
HCrikki
RaveSteel And Android just sits there with no support whatsoever, sad
2025-01-27 12:40:16
apps are supposed to handle their own support to bypass os limitations. decoding jxl adds less than 2 megabytes compared to the massive benefits it adds
2025-01-27 12:41:30
consider that a web service can serve png/jpg to browsers and jxl to its own apps, displaying higher quality images with smaller filesizes that load earlier and leave lot of room to add ads if desired
Demiurge
2025-01-27 04:20:12
People need to start taking advantage of the benefits of <:JXL:805850130203934781> today. Just use the braindead simple js polyfill. It works right now and the more people start using the format now the more pressure there will be for platforms to add support. https://github.com/niutech/jxl.js
2025-01-27 04:21:12
People don't have to wait. The more people use it right now the more pressure and justification and momentum for adoption there will be.
2025-01-27 04:23:50
The more people use it right now the more battle tested it will be by the time the big boys decide to flip the switch
2025-01-27 04:24:26
People need to stop hesitating and waiting around and just use it already
AccessViolation_
2025-01-27 06:05:11
I feel like WASM would be a great for that
2025-01-27 06:05:36
Oh, it does use Wasm. Neat
Demiurge
2025-01-27 06:57:41
Yeah. It's ready to go. People should be using jxl to save storage and bandwidth right now, today, instead of waiting around.
2025-01-27 06:58:58
Maybe that will incentivize Microsoft into adding oob support for it in Windows sooner.
2025-01-27 06:59:10
Or even Android
2025-01-27 07:00:21
Apple is already all-in
Quackdoc
2025-01-27 10:13:16
wasm is sloooooow
2025-01-27 10:13:34
use the jxl-oxide extension , at least it doesn't bring browsers to its knees
Demiurge
2025-01-27 11:21:50
What extension?
2025-01-27 11:24:53
Of course it will be faster once a native decoder is included but in the meantime jxl.js is perfectly ready to use right now.
2025-01-27 11:25:44
Just because it could potentially be faster and better optimized, doesn't mean you shouldn't start using it right now. There's no excuse when the polyfill is so easy to use
Quackdoc
2025-01-27 11:38:58
zamfofex's extension
2025-01-27 11:39:26
unfortunately he deleted the repo with the jxl-oxide update, tho I have an archived build here https://cdn.discordapp.com/attachments/673202643916816384/1331819433487765526/jxl-oxide-mv3.7z?ex=6798efc0&is=67979e40&hm=23549a6550579eeaafc3597b37ae758bdf1ff648c191251fa718e0f24193f6d5&
2025-01-27 11:40:08
you can find the libjxl version archived here https://github.com/FOSS-Archives/jxl-crx
HCrikki
2025-01-27 11:47:25
any issues with it? wondering if anything motivated shelfing the code and if republishing as a new extension would be fine
Quackdoc
2025-01-27 11:49:18
uh, I can't find the code any more and zamfofex's github entirely was nuked
HCrikki
2025-01-28 12:36:02
couldnt he be contacted for a copy of the latest snapshot of that branch? i think hes active on sourcehut with an email address i assume is reachable
Quackdoc
2025-01-28 12:42:42
no idea, maybe, but I have a compiled extension which is as much as I need [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&name=av1_dogelol)
HCrikki
2025-01-28 12:51:28
is above zip the latest snapshot thats based on oxide or have there been newer commits without builds ?
Quackdoc
2025-01-28 12:51:33
I found a newer fork https://github.com/Alex313031/jxl-crx
HCrikki is above zip the latest snapshot thats based on oxide or have there been newer commits without builds ?
2025-01-28 12:51:45
jxl-oxide was a branch that was never merged
2025-01-28 12:51:49
but it has the best perf
Demiurge
2025-01-28 01:31:21
Why would the speed be any different
Quackdoc
2025-01-28 01:35:44
jxl oxide vs libjxl? dunno, can think of a few reasons, but the main thing is that it doesn't cripple the browser when you load a lot of pictures
CrushedAsian255
2025-01-28 02:30:40
better wasm optimisation?
jonnyawsom3
2025-01-28 02:31:12
Likely just using a thread limit or lazy loading
AccessViolation_
2025-01-28 08:40:49
LLVM is also much better at autovectorizing Rust than C because of all the static guarantees, which might have something to do with it
2025-01-28 08:41:22
But I don't know if it outputs Wasm with SIMD extensions, from what I remember it wasn't stable in some browsers but idk where it's at now
2025-01-28 08:43:39
the png handling from image-rs started outperforming libpng by removing manual SIMD, and replacing it with serial code with some 'hints' (like iterating over `.chunks(N)` of elements in an array instead of individual elements) on top of the static guarantees that already help a lot
veluca
AccessViolation_ LLVM is also much better at autovectorizing Rust than C because of all the static guarantees, which might have something to do with it
2025-01-28 09:33:04
can I #doubt this statement? 🙂
2025-01-28 09:34:57
(well, ok, maybe it is _better_, but is it _good_? eh)
Quackdoc
2025-01-28 09:47:27
I think its more likely that jxl-oxide is less greedy, and rust wasm in general is really optimized in my experience when comparing to other languages
AccessViolation_
veluca can I #doubt this statement? 🙂
2025-01-28 10:04:13
Absolutely. Here's some more reading on it. This post itself contains some links to resources and a quote from an LLVM developer, if you're interested. https://redlib.nl/r/rust/comments/1ha7uyi/memorysafe_png_decoders_now_vastly_outperform_c/
veluca
2025-01-28 10:05:17
PNG doesn't really have a lot of meaningful code to vectorize
AccessViolation_
2025-01-28 10:06:14
Wouldn't it be good for its row by row filters?
veluca
2025-01-28 10:07:14
yeah but those are the equivalent of hello world for autovec
2025-01-28 10:07:42
anything slightly more complicated, and you're out of luck, usually
AccessViolation_
2025-01-28 10:08:21
Hmm
2025-01-28 10:08:47
Well, if you do end up reading the post I'd be very interested in your take on it (but you don't have to!)
veluca
2025-01-28 10:10:28
I think it's just well written code
2025-01-28 10:10:52
IIRC fdeflate is pretty well optimized
2025-01-28 10:11:42
and in general rust-png manages to put together a bunch of tricks from a bunch of different png/deflate impls
2025-01-28 10:12:19
(but also, for some reason it's meaningfully slower when integrated in Chrome on Windows, and I'm not sure they got to the bottom of it)
AccessViolation_
2025-01-28 10:14:23
Oh I see
2025-01-28 10:20:17
When jxl-rs is working I might fork it and replace some manual SIMD code with serial code that might autovectorize well, and compare the results. It'd be interesting to see how well it's able to do
Demiurge
2025-01-28 02:10:51
If anyone can optimize the hell out of image compression it's veluca
2025-01-28 02:11:17
He could give Yann a run for his money
_wb_
2025-02-01 08:20:59
https://news.ycombinator.com/item?id=42868394
Meow
2025-02-01 09:18:15
https://giannirosato.com/blog/post/88x31/
_wb_ https://news.ycombinator.com/item?id=42868394
2025-02-01 11:00:00
> I don't care about lossy compression.
AccessViolation_
2025-02-01 11:45:42
that's the most hackernews comment they could have posted
VcSaJen
2025-02-01 12:07:55
I miss exclusively lossless formats. How many times have you stumbled upon webp file on the internet and it was actually lossless? For me it's 0.
Meow
2025-02-01 12:14:22
I've submitted some lossless WebP images to Wikimedia Commons
RaveSteel
2025-02-01 12:35:57
I have posted some on discord
_wb_
Meow https://giannirosato.com/blog/post/88x31/
2025-02-01 01:27:23
Probably libjxl is making some bad decisions for such small images. It isn't really taking signaling costs of palette or MA trees into account properly for deciding what transforms to do, and for small images that can make a big difference.
Meow
2025-02-01 07:09:14
libjxl still has a huge potential of improvement
jonnyawsom3
VcSaJen I miss exclusively lossless formats. How many times have you stumbled upon webp file on the internet and it was actually lossless? For me it's 0.
2025-02-01 08:13:34
I'd say 5 or 6 that surprised me, but I've only checked maybe a dozen times total
ScannerGeek The TWAIN Working Group issues a White Paper entitled "The Benefits of Adding JPEG-XL to the ISO PDF Standard and PDF/Raster": https://www.linkedin.com/feed/update/urn:li:activity:7287837787855224832
2025-02-11 12:29:35
The paper is now available at the bottom of their website <https://twain.org/#/user/home>
_wb_
2025-02-14 09:20:52
I hadn't seen this one yet: https://digitalcommons.lib.uconn.edu/libr_pubs/73/
jonnyawsom3
2025-02-14 09:36:36
> It should be remarked that this speed may be partially attributed to JPEG XL’s more concerted use of available memory resources during encoding > > Still, it should be remembered that JPEG XL’s novel predictors, adaptive, image-specific context modelers, and its use of rANS have yet to be fully exploited as the standard is new, and more mature encoders await development around the specification. > Among the lossless bitstreams examined, it is uniquely expressive and poised for future refinement through the adoption of techniques like AI heuristics. > Notably, JPEG XL’s adjustable effort feature, if pareto optimized for given image content, holds the promise of a highly efficient, best-in-class lossless compression scheme that can effectively leverage available hardware resources to work fast and at scale within production environments.
2025-02-14 09:37:11
A shame it was 0.7, otherwise their only complaint about memory usage would be null and likely a higher effort setting used
2025-02-14 09:39:40
_wb_
2025-02-15 09:00:01
I have drafted a ~60-page 'definitive' paper with an extensive overview of the JPEG XL codec, describing its features and coding tools, the design rationale behind it, as well as its performance, history and potential future. Does anyone here want to proofread it before it goes public?
jonnyawsom3
2025-02-15 09:06:25
Could just upload it here similar to spec drafts. Give it a few days and then move ahead if no problems are brought up
_wb_
2025-02-15 09:21:37
I guess. Well it's too large for discord but I could share a Google drive link.
2025-02-15 09:22:52
Currently still waiting a bit for feedback from the co-authors, will share it here after that, maybe in one or two weeks
Demiurge
2025-02-15 01:29:43
Of course, we would love to help proofread it
CrushedAsian255
_wb_ I have drafted a ~60-page 'definitive' paper with an extensive overview of the JPEG XL codec, describing its features and coding tools, the design rationale behind it, as well as its performance, history and potential future. Does anyone here want to proofread it before it goes public?
2025-02-15 01:40:16
How technical is it written? Designed for the average person to understand, or assumes pre-existing knowledge about digital compression?
2025-02-15 01:40:50
Like how your modular mode blog was written in a way such that it was easy for anyone to understand
_wb_
2025-02-15 01:54:52
Maybe a bit more technical than that, but I try to keep it accessible for a relatively broad audience. In general I don't like to obfuscate stuff and prefer simpler, more intuitive explanations...
Demiurge
2025-02-15 01:56:36
There's no such thing as the average person
2025-02-15 01:57:32
My favorite line from George Carlin: Think of how stupid the average person is, and now realize that half of them are even dumber than that!
CrushedAsian255
2025-02-15 01:58:27
I would say with technical things it’s less “stupid” and more they just haven’t / don’t want to learn about it
Demiurge
2025-02-15 01:59:17
It's good to respectfully explain things and give people the tools they need to understand but I believe one should never try to cater to "the average person"
2025-02-15 01:59:58
Otherwise you'll spend way too much time and energy on a lost cause
CrushedAsian255
2025-02-15 02:00:17
I get what you mean, like don’t be overly technical for the sake of it but also don’t dumb it down? Like if they are serious about learning about something they will find beginner resources or ask ChatGPT or something
Demiurge
2025-02-15 02:00:42
Yeah, there's definitely a balance...
2025-02-15 02:00:50
Like everything in life...
2025-02-15 02:04:05
Show them the answer but don't patronize your audience 😂
2025-02-15 02:05:35
When things are explained too much it seems condescending and patronizing, but when things are explained too little and abbreviated too much it's equally annoying,
2025-02-15 02:07:30
Like when you read a wikipedia article about mathematics for example, it looks like the editors are just wanking themselves rather than actually trying to explain anything. Using as many abbreviations as possible and giving circular explanations/definitions
2025-02-15 02:07:49
Like one big lexical circlejerk
2025-02-15 02:10:05
As horrible as the American education system is, it's actually still better to read a math textbook than wikipedia
Meow
2025-02-17 09:32:09
Gotcha even worse than JXR! https://cloudinary.com/documentation/image_optimization#automatic_format_selection_f_auto
2025-02-17 09:34:12
> ```Format Size > AVIF 14.6 KB > GIF 98.0 KB > JPEG 33.5 KB > JPEG XL 21.4 KB > JPEG XR 17.3 KB > PNG 190.0 KB > WebP 16.1 KB```
CrushedAsian255
2025-02-17 09:53:59
Probably quality target difference? Compare butteraugli scores
A homosapien
2025-02-17 10:34:08
Using `shoes.jpg` as the example, I'm comupting image density using butteraugli x BBP (lower is better)``` Webp - 1.487 Avif - 1.683 Jxr - 1.992 Jxl - 2.263 Jpeg - 2.899 Gif - 28.545 ```
2025-02-17 10:34:30
WebP reigns supreme once again!!! <:WebP:1279637593868210368>
_wb_
2025-02-17 11:12:18
``` shoes.png Encoding kPixels Bytes BPP E MP/s D MP/s Max norm SSIMULACRA2 PSNR pnorm BPP*pnorm QABPP Bugs ----------------------------------------------------------------------------------------------------------------------------------------- jxl:d1.55 176 16433 0.7469545 4.205 86.111 2.17507445 80.38877953 42.45 0.86283314 0.644497133453 1.625 0 webp:q88 176 17896 0.8134545 5.431 122.474 2.05666547 81.04900746 44.09 0.89323529 0.726606304308 1.673 0 avif:q76:s6 176 16445 0.7475000 3.116 50.399 1.95412452 85.17212171 45.83 0.83176362 0.621743302693 1.461 0 Aggregate: 176 16911 0.7686811 4.144 81.004 2.05998159 82.20330290 44.10 0.86224537 0.662791742696 1.583 0 ```
2025-02-17 11:13:09
looks to me like avif is doing best on that particular image
2025-02-17 11:15:48
(taking this as the original: https://res.cloudinary.com/demo/image/upload/c_scale,w_500/f_png,q_100/docs/shoes.jpg)
Meow
2025-02-17 12:14:16
Secretly promoting AVIF 🤔
jonnyawsom3
2025-02-17 12:16:46
Huh, I would've expected VarDCT to do quite well on fabics/mesh. Wonder why AVIF is scoring so much higher than the others
_wb_
2025-02-17 12:23:19
it's probably because the downscaling loses most of the details
2025-02-17 12:24:40
``` shoes Encoding kPixels Bytes BPP E MP/s D MP/s Max norm SSIMULACRA2 PSNR pnorm BPP*pnorm QABPP Bugs ----------------------------------------------------------------------------------------------------------------------------------------- jxl:d1.2:6 3154 296535 0.7519217 20.278 268.454 1.91911983 81.45397105 44.55 0.68715054 0.516683429136 1.443 0 webp:q88 3154 303580 0.7697857 10.990 182.851 2.11728089 78.71800776 45.24 0.94099905 0.724367605276 1.630 0 avif:q79:s6 3154 303550 0.7697096 19.156 164.667 2.15847058 81.14123619 47.47 0.93719407 0.721367294283 1.661 0 Aggregate: 3154 301203 0.7637592 16.222 200.689 2.06225438 80.43773833 45.73 0.84623348 0.646318618881 1.575 0 ``` on the full res original (https://res.cloudinary.com/demo/image/upload/docs/shoes) I get results much more in favor of jxl
2025-02-17 12:25:47
depending on which metric you want to believe
2025-02-17 12:31:29
e.g. aligned by pnorm, it looks like avif is only marginally better than webp, and jxl beats both by 20% or so: ``` shoes.jpg Encoding kPixels Bytes BPP E MP/s D MP/s Max norm SSIMULACRA2 PSNR pnorm BPP*pnorm QABPP Bugs ----------------------------------------------------------------------------------------------------------------------------------------- jxl:d2:6 3154 177947 0.4512190 20.195 275.522 3.11908120 73.10846165 41.10 1.07242683 0.483899330224 1.407 0 webp:q83 3154 223950 0.5678685 12.619 226.072 2.42254913 74.12132886 43.29 1.08416923 0.615665511782 1.376 0 avif:q68:s6 3154 218230 0.5533643 21.115 160.492 2.92978614 76.55863516 45.03 1.07835185 0.596721412362 1.621 0 Aggregate: 3154 205645 0.5214533 17.523 215.420 2.80787906 74.59614189 43.11 1.07830532 0.562285852336 1.464 0 ```
2025-02-17 12:35:24
so even for the same image scaled to different resolutions, results can be quite different. And also of course every metric will say something different...
TheBigBadBoy - 𝙸𝚛
2025-02-19 10:26:40
jonnyawsom3
2025-02-20 12:42:09
The OG report to the resident Discord Dev https://discord.com/channels/794206087879852103/805176455658733570/1331809146156220416
2025-02-20 12:43:04
For some reason clicking on it takes a very long time to request the higher res preview. Guess the AVIF or the tonemapping is taking ages
Kaldaien
2025-02-20 01:29:40
That sucks. We used to have a convenient way for sharing HDR images using AVIF.
2025-02-20 01:29:56
Why punish everyone?
jonnyawsom3
Kaldaien That sucks. We used to have a convenient way for sharing HDR images using AVIF.
2025-02-20 01:40:26
It's an update to the WebP thumbnails, the original AVIF is still the same if you download it
2025-02-20 01:40:52
`yuv444p12le(pc, bt2020nc/bt2020/smpte2084), 3840x2160`