|
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_
|
|
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
|
|
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 - 𝙸𝚛
|
|
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`
|
|