|
KKT
|
2024-10-02 09:26:41
|
Oh wait. I did Lemme see why it's not on the one online.
|
|
2024-10-02 09:41:24
|
I'll make the edits to the star ratings mentioned above as well.
|
|
2024-10-02 09:57:08
|
Before I upload it, any more discussion on the stars? I made them mathematically match the lines below, up to a 1/4 of a point.
|
|
|
CrushedAsian255
|
2024-10-03 02:30:30
|
Maybe we should add text to the right of the jpeg xl column or maybe onhover cause otherwise people might get suspicious on why JXL is the best for everything and it looks like we are just patting ourselves on the back
|
|
2024-10-03 02:30:42
|
Not sure if what I just said makes sense hope you understand
|
|
|
KKT
|
2024-10-03 02:42:27
|
Yes, but it's currently an SVG. Maybe that can wait until it's HTMLized?
|
|
|
CrushedAsian255
|
|
KKT
Yes, but it's currently an SVG. Maybe that can wait until it's HTMLized?
|
|
2024-10-03 04:00:53
|
what exactly do you mean by HTMLized? like converting it to a html table?
|
|
2024-10-03 04:01:02
|
isn't svg already part of the html spec?
|
|
|
KKT
|
2024-10-03 04:16:46
|
It was on the list to be converted to HTML and CSS, we just hadn't gotten around to it. I have some code started somewhere. We wanted to pin the header column and the JXL column at the left so the others could be swiped to compare.
|
|
|
w
|
2024-10-03 04:33:34
|
oh like an actual table
|
|
|
Demiurge
|
|
KKT
Before I upload it, any more discussion on the stars? I made them mathematically match the lines below, up to a 1/4 of a point.
|
|
2024-10-03 04:38:48
|
Isn't lossless AVIF even worse than PNG?
|
|
|
username
|
2024-10-03 04:39:10
|
only sometimes
|
|
|
Demiurge
|
2024-10-03 04:39:50
|
jpeg2000 and png should be about the same lossless wise right?
|
|
2024-10-03 04:40:23
|
JPEG and PNG are both equally not parallel
|
|
|
KKT
|
2024-10-03 04:40:35
|
Like this: https://stackoverflow.com/questions/1312236/how-do-i-create-an-html-table-with-a-fixed-frozen-left-column-and-a-scrollable-b
|
|
|
Meow
|
2024-10-03 04:41:19
|
PNG with strong (and very slow) optimisations could be smaller than lossless AVIF
|
|
|
KKT
|
2024-10-03 04:41:34
|
I also switched AVIF to 10/12 Bit
|
|
|
Demiurge
|
2024-10-03 04:42:38
|
Also isn't the HEIF container good for authoring workflows and storing multiple layers etc?
|
|
2024-10-03 04:42:54
|
I don't know why the JXL container would be any better for authoring
|
|
|
KKT
|
2024-10-03 04:55:43
|
HEIF stinks at lossless? I guess I could move it up one?
|
|
|
Meow
|
2024-10-03 04:58:40
|
My own tests told me that lossless HEIC is even slightly larger than lossless AVIF
|
|
|
Quackdoc
|
2024-10-03 04:58:43
|
I would not be surprised if avic or whatever the avc one is, beats avif at lossless rn
|
|
2024-10-03 04:59:39
|
the issue with avif is that aomenc keeps changing shit, not as bad as svtav1, but it does need regularly retested and rechecked what args do
|
|
|
KKT
|
2024-10-03 05:00:39
|
We should also put a footnote about when this was done I guess…
|
|
|
Demiurge
|
2024-10-03 05:18:23
|
I haven't thought about that angle. Lossless is important for authoring I guess... But can't it contain PNG layers too?
|
|
|
_wb_
|
2024-10-03 06:29:08
|
AVIF is based on MIAF which is a subset of HEIF, I'm not sure what it allows in terms of layers.
|
|
2024-10-03 06:31:34
|
HEIF does support layers, so in that respect it's in principle good for authoring workflows. Layer support is already separately in the table as "Overlays".
|
|
2024-10-03 06:35:03
|
For authoring workflow suitability, I was thinking more about things like "does it have a fast lossless encoder?", "can it do CMYK?", "can it store selection masks, spot color channels, etc?", "how does it handle potentially large amounts of metadata?", etc
|
|
|
w
|
2024-10-03 06:37:07
|
fast probably the only one that matters because programs use their own formats anyway
|
|
2024-10-03 06:37:14
|
so they all suck except for png
|
|
|
_wb_
|
2024-10-03 06:41:32
|
I suppose it could make sense to add TIFF to the table
|
|
|
w
|
2024-10-03 06:42:30
|
oh yeah tiff is the best
|
|
|
CrushedAsian255
|
2024-10-03 06:42:55
|
tiff's qualities rely a lot on which specific subset / configuration of TIFF is being used
|
|
2024-10-03 06:44:11
|
also might be worth mentioning tiling as an asterisk for HEIC and AVIF
|
|
2024-10-03 06:44:29
|
as iPhone's HEIC files are 8064x6048
|
|
|
Quackdoc
|
2024-10-03 06:44:39
|
jpg, png, tiff[1], tiff[2], tiff[3], tiff[4]
|
|
|
CrushedAsian255
|
|
_wb_
|
2024-10-03 06:53:40
|
DNG is also TIFF 🙂
|
|
2024-10-03 06:54:02
|
even Exif is really just a small TIFF
|
|
2024-10-03 06:55:11
|
so yes, TIFF can mean a lot of things, and it's a moving target
|
|
|
CrushedAsian255
|
2024-10-03 06:56:40
|
you can just stuff a `jxlc` into a tiff and say "look how good TIFF's compression is"
|
|
|
_wb_
|
2024-10-03 07:00:24
|
yeah, TIFF can do anything, but I guess for the sake of comparison I would look at something like baseline TIFF 6 or something
|
|
|
Quackdoc
|
2024-10-03 07:03:07
|
we need a "yo dawg. I heard you like tiff so I put a tiff in your tiff..." meme.
|
|
|
KKT
|
2024-10-03 07:20:24
|
I'd been working on this but hadn't fixed the scrolling issues on mobile. Maybe if someone has some time to sort it out ( I don't right now). Also this is old and doesn't have the current star and bar ratings correct. In fact, they might be random from when I built it.
|
|
2024-10-03 07:29:39
|
In the Figma file (where the SVG is from), we'd only set it up for 1/4 stars. This does anything, obviously.
|
|
2024-10-03 07:51:35
|
In the mean time, I've replaced the current SVG with the changes discussed.
|
|
|
Demiurge
|
|
_wb_
For authoring workflow suitability, I was thinking more about things like "does it have a fast lossless encoder?", "can it do CMYK?", "can it store selection masks, spot color channels, etc?", "how does it handle potentially large amounts of metadata?", etc
|
|
2024-10-03 08:48:44
|
Ah, makes sense
|
|
|
KKT
|
2024-10-05 10:20:26
|
OK, I created a the new page on the site:
https://jpegxl.info/resources/battle-of-codecs-new.html
Still isn't working properly on mobile (I cannot get that first column to stick). Maybe someone can help it out and then we can swap with currently one?
I know you will, but check the bars and stars again. I _think_ I copied over everything correctly…
|
|
|
Quackdoc
|
2024-10-05 10:31:24
|
you should more professional formats like EXR, and also add at the bottom something like
*Tiff is not mentioned here. There are many competing forms of tiff, of which there are differing degrees of support and compression, It is not possible to make a meaningful comparison, <Format here> would be the closest competing format which can be used as a baseline.
<format here> likely being EXR
it may also be worth specifying what forms of alpha as you have <Associated/Premultiplied alpha> <Straight alpha>
APNG should have both an X and a check because APNG is not part of the official PNG spec, and some applications will just out right not work, and many will still only display the first frame.
|
|
|
spider-mario
|
2024-10-05 10:34:40
|
APNG is part of the PNG spec now
|
|
2024-10-05 10:34:42
|
https://www.w3.org/TR/png-3/#apng-frame-based-animation
|
|
|
Quackdoc
|
2024-10-05 10:35:32
|
wait what [av1_woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&quality=lossless&name=av1_woag)
|
|
|
spider-mario
|
2024-10-05 10:36:55
|
well, strictly speaking, I guess it’s still a draft
|
|
|
Quackdoc
|
2024-10-05 10:39:08
|
wait, is w3c the official spec now? I thought libpng spec was still the official one. last I checked libpng doesn't have apng yet. or are they still having a spitting fight over standards?
Im willing to say w3c is official spec since w3c is what most people actually care about, but still curious
|
|
2024-10-05 10:40:06
|
oh it seems like it is 0.0
|
|
|
spider-mario
|
2024-10-05 10:40:34
|
interesting times, right?
|
|
|
lonjil
|
2024-10-05 10:41:32
|
don't the libpng people still claim that straight alpha is a good idea and totally wasn't a mistake? On that basis alone I'm inclined to go with w3c
|
|
|
Quackdoc
|
2024-10-05 10:43:06
|
well its good on low end hardware
|
|
|
CrushedAsian255
|
|
lonjil
don't the libpng people still claim that straight alpha is a good idea and totally wasn't a mistake? On that basis alone I'm inclined to go with w3c
|
|
2024-10-05 10:45:39
|
What is the difference?
|
|
|
lonjil
|
2024-10-05 10:47:31
|
the difference is that straight alpha is bad, and associated alpha is good (actually, it's 1am, I am too tired to talk about it, so hopefully someone else can give insight)
|
|
|
spider-mario
|
2024-10-05 10:48:52
|
I’ll put this here again (PTGui):
|
|
|
Quackdoc
|
|
spider-mario
I’ll put this here again (PTGui):
|
|
2024-10-05 10:52:32
|
chad associated alpha [av1_woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&quality=lossless&name=av1_woag) the best term
|
|
|
CrushedAsian255
What is the difference?
|
|
2024-10-05 10:52:50
|
"straight" alpha is cheap to compute, associated alpha actually works more or less the same way light does
|
|
2024-10-05 10:53:48
|
with straight alpha pixels are just that, RGB = color, A = visibility.
however with associated alpha RGB = energy, A = how much energy gets imparted on the background
|
|
|
spider-mario
|
|
CrushedAsian255
What is the difference?
|
|
2024-10-05 10:55:35
|
“straight” alpha: blended = alpha × fg + (1 − alpha) × bg
associated alpha: blended = fg + (1 − alpha) × bg
|
|
2024-10-05 10:55:50
|
consequence: with associated alpha, you can have complete transparency (alpha = 0) that still adds stuff on top
|
|
|
Quackdoc
|
2024-10-05 10:56:40
|
associated alpha:
|
|
|
spider-mario
|
2024-10-05 10:56:43
|
with straight alpha, that’s not possible because whatever pixel data you have will be multiplied by 0
|
|
|
Quackdoc
|
2024-10-05 10:56:58
|
straight alpha:
|
|
|
CrushedAsian255
|
2024-10-05 10:57:12
|
So in associated alpha the A is more like an “opacity” where as in straight it’s a lerp factor?
|
|
|
spider-mario
|
|
CrushedAsian255
|
2024-10-05 10:57:44
|
So true “don’t add anything” transparent for Associated has to be 0,0,0,0?
|
|
2024-10-05 10:57:48
|
Otherwise it’s just adding?
|
|
|
spider-mario
|
|
lonjil
|
2024-10-05 10:58:04
|
I wish more formats supported 3-channel alpha
|
|
|
spider-mario
|
2024-10-05 10:58:15
|
so with straight alpha, discarding the pixel values of `alpha=0` pixels is a valid compression technique
|
|
2024-10-05 10:58:18
|
with associated alpha, it’s not
|
|
|
CrushedAsian255
|
2024-10-05 10:58:31
|
Which does jpeg xl use?
|
|
|
lonjil
|
2024-10-05 10:58:35
|
either
|
|
|
CrushedAsian255
|
2024-10-05 10:59:10
|
Can you make tinted glass using associated?
|
|
|
spider-mario
|
2024-10-05 10:59:24
|
that’s sort of independent from that, AFAICT
|
|
2024-10-05 10:59:31
|
but EXR does support separate r, g and b alphas
|
|
|
CrushedAsian255
|
2024-10-05 10:59:44
|
Can jxl?
|
|
|
Quackdoc
|
2024-10-05 11:01:28
|
the demo is janky but it gives the gist http://distantsoulsdev.blogspot.com/2013/02/premultiplied-alpha-online-interactive.html
|
|
|
lonjil
|
2024-10-05 11:01:42
|
brb joining the swedish standards org to become a jpeg committee member with the power to veto future versions of the jxl standard unless they specify standardized extra channel names for per color alpha
|
|
|
Quackdoc
|
|
CrushedAsian255
Can you make tinted glass using associated?
|
|
2024-10-05 11:02:01
|
yes
|
|
2024-10-05 11:02:27
|
you can also represent things like candle flames which have lots of energy, but no physical opacity
|
|
|
lonjil
|
|
lonjil
brb joining the swedish standards org to become a jpeg committee member with the power to veto future versions of the jxl standard unless they specify standardized extra channel names for per color alpha
|
|
2024-10-05 11:03:43
|
(hm, this could be specified in a way that sorta works with older decoders and viewers. just need to make the current alpha be "average alpha" and then have two different chroma-alpha channels that can be combined with the regular channel to give you red, green, and blue alpha...)
|
|
|
spider-mario
|
|
CrushedAsian255
Can jxl?
|
|
2024-10-05 11:05:59
|
it can to the extent that you can add extra channels and decide that they represent those, but as Lonnie alludes to, I believe that’s about the current extent of it
|
|
2024-10-05 11:06:10
|
there isn’t a dedicated enum value in `JxlExtraChannelType`
|
|
|
CrushedAsian255
|
2024-10-05 11:06:23
|
Is there anything that straight alpha can do that premultiplied can’t?
|
|
|
Quackdoc
|
2024-10-05 11:06:28
|
be cheap
|
|
2024-10-05 11:07:33
|
if you are doing compositing on a low end cpu like embedded, straight alpha performs better
|
|
|
lonjil
|
2024-10-05 11:07:47
|
That seems unlikely
|
|
|
CrushedAsian255
|
2024-10-05 11:07:51
|
It sounds like more work though?
|
|
|
Quackdoc
|
2024-10-05 11:07:58
|
it is also less efficient to compress as alluded to earlier
|
|
|
CrushedAsian255
|
2024-10-05 11:07:58
|
There is now an extra multiplication
|
|
|
Quackdoc
|
|
CrushedAsian255
There is now an extra multiplication
|
|
2024-10-05 11:08:08
|
no, that is a misnomer
|
|
2024-10-05 11:08:16
|
this is why premultiplied is a dumb term
|
|
|
lonjil
|
2024-10-05 11:09:07
|
Associated should have smaller color values, which would compress better ;)
|
|
|
Quackdoc
|
2024-10-05 11:09:16
|
the math looks linger, but hardware can optimize it better
|
|
|
lonjil
|
|
Quackdoc
the math looks linger, but hardware can optimize it better
|
|
2024-10-05 11:09:48
|
That seems unlikely
|
|
|
CrushedAsian255
|
|
lonjil
Associated should have smaller color values, which would compress better ;)
|
|
2024-10-05 11:10:02
|
With Associated don’t you also lose quality in low-opacity sections?
|
|
|
Quackdoc
the math looks linger, but hardware can optimize it better
|
|
2024-10-05 11:10:35
|
How? It’s literally just 1 less operation, how would a multiplication be faster than not doing one?
|
|
|
lonjil
|
|
CrushedAsian255
With Associated don’t you also lose quality in low-opacity sections?
|
|
2024-10-05 11:10:46
|
Sure, but it's not like your low end 8 bit pipeline could use that precision anyway
|
|
|
CrushedAsian255
|
|
lonjil
Sure, but it's not like your low end 8 bit pipeline could use that precision anyway
|
|
2024-10-05 11:11:32
|
I almost always use rgba16 or rgba32/hdr
|
|
|
spider-mario
|
2024-10-05 11:11:51
|
then the precision of the pixel values should also be just fine
|
|
2024-10-05 11:11:54
|
it goes both ways
|
|
2024-10-05 11:12:33
|
(well, especially with EXR, which is floating point anyway)
|
|
|
CrushedAsian255
|
|
spider-mario
(well, especially with EXR, which is floating point anyway)
|
|
2024-10-05 11:13:00
|
Can jpeg xl EXR data losslessly?
|
|
2024-10-05 11:13:12
|
JXL should be able to do floating point iirc
|
|
|
spider-mario
|
2024-10-05 11:13:15
|
yes
|
|
2024-10-05 11:13:37
|
albeit maybe only the 16-bit variant
|
|
2024-10-05 11:14:17
|
(which is the default and, iirc, the only one exposed by EXR’s basic API)
|
|
|
CrushedAsian255
|
2024-10-05 11:14:34
|
Why not 32bit? Isn’t it just ieee754?
|
|
|
spider-mario
|
2024-10-05 11:14:55
|
EXR’s default is half-precision
|
|
|
CrushedAsian255
|
2024-10-05 11:15:15
|
I mean EXR to JXL
|
|
|
spider-mario
|
2024-10-05 11:16:04
|
yes, I meant that JXL can losslessly compress 16-bit EXRs
|
|
|
CrushedAsian255
|
2024-10-05 11:16:28
|
Can it not compress 32bit losslessly?
|
|
|
spider-mario
|
2024-10-05 11:16:28
|
https://openexr.com/en/latest/TechnicalIntroduction.html
> HALF: 16-bit floating-point numbers; for regular image data.
|
|
|
CrushedAsian255
|
|
spider-mario
https://openexr.com/en/latest/TechnicalIntroduction.html
> HALF: 16-bit floating-point numbers; for regular image data.
|
|
2024-10-05 11:16:46
|
I am aware of the different data types
|
|
|
spider-mario
|
|
CrushedAsian255
Can it not compress 32bit losslessly?
|
|
2024-10-05 11:18:24
|
I’m a bit fuzzy on the details (<@794205442175402004> should be able to correct me / elaborate), but from what I recall, lossless can do up to 24 bits
|
|
|
CrushedAsian255
|
2024-10-05 11:18:50
|
I thought it was 24 bit int or 32 bit float iirc
|
|
|
spider-mario
|
2024-10-05 11:19:11
|
ah, could be
|
|
2024-10-05 11:19:45
|
but anyway, from what I remember, in the current code, when we read OpenEXR files, we do so using the basic API, which gives us half-precision values
|
|
|
lonjil
|
2024-10-05 11:20:07
|
Yes, JXL modular does 32 bit floating point losslessly
|
|
|
CrushedAsian255
|
2024-10-05 11:20:38
|
Not sure why it can’t do 32 bit int lossless
|
|
|
lonjil
|
2024-10-05 11:21:06
|
Because it uses fp32 math and fp32 can only represent integers up to that limit
|
|
|
CrushedAsian255
|
2024-10-05 11:21:38
|
Isn’t modular in the integer domain not in float domain?
|
|
|
lonjil
|
2024-10-05 11:21:58
|
It does a bit of both as I recall
|
|
|
_wb_
|
2024-10-05 11:22:25
|
lossless float32 works, lossless uint32 doesn't because 1) we use int32 internally in modular buffers, 2) libjxl uses float32 internally (also in modular mode, since there are still things like frame blending that are only implemented with float32 buffers)
|
|
|
CrushedAsian255
|
|
_wb_
lossless float32 works, lossless uint32 doesn't because 1) we use int32 internally in modular buffers, 2) libjxl uses float32 internally (also in modular mode, since there are still things like frame blending that are only implemented with float32 buffers)
|
|
2024-10-05 11:22:49
|
Also does libjxl only use floating point operations that are guaranteed to be the exact same across architectures?
|
|
|
lonjil
|
|
_wb_
lossless float32 works, lossless uint32 doesn't because 1) we use int32 internally in modular buffers, 2) libjxl uses float32 internally (also in modular mode, since there are still things like frame blending that are only implemented with float32 buffers)
|
|
2024-10-05 11:25:28
|
Some modular transformations increase the bit depth, right? So you can't store 16 bit int data in level 5 images due to it allowing 16 bit buffers. So even without the fp32 stuff, int32 wouldn't work or would at least work poorly.
|
|
|
_wb_
|
|
CrushedAsian255
Also does libjxl only use floating point operations that are guaranteed to be the exact same across architectures?
|
|
2024-10-05 11:26:30
|
not sure — if you just want to do lossless float32 without frame blending or any other things that require operations to be done in float arithmetic, then there is no problem, but I dunno what happens if there is stuff happening, I assume there might be differences between platforms...
|
|
|
Quackdoc
|
|
CrushedAsian255
How? It’s literally just 1 less operation, how would a multiplication be faster than not doing one?
|
|
2024-10-05 11:26:51
|
really simple reason, DRM planes work like that
|
|
2024-10-05 11:26:54
|
at least they used to
|
|
|
CrushedAsian255
|
|
_wb_
not sure — if you just want to do lossless float32 without frame blending or any other things that require operations to be done in float arithmetic, then there is no problem, but I dunno what happens if there is stuff happening, I assume there might be differences between platforms...
|
|
2024-10-05 11:27:32
|
How does this stay lossless then?
|
|
|
_wb_
|
|
lonjil
Some modular transformations increase the bit depth, right? So you can't store 16 bit int data in level 5 images due to it allowing 16 bit buffers. So even without the fp32 stuff, int32 wouldn't work or would at least work poorly.
|
|
2024-10-05 11:28:22
|
yes, lossless float32 can only use simple modular, no RCTs or Squeeze — though in principle you could use those if the image is in [0,1] range, since then the first two bits are zeroes so you only need 30-bit numbers...
|
|
|
CrushedAsian255
|
|
Quackdoc
really simple reason, DRM planes work like that
|
|
2024-10-05 11:28:32
|
Never knew Widevine made A350s
|
|
|
Quackdoc
|
2024-10-05 11:28:49
|
[av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
|
|
|
CrushedAsian255
|
|
_wb_
yes, lossless float32 can only use simple modular, no RCTs or Squeeze — though in principle you could use those if the image is in [0,1] range, since then the first two bits are zeroes so you only need 30-bit numbers...
|
|
2024-10-05 11:30:32
|
Maybe (eventually in the far future) some kind of “JXL Custom” thing can be added (like Opus Custom) that adds a bunch of these hacks for applications that might want them
|
|
|
lonjil
|
2024-10-05 11:30:53
|
Looking forward to the day when DICOM shows up like "hey we need 38 bits of precision if we're going to replace j2k with jxl" and we end up with Extended JXL with fp64
|
|
|
Quackdoc
|
2024-10-05 11:31:45
|
oh shit, actually it looks like they may do both now 0.0
|
|
2024-10-05 11:32:02
|
I guess it would be hardware dependant then
|
|
|
_wb_
|
|
CrushedAsian255
How does this stay lossless then?
|
|
2024-10-05 11:32:05
|
pfm -> jxl -> pfm should be lossless. But I'm not sure what happens if you have e.g. a two-layer float32 image with alpha blending, it's possible that the exact outcome of the blended image will depend on the platform.
|
|
|
lonjil
|
2024-10-05 11:33:14
|
It is in principle to have exact reproducibility across platforms that are ieee 754 compliant, but there are many practical annoyances
|
|
2024-10-05 11:33:56
|
Like any random library running in the same process may flip some flag that controls how fp math works
|
|
|
_wb_
|
|
lonjil
Looking forward to the day when DICOM shows up like "hey we need 38 bits of precision if we're going to replace j2k with jxl" and we end up with Extended JXL with fp64
|
|
2024-10-05 11:35:17
|
I'm not aware of any type of imaging sensor where float32 is not plenty of precision to store the data. That limit of 38 bits in j2k has always puzzled me: why would anyone want to work with such an impractical bit depth?
|
|
|
lonjil
|
2024-10-05 11:35:46
|
The requirement came from medical imaging
|
|
2024-10-05 11:36:15
|
I have no idea why they wanted 40 bits with 2 lost due to transformations, but that's why j2k has that limit
|
|
2024-10-05 11:37:17
|
My unsubstantiated theory is that medical people haven't heard of floating point, and so store wide ranging low precision data in high bit depth
|
|
2024-10-06 09:02:34
|
> The upper limit of 40 on Bits Allocated (0028,0100) and 38 on Bits Stored (0028,0101) reflects the maximum JPEG 2000 sample precision of 38 and the DICOM requirement to describe Bits Allocated (0028,0100) as multiples of bytes (octets).
that's a really weird-ass requirement.
I guess they wanted to be able to store 32 bit data, but the reversible color transform requires extra bits, but extra bits had to be added in full byte increments, thus resulting in 38 bits.
|
|
|
CrushedAsian255
|
2024-10-06 09:23:02
|
Can jxl store a 24 bit float?
|
|
|
lonjil
|
2024-10-06 09:26:16
|
what's a 24 bit float?
|
|
|
CrushedAsian255
|
2024-10-06 09:39:33
|
not a specific defined thing
|
|
2024-10-06 09:40:34
|
you could give 17 bit mantissa, 6 bit exponent, 1 bit sign
|
|
2024-10-06 09:40:46
|
or some other arbitrary combination
|
|
|
Tirr
|
2024-10-06 09:45:30
|
yes, bits per sample and exponent bits can be set and the samples are interpreted as in IEEE 754 (see Section D.3.5)
|
|
|
CrushedAsian255
|
2024-10-06 09:47:05
|
how does it upsample it?
|
|
2024-10-06 09:47:12
|
just pad the mantissa with 0s?
|
|
|
Demiurge
|
2024-10-06 09:59:47
|
It's like a 32 bit float but with more zeroes
|
|
2024-10-06 10:01:06
|
Is negative zero a mathematically significant thing?
|
|
2024-10-06 10:01:53
|
I don't think it is
|
|
|
CrushedAsian255
|
2024-10-06 10:02:50
|
in floats it is
|
|
2024-10-06 10:03:04
|
a 0 doesn't mean *0*, it just means "smaller than any other number that's representable"
|
|
2024-10-06 10:03:13
|
so let's say the smallest number you can represent is 0.125
|
|
2024-10-06 10:03:23
|
1/16 will equal 0
|
|
2024-10-06 10:03:28
|
but -1/16 will equal -0
|
|
|
Demiurge
|
2024-10-06 10:53:28
|
But not mathematically meaningful or distinct from 0
|
|
2024-10-06 10:53:45
|
Only in computers
|
|
|
KKT
|
2024-10-08 05:13:19
|
HDR test page from <@794205442175402004>'s personal site added to the site:
https://jpegxl.info/resources/hdr-test-page.html
|
|
2024-10-09 06:06:05
|
So this section on the front page bugged me a bit but I never fixed it:
|
|
2024-10-09 06:06:18
|
**High Bit Depth Support**
Up to 32 bits per channel for higher precision image representation, enabling more accurate color reproduction — billions instead of millions of colors. Ensure your images maintain their vibrancy in the most demanding applications.
|
|
2024-10-09 06:07:17
|
Since it's obviously a lot more than billions… or trillions…
|
|
2024-10-09 06:13:23
|
How about something like
Not just millions, billions or trillions of colors… 7.92 x 10²⁸ to be exact. Move beyond the limitations of 8, 10 or 12 bits — capture every subtle detail with an extraordinary range of shades. Perfect for applications that demand the highest fidelity and realism in visual content.
|
|
|
A homosapien
|
2024-10-09 06:15:07
|
Octillion is the word you are looking for
|
|
2024-10-09 06:16:38
|
either way its around 21 orders of magnitude more colors than typical a 8 bit image
|
|
2024-10-09 06:17:07
|
which is completely unfathomable
|
|
|
KKT
|
2024-10-09 06:21:33
|
Oh yes, I'd looked it up and forgot about it.
|
|
2024-10-09 06:22:53
|
So that's 79.2 Octillion?
|
|
|
A homosapien
|
2024-10-09 06:24:22
|
Yes, its an insane number.
To put that difference in to perspective, that is like comparing the speed of bedrock erosion to the speed of light.
|
|
2024-10-09 06:26:33
|
Another example is the size of a human compared to the milky way galaxy
That's how big of a difference 21 orders of magnitude is
|
|
|
_wb_
|
2024-10-09 07:58:15
|
It's float so you effectively get even more orders of magnitude difference. But that's pretty much just theoretically, in practice it's just "there is no limit" since I don't think there will ever be any sensor that is precise enough to be limited by float32.
|
|
|
AccessViolation_
|
2024-10-09 08:23:59
|
I thought 32 bit could be integer and float. Does it only do float at that bit depth?
|
|
|
jonnyawsom3
|
2024-10-09 08:26:14
|
Currently libjxl uses float32 internally, which can only handle int24 losslessly. It can be raised with a spec addition in future but for now there's no reason to
|
|
|
CrushedAsian255
|
|
Currently libjxl uses float32 internally, which can only handle int24 losslessly. It can be raised with a spec addition in future but for now there's no reason to
|
|
2024-10-09 08:30:04
|
Advanced Profile anyone?
|
|
|
AccessViolation_
|
2024-10-09 08:32:34
|
That does limit my theoretical idea for an astrophotography format with crazy dynamic range *somewhat*, but 2^24 with a linear luminance profile is still 65536 "orders of sRGB" to work with for the dimmest and brightest objects together in an image
|
|
|
lonjil
|
|
AccessViolation_
That does limit my theoretical idea for an astrophotography format with crazy dynamic range *somewhat*, but 2^24 with a linear luminance profile is still 65536 "orders of sRGB" to work with for the dimmest and brightest objects together in an image
|
|
2024-10-09 08:33:52
|
but you still have the floating point exponent for dynamic range
|
|
2024-10-09 08:34:28
|
you get 24 bits of precision, and a lot of dynamic range
|
|
|
_wb_
|
2024-10-09 08:37:20
|
Basically doing linear in float32 is like doing something like HLG in int32
|
|
|
AccessViolation_
|
2024-10-09 08:37:53
|
My main concern with float was that values near zero would have more precision. This is an issue because the goal is not for users to view the image as is, there would be an exposure slider or bracketing range which could be adjusted to bring different luminance ranges into 'focus' (a range that your display can handle). It would mean you get a lot of precision on for example a planet, but when you adjust the exposure to the star next to it, you find there's a lot more banding because its values are on the higher end in the float range
|
|
|
_wb_
|
2024-10-09 08:40:10
|
Still, usually a log space makes more sense for light than a linear one, if you want to allocate precision in an optimal way.
|
|
|
AccessViolation_
|
|
_wb_
Basically doing linear in float32 is like doing something like HLG in int32
|
|
2024-10-09 08:40:12
|
Hmm I guess it would be possible to compensate for the size/precision trade off in the float range with a profile
|
|
|
_wb_
|
2024-10-09 08:40:57
|
If you adjust exposure that's a multiplicative thing, not an additive thing. So log space will be better than linear.
|
|
2024-10-09 08:41:55
|
Whether you get to a log space via a transfer function or via the numerical representation matters less.
|
|
|
lonjil
|
|
AccessViolation_
My main concern with float was that values near zero would have more precision. This is an issue because the goal is not for users to view the image as is, there would be an exposure slider or bracketing range which could be adjusted to bring different luminance ranges into 'focus' (a range that your display can handle). It would mean you get a lot of precision on for example a planet, but when you adjust the exposure to the star next to it, you find there's a lot more banding because its values are on the higher end in the float range
|
|
2024-10-09 08:43:40
|
no, all values would have 24 bits of precision!
|
|
|
AccessViolation_
|
2024-10-09 08:43:46
|
If I understand correctly, I could use a log transfer function to make it so that it can represent about the same amount of values between 1 and 20 as between 10000 and 10020?
|
|
|
lonjil
|
|
lonjil
no, all values would have 24 bits of precision!
|
|
2024-10-09 08:45:31
|
floating point gives you a 24 bit "window" that you can slide up and down
|
|
|
AccessViolation_
|
2024-10-09 08:46:00
|
Oh, that works
|
|
2024-10-09 09:05:10
|
Well I've got a long way to go before I can even attempt a project like this for sure. Eventually I think a screenshot mod for SpaceEngine would be plausible, as the game natively has an adjustable exposure settings and space objects have accurate relative luminance. Then forking a decoder/viewer would be harder still.
I just got started with QOI yesterday, which seemed like a good "first few steps" on a journey about image en/decoders
|
|
|
CrushedAsian255
|
|
AccessViolation_
Well I've got a long way to go before I can even attempt a project like this for sure. Eventually I think a screenshot mod for SpaceEngine would be plausible, as the game natively has an adjustable exposure settings and space objects have accurate relative luminance. Then forking a decoder/viewer would be harder still.
I just got started with QOI yesterday, which seemed like a good "first few steps" on a journey about image en/decoders
|
|
2024-10-09 09:06:08
|
You don’t really need to understand the actual format to use it, the API will handle most of that for you
|
|
|
AccessViolation_
|
2024-10-09 09:08:25
|
Ah, that's good to know I suppose
|
|
|
CrushedAsian255
|
2024-10-09 09:09:08
|
You just chuck it some pixels and information about the colours and it should handle the rest
|
|
|
jonnyawsom3
|
|
AccessViolation_
That does limit my theoretical idea for an astrophotography format with crazy dynamic range *somewhat*, but 2^24 with a linear luminance profile is still 65536 "orders of sRGB" to work with for the dimmest and brightest objects together in an image
|
|
2024-10-09 09:13:52
|
There was someone where who also needed higher bitdepth, so they ended up splitting it into 2 channels and adapting their viewer to interpret it
|
|
|
CrushedAsian255
|
|
There was someone where who also needed higher bitdepth, so they ended up splitting it into 2 channels and adapting their viewer to interpret it
|
|
2024-10-14 01:00:25
|
Why would you need more than f32 depth?
|
|
|
jonnyawsom3
|
2024-10-14 01:01:20
|
Almost the same use case, satellite imagery with location coordinates
|
|
|
CrushedAsian255
|
2024-10-14 01:01:40
|
Maybe jpeg xl satellite profile with f64?
|
|
2024-10-14 01:02:11
|
I don’t see an inherent reason why it can’t be done, the spec is mostly bit depth agnostic apart from the headers
|
|
2024-10-14 01:02:31
|
Obviously the decoder would have to use f64 buffers but it should work
|
|
2024-10-14 01:06:50
|
Although this would probably not be very high priority as this seems like a niche use case
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-10-25 03:14:36
|
where are the nightly libjxl builds link in the new website ?
|
|
2024-10-25 03:14:43
|
can't find it anymore [⠀](https://cdn.discordapp.com/emojis/654081052108652544.webp?size=48&quality=lossless&name=av1_Hmmm)
|
|
|
yoochan
|
|
TheBigBadBoy - 𝙸𝚛
where are the nightly libjxl builds link in the new website ?
|
|
2024-10-25 03:54:41
|
Like this ? https://artifacts.lucaversari.it/libjxl/libjxl/latest/
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-10-25 04:01:19
|
yeah
|
|
2024-10-25 04:01:58
|
but this link was on the old website
on the new one, I cannot find that link
|
|
|
HCrikki
|
2024-10-25 05:53:33
|
not just nightlies, official binaries for the reference library libjxl themselves seem to be not linked or downloadable anywhere on new site
|
|
2024-10-25 05:54:55
|
same for the github page and issues iinm
|
|
|
KKT
|
2024-10-25 06:42:42
|
Where were they on the old site? I'm sure we can find a good place on the new site.
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
KKT
Where were they on the old site? I'm sure we can find a good place on the new site.
|
|
2024-10-25 06:49:26
|
nightly dev builds on main page, section `Software`
|
|
|
w
|
2024-10-26 03:41:02
|
asian website vs western website
|
|
|
KKT
|
|
username
|
2024-10-26 11:03:06
|
this reminds me that I still have changes I've wanted to submit to the site but I keep getting distracted by other things. mostly cleaning up links and other small things
|
|
2024-10-26 11:07:01
|
though I have thought about maybe restoring the extra affects for the main big JXL logo at the top of the site such as the glow and pixels but in a way that doesn't degrade performance as much, doesn't have visual issues, and is a bit more subtle'ish
|
|
2024-10-26 11:08:08
|
the testing I was doing went well but I got distracted by other things lol
|
|
2024-10-26 11:09:51
|
iirc the glow effect was removed because it had visual issues and didn't work right on mobile or something? and the pixel effect(s) where removed due to concerns about performance and being a bit over the top
|
|
|
KKT
|
2024-10-27 04:01:16
|
Not really. The glow wasn't supposed to be there in the end, but it was still there at certain sizes (so it came and went as you resized the browser). We'd been testing various iterations of it it, but it's fine without it.
We thought the pixel effect was fun, because like the the animated wave, it kind of gives a nod to the underlying tech – it was meant to look like pixels. But I was testing it on Safari, where it performed perfectly. On the chromium browsers it was a hot mess. <@794205442175402004> wasn't a fan, so I was fine removing it all together.
|
|
|
Quackdoc
|
|
KKT
Done
|
|
2024-10-27 04:20:54
|
thisa makes it look like jxlatte/oxide/coder are part of the reference implementations,
|
|
|
jonnyawsom3
|
2024-10-27 04:23:51
|
Well... They kinda are, if you want to use them as reference :P
|
|
|
KKT
|
|
Quackdoc
thisa makes it look like jxlatte/oxide/coder are part of the reference implementations,
|
|
2024-10-27 04:38:19
|
Is there a title above them that would make you happier?
|
|
|
Quackdoc
|
2024-10-27 04:40:10
|
not off the top of my head, ill keep thinking on it
|
|
2024-10-27 04:40:52
|
possibly just split it using 3rd party implementations, coder is more of an api bridge though,
|
|
|
A homosapien
|
2024-10-27 05:17:00
|
I made a mockup
|
|
2024-10-27 05:19:09
|
Following the formatting of the jpeg foundation: https://jpeg.org/jpegxt/software.html
|
|
|
Quackdoc
|
2024-10-27 05:19:58
|
contributions is really... awkward for this?
|
|
2024-10-27 05:20:55
|
third party implementations and bindings would probably be better here
|
|
|
w
|
2024-10-27 05:21:17
|
third party software
|
|
|
Quackdoc
|
2024-10-27 05:21:45
|
wouldn't that just be under "software"?
|
|
|
w
|
2024-10-27 05:22:47
|
well implementations is also wrong
|
|
2024-10-27 05:22:50
|
libraries
|
|
|
CrushedAsian255
|
2024-10-27 05:23:08
|
Theyre libraries that implement the JXL standard
|
|
|
Quackdoc
|
2024-10-27 05:23:25
|
would implementation also be wrong? it sounds right to me hmmmm
|
|
|
CrushedAsian255
|
2024-10-27 05:23:28
|
I would go with reference / third party implementation(s)
|
|
|
Quackdoc
would implementation also be wrong? it sounds right to me hmmmm
|
|
2024-10-27 05:23:32
|
Same
|
|
|
A homosapien
|
2024-10-27 05:26:26
|
so like this?
|
|
2024-10-27 05:26:55
|
Maybe the implementations title at the top is redundant
|
|
|
CrushedAsian255
|
2024-10-27 05:26:59
|
isn't `libjxl` also an implementation?
|
|
2024-10-27 05:27:15
|
from `libjxl/README.md`: `JPEG XL reference implementation`
|
|
|
w
|
2024-10-27 05:28:21
|
libraries and apis
|
|
2024-10-27 05:28:40
|
as a dev that's what i look for
|
|
|
CrushedAsian255
|
2024-10-27 05:29:20
|
Maybe:
```# Libraries and APIs
## Reference Implementation
## Third-Party Bindings
## Third-Party Implementations
```??
|
|
|
w
|
2024-10-27 05:29:34
|
more separations is YAP
|
|
|
A homosapien
|
2024-10-27 05:30:15
|
Too much, if a dev really wants to look for something specific, they would just look at the github pages
|
|
|
CrushedAsian255
|
2024-10-27 05:30:22
|
fair
|
|
2024-10-27 05:30:35
|
what part of the webpage is this in?
|
|
|
A homosapien
|
2024-10-27 05:30:49
|
Supported software
|
|
|
w
|
2024-10-27 05:32:55
|
libraries and apis
libjxl: C++ reference implementation
jxlatte: Java decoder
jxl-oxide: Rust decoder
etc
|
|
|
A homosapien
|
2024-10-27 05:35:58
|
I think this works
|
|
|
Quackdoc
|
2024-10-27 05:58:11
|
yeah I like that, tho nightly dev builds should be moved
|
|
2024-10-27 05:58:24
|
or just aligned with libjxl
|
|
|
CrushedAsian255
|
|
Meow
|
2024-10-27 06:49:33
|
AV IF
|
|
|
KKT
|
2024-10-27 03:59:38
|
I was trying to keep the old JXL logo attached to libjxl, since <@794205442175402004> was going to keep using for that. The other don't have logos…
|
|
|
_wb_
|
2024-10-27 04:21:24
|
Yes, I would propose to use
<:JPEG_XL:805860709039865937> for the official JPEG XL standard created and maintained by the JPEG committee
<:jxl:1300131149867126814> for the .jxl image file format and the broader community around it
<:JXL:805850130203934781> for libjxl (and I guess other implementations can make variants of it and use that as a logo?)
|
|
2024-10-27 04:32:37
|
Maybe jxl-rs could have a brownish, rusty version of that logo? 😛
|
|
|
Meow
|
|
_wb_
Yes, I would propose to use
<:JPEG_XL:805860709039865937> for the official JPEG XL standard created and maintained by the JPEG committee
<:jxl:1300131149867126814> for the .jxl image file format and the broader community around it
<:JXL:805850130203934781> for libjxl (and I guess other implementations can make variants of it and use that as a logo?)
|
|
2024-10-27 04:51:04
|
How about this Discord server
|
|
|
_wb_
|
2024-10-27 05:07:46
|
I guess <:jxl:1300131149867126814> might make more sense for the discord server, I like the current rotating server logo though...
|
|
|
Quackdoc
|
2024-10-27 05:08:08
|
I did not realize that it rotated until just now lol
|
|
|
KKT
|
2024-10-27 06:04:18
|
I updated it again.
|
|
|
CrushedAsian255
|
|
_wb_
Maybe jxl-rs could have a brownish, rusty version of that logo? 😛
|
|
2024-10-27 09:44:18
|
That would look cool
|
|
2024-10-27 09:44:35
|
Im wondering what logos the third-party jxlatte and jxl-oxide would be
|
|
2024-10-27 09:44:52
|
also would the existance of jxl-rs kind of defeat the point of jxl-oxide or will they both co-exist?
|
|
|
AccessViolation_
|
|
_wb_
Maybe jxl-rs could have a brownish, rusty version of that logo? 😛
|
|
2024-10-28 02:35:17
|
Ooo I like this idea a lot
|
|
2024-10-28 02:36:12
|
Like combining brown from Rust plus orange from those old timey terminals, or something
|
|
|
jonnyawsom3
|
2024-10-28 03:13:59
|
Ohh, an amber display to make it a rusted retro version
|
|
|
AccessViolation_
|
2024-10-28 03:50:19
|
Yess exactly
|
|
|
Demiurge
|
|
_wb_
Yes, I would propose to use
<:JPEG_XL:805860709039865937> for the official JPEG XL standard created and maintained by the JPEG committee
<:jxl:1300131149867126814> for the .jxl image file format and the broader community around it
<:JXL:805850130203934781> for libjxl (and I guess other implementations can make variants of it and use that as a logo?)
|
|
2024-10-28 05:43:27
|
I like the last one best
|
|
|
AccessViolation_
|
2024-11-04 08:03:44
|
Could we make jpegxl.info IPv6-compatible? It is No NAT November after all :p
|
|
2024-11-04 08:09:09
|
Jokes aside this is not super important or anything but it's probably a relatively simple task so I thought I'd bring it up
|
|
|
jonnyawsom3
|
2024-11-04 08:17:24
|
It's hosted on GithubPages if I recall, so might not be possible
|
|
|
A homosapien
|
2024-11-04 08:19:51
|
I think I set my main pc to prefer IPv4 over IPv6, I would see no difference 😅
|
|
|
AccessViolation_
|
|
It's hosted on GithubPages if I recall, so might not be possible
|
|
2024-11-04 08:20:53
|
IIRC GitHub Pages does support it, just GitHub itself does not
|
|
|
A homosapien
I think I set my main pc to prefer IPv4 over IPv6, I would see no difference 😅
|
|
2024-11-04 08:22:46
|
You can probably enable them both! Browsers will prefer IPv6 by default and use "happy eyeballs" aka fast fallback to downgrade to IPv4 if IPv6 fails despite the endpoint supporting IPv6
|
|
2024-11-04 08:25:25
|
Depending on where you live IPv6 can also avoid carrier-grade NAT congestion. Typically there's no reason to not enable both IPv4 and IPv6. Unless you have some very specific situation? If so I'm quite curious what it is
|
|
|
A homosapien
|
2024-11-04 08:29:37
|
hmmmm, I use a windows debloat tool called [winutil](https://github.com/ChrisTitusTech/winutil). And it recommends preferring IPv4 for less latency and packet loss. I already have quite a bit of a packet loss problem so I just turned it on.
|
|
2024-11-04 08:32:24
|
I also have a pihole acting as a recursive DNS. The guide told me to disable IPv6 I think.
|
|
2024-11-04 08:33:02
|
This isn't my field of expertise so I just read guides and follow them. 😅
|
|
|
AccessViolation_
|
|
A homosapien
hmmmm, I use a windows debloat tool called [winutil](https://github.com/ChrisTitusTech/winutil). And it recommends preferring IPv4 for less latency and packet loss. I already have quite a bit of a packet loss problem so I just turned it on.
|
|
2024-11-04 08:40:47
|
Ah, I found this in their docs:
> To set the IPv4 preference can have latency and security benefits on private networks where IPv6 is not configured.
They give no further information or sources. I am either knowledgeable enough to know that this makes no sense whatsoever, or not knowledgeable enough to know why it would.
Virtually all networking equipment produced in the last 25 years has IPv6 support. It also sounds like they're talking about LAN ("private networks") in which network delay is basically a non-issue even if one was indeed marginally faster than the other. The real benefits are in actual internet traffic where IPv6 benefits from, for example, not having to go through several layers of overloaded NAT because your ISP has long ran out of IPv4 addresses
|
|
|
A homosapien
This isn't my field of expertise so I just read guides and follow them. 😅
|
|
2024-11-04 08:40:51
|
Fair enough!
|
|
2024-11-06 01:44:25
|
Oh, interesting. Maybe I got the number wrong? I'll see if I can find the statistic again
|
|
2024-11-06 01:49:49
|
1. Could be true depending on the networks you're interacting with. Commonly though, providers that offer both IPv4 and IPv6 (dualstack) are IPv6-only internally and 'emulate' IPv4 on top of it, making IPv6 the more direct option.
2. This true, however this does not present a case for not enabling native IPv6 if you also still have native IPv4. These transition mechanisms only apply if either you only have IPv6 and need to access IPv4 endpoints or vice versa
|
|
2024-11-06 01:50:37
|
The other points are sorta arbitrary points not directly relevant
|
|
2024-11-06 02:01:31
|
True dualstack in the sense that you have a public IPv6 and IPv4 address can still be IPv6-only internally. My ISP has enough public IPv4 addresses to serve one per home network, but it takes in IPv4 at the edge, translates it to IPv6, does... ISP things... to that, then translates it back to IPv4 when leaving their network.
|
|
2024-11-06 02:02:02
|
That's what I was referring to. I think it's common, but it's been a while since I delved into this
|
|
|
Quackdoc
|
2024-11-11 02:40:00
|
ah crap, the website uses grid for the test page but servo doesn't support it yet
|
|
|
jonnyawsom3
|
2024-11-20 11:41:51
|
Had a fun little idea. An addition to the banner that says how much data you've saved as you scroll down the page and load more images (Assuming you have JXL support)
|
|
|
CrushedAsian255
|
2024-11-20 12:21:30
|
Or if you don’t it could switch to “How much you could have saved”
|
|
|
jonnyawsom3
|
2024-11-20 12:31:03
|
Yeah
|
|
2025-01-13 06:25:07
|
I only just realised... Is this AI generated? The lines on the gold disk are nowhere near straight, and I have no clue what this would actually *do* either
|
|
|
username
|
|
I only just realised... Is this AI generated? The lines on the gold disk are nowhere near straight, and I have no clue what this would actually *do* either
|
|
2025-01-13 06:27:04
|
https://discord.com/channels/794206087879852103/1256302117379903498/1282763762738139290
|
|
|
jonnyawsom3
|
2025-01-13 06:29:24
|
Ah yeah
|
|
|
Demiurge
|
2025-01-15 02:34:20
|
The longer you look the more wrong it looks
|
|
2025-01-15 02:34:58
|
I agree it's kind of cringe
|
|
|
Meow
|
2025-01-15 02:37:43
|
If AI-generated is allowed something like JXL-chan should be better
|
|
|
Demiurge
|
2025-01-15 02:48:31
|
Do we have a jxl-chan?
|
|
2025-01-15 02:49:23
|
With funny jxl hairties
|
|
|
VcSaJen
|
2025-01-18 07:38:39
|
It's not advisable to do AI art here specifically because:
1) Many models were trained mainly on JPG images, so they would try to reproduce JPG artifacts, negatively impacting compression.
2) AI hallucinations can be confused with lossy encoding artifacts (lines suddenly getting blurry midway, etc)
|
|
|
Demiurge
|
2025-01-19 12:46:22
|
Agreed. It's s terrible idea to use as a showcase
|
|
|
CrushedAsian255
|
2025-01-19 06:06:17
|
Also people may see AI art and click away due to anti-AI sentiment.
|
|
|
Meow
|
|
VcSaJen
It's not advisable to do AI art here specifically because:
1) Many models were trained mainly on JPG images, so they would try to reproduce JPG artifacts, negatively impacting compression.
2) AI hallucinations can be confused with lossy encoding artifacts (lines suddenly getting blurry midway, etc)
|
|
2025-01-19 06:18:15
|
PNG art with artefacts = AI generated
|
|
|
VcSaJen
|
2025-01-19 07:16:14
|
Not really.
|
|
|
AccessViolation_
|
2025-01-19 11:39:12
|
I think they could be replaced with high quality Blender renders
|
|
|
Demiurge
|
2025-01-19 02:03:06
|
Or just look for freely licensed art and photos on wikimedia
|
|
2025-01-19 02:03:16
|
That's what it's there for
|
|
2025-01-19 02:04:08
|
Or maybe some of the images that are part of a testing corpus
|
|
|
jonnyawsom3
|
2025-01-19 02:05:52
|
Or, hear me out... We take some photos ourselves, or ask any photographers we know if they have any they'd like to submit
|
|
|
Demiurge
|
2025-01-19 02:15:23
|
That assumes you have something beautiful to photograph and that you're smart enough to capture it well...
|
|
|
AccessViolation_
|
2025-01-20 05:07:48
|
NASA has some nice lossless JWST pictures. They might make good use of patches/dots too
|
|
|
Jabster28
|
|
AccessViolation_
NASA has some nice lossless JWST pictures. They might make good use of patches/dots too
|
|
2025-02-28 09:16:15
|
there was a thread about that in /g/ a few years ago haha
|
|
2025-02-28 09:16:40
|
an anon suggested there be two for lossless and lossy, with the lossy one having jpeg artifacts
|
|
|
Demiurge
Do we have a jxl-chan?
|
|
2025-02-28 09:17:19
|
oops wrong reply, meant for this
|
|
|
RaveSteel
|
2025-02-28 09:20:01
|
We have this
|
|
2025-02-28 09:20:03
|
lol
|
|
|
AccessViolation_
|
2025-02-28 09:27:18
|
honestly
|
|
2025-02-28 09:27:22
|
...i don't like it
|
|
2025-02-28 09:27:46
|
it does not spark joy
|
|
|
spider-mario
|
2025-02-28 09:30:05
|
yeah, this figure is a bit loaded these days
|
|
|
jonnyawsom3
|
2025-02-28 09:50:26
|
I mean, I somehow ended up with this artwork for Halloween of me 'making' JXL art
|
|
|
AccessViolation_
|
2025-02-28 10:00:14
|
honestly i'm all for a furry mascot
|
|
2025-02-28 10:01:01
|
and if we get furries to adopt jpeg xl, that's basically the world
|
|
|
Demiurge
|
2025-02-28 10:47:34
|
I like dragons. But jxl-tan should probably be pretty tiny, to represent small file sizes, and pretty colorful, to represent good color gamut.
|
|
2025-02-28 10:48:11
|
And I like the idea of having a lossless one and a lossy, artifacted one, that seems funny
|
|
2025-02-28 10:48:36
|
Maybe a 3rd one for recompressed jpeg
|
|
2025-02-28 10:48:54
|
Is there already a jpeg-tan?
|
|
2025-02-28 10:50:54
|
https://en.m.wikipedia.org/wiki/Moe_anthropomorphism
|
|
|
jonnyawsom3
|
2025-02-28 11:01:02
|
Ideally, we could represent them in JXL art
|
|
|
AccessViolation_
|
|
Demiurge
https://en.m.wikipedia.org/wiki/Moe_anthropomorphism
|
|
2025-02-28 11:04:26
|
i didn't really have any expectations when i clicked that link, but ISIS-chan would not have been one of them
|
|
|
RaveSteel
|
2025-03-01 12:01:51
|
I asked ChatGPT to create an anime girl with jpeg xl hairpins. it didnt look great, but more interestingly, the image was shared as lossy WebP. I asked ChatGPT to provide a PNG. ChatGPT told me that the image was a PNG. When I answered that it was really a WebP, it just converted the WebP to PNG. So now I have a lossy WebP as a PNG created and converted by ChatGPT
|
|
2025-03-01 12:02:04
|
It just works™
|
|
|
AccessViolation_
|
2025-03-01 12:04:48
|
yesterday I asked it to rank lossless image formats based on compression ratio alone and it looked completely arbitrary. i asked for clarification and it kept spewing complete nonsense. every message had at least one major mistake and it did the "you're right, i apologize" thing every time. it's incredibly concerning, imo
|
|
|
RaveSteel
|
2025-03-01 12:05:44
|
And now realise that many students exclusively use ChatGPT until they graduate
|
|
|
AccessViolation_
|
2025-03-01 12:05:52
|
that was the first time i'd used it in like a year or two. it doesn't seem to have improved
|
|
|
RaveSteel
And now realise that many students exclusively use ChatGPT until they graduate
|
|
2025-03-01 12:05:57
|
yeah it's crazy
|
|
|
RaveSteel
|
2025-03-01 12:07:18
|
It can be very helpful to get a first idea with complex problems, but trusting it blindly is a very bad idea
|
|
|
_wb_
|
2025-03-01 07:31:45
|
I have access to Enterprise ChatGPT now, some of its models are better than others. They can all be wrong in hilarious and concerning ways, but it can also be useful. Using it as a source of inspiration is OK imo, using it as a source of truth is obviously not at all OK.
|
|
|
monad
|
2025-03-01 08:51:13
|
Please be cautious as they can be more subtly deceitful than most advertise. I asked R1 to rearrange data in a table and it silently modified the data as well. Unprompted and undisclosed, it changed strings like 'ΛОК' to 'ΛΟΚ'.
|
|
2025-03-01 08:59:38
|
Prior to that, the worst example I'd witnessed was asking for an edit in a code sample which happened to include a comment describing why the order of two lines mattered. Those lines were unrelated to the prompt, but ChatGPT removed the comment and flipped the order of those lines.
|
|
|
Demiurge
|
2025-03-04 06:06:25
|
It did it for the lulz
|
|
2025-03-04 06:08:21
|
People don't seem to understand how to use random number generators aka "language models" aka "general purpose """AI""""
|
|
|
A homosapien
|
|
I only just realised... Is this AI generated? The lines on the gold disk are nowhere near straight, and I have no clue what this would actually *do* either
|
|
2025-03-04 06:13:10
|
I'm still in favor of replacing the AI images with real ones. This decision is baffling to me.
|
|
2025-03-04 06:15:20
|
It just feels too corporate and fake honestly
|
|
|
0xC0000054
|
|
Demiurge
People don't seem to understand how to use random number generators aka "language models" aka "general purpose """AI""""
|
|
2025-03-04 06:16:02
|
Random number generation is a good description. I have also heard 'digital hallucination engine' used in the context of 'generative image' AI.
|
|
2025-03-04 06:17:15
|
As I understand it, all the current AI tech does is regurgitate parts of whatever data it was trained on.
|
|
|
Demiurge
|
2025-03-04 06:40:47
|
The correct way to use a neural net is to train it for a very specific and well defined domain. Anything else is just... a bunch of cavemen shaking a magic 8 ball.
|
|
2025-03-04 06:42:06
|
There is no such thing as "general purpose" neural net, it's just a random number generator inside of a language coherency evaluator!
|
|
|
AccessViolation_
|
|
A homosapien
It just feels too corporate and fake honestly
|
|
2025-03-11 09:49:49
|
"best-of-breed" adds to this sentiment too for me
> Unmatched in quality-per-byte, JPEG XL delivers best-of-breed image compression from web quality through lossless.
|
|
2025-03-11 09:51:03
|
A lot of it reads like it's a presentation for shareholders
|
|
2025-03-11 09:52:27
|
or like a page where you'd find "contact our sales team for pricing" at the bottom
|
|
|
A homosapien
|
|
AccessViolation_
A lot of it reads like it's a presentation for shareholders
|
|
2025-03-11 11:54:44
|
Which doesn't make sense because Jpeg XL is free and open source! Like what are we selling here??
|
|
|
_wb_
|
2025-03-12 07:37:56
|
It's hard to find a tone that works for a broad audience spanning different cultural conventions and levels of technical background. The same words can sound like an overly enthusiastic sales pitch to one person while looking pretty neutral to someone else, or like a complicated technical description to one person while looking like an oversimplified, dumbed-down marketing blob to another.
|
|
2025-03-12 07:39:40
|
A word like "nice" can be pretty positive to a European audience while in the US it's more like "one star out of five"
|
|
|
AccessViolation_
|
2025-03-12 08:56:42
|
okay, that's fair
|
|
2025-03-12 08:58:50
|
I still feel like it can do without some of the words that make it sound like i'm supposed to invest money in it though 😅
|
|
2025-03-12 09:38:18
|
that's just my personal preference, I don't know which vibe the website is trying to go for
|
|
|
couleur
|
2025-03-12 09:53:17
|
how would you guys describe the old website's tone
|
|
|
username
|
|
couleur
how would you guys describe the old website's tone
|
|
2025-03-12 09:54:22
|
you can still see the old site here https://jpegxl.info/old/
|
|
|
jonnyawsom3
|
|
AccessViolation_
I still feel like it can do without some of the words that make it sound like i'm supposed to invest money in it though 😅
|
|
2025-03-12 09:58:48
|
I mean, it kinda was. The website was made to be a sales pitch after the Apple launch. To convince companies to switch to JPEG XL and invest in the infrastructure changes for it
|
|
|
couleur
|
2025-03-12 09:59:54
|
i prefer the old one but if the new website is more likely to make companies adopt it i can understand
|
|
|
AccessViolation_
|
2025-03-12 10:04:34
|
just like how sites have a dark mode toggle, maybe we should have a corporate mode toggle /j
|
|
2025-03-12 10:09:33
|
and just turn it on by default for all requests that don't come from consumer ASes
|
|
|
couleur
|
2025-03-12 10:09:35
|
message above but not j
|
|
2025-03-12 10:10:06
|
whats a consumer AS?
|
|
|
jonnyawsom3
|
|
AccessViolation_
just like how sites have a dark mode toggle, maybe we should have a corporate mode toggle /j
|
|
2025-03-12 10:16:39
|
That's just https://jpegxl.info/old/
|
|
|
AccessViolation_
|
|
couleur
whats a consumer AS?
|
|
2025-03-12 10:18:21
|
autonomous system, a portion of the internet controlled by some body. you're a consumer so you're on a consumer AS, the one from your internet service provider. larger corporations often manage their own network infrastructure, and so instead of having an internet subscription like we do, they pay a fee to connect their network directly to that of other transit providers and internet service providers. basically, they are their own internet service provider. so the ASes operated by Verizon, T-Mobile, etc. are 'consumer networks' (or 'eyeball networks' because their users mostly just look at content instead of providing it)
|
|
2025-03-12 10:21:47
|
fun fact: if you fill out some paperwork you can request an autonomous system number as an individual and then you can also become your own internet service provider. you will have to ask other organizations to peer with you though, or you won't be able to connect to anything, and they're almost definitely not going to let you do that for free
|
|
|
couleur
|
2025-03-12 10:22:05
|
X))
|
|
2025-03-12 10:22:35
|
maybe xqc will do that to combat ddosing
|
|
|
AccessViolation_
|
2025-03-12 10:26:07
|
just set up a global anycast network with hundreds of endpoints all around the globe so DDoS traffic is distributed among them and nothing gets overloaded
|
|
2025-03-12 10:26:25
|
worked out well enough for cloudflare
|
|
2025-03-12 10:29:31
|
I haven't been seriously considering this, but there are residential areas here in the netherlands that have *two* fiber lines from competing companies, so technically you can obtain an autonomous system number, peer with both of them, and then you can have a *tiny* anycast network: the same IP addresses can be on two different endpoints which are directly reachable from both providers, so traffic will automatically seek the 'shortest' path, which depends on which provider you're with or where you're geographically located
|
|
2025-03-12 10:30:44
|
would it be useful? no. would it be cool? yes.
|
|
|
couleur
|
2025-03-12 10:32:05
|
are you from nl?
|
|
|
AccessViolation_
|
|
KKT
|
|
I mean, it kinda was. The website was made to be a sales pitch after the Apple launch. To convince companies to switch to JPEG XL and invest in the infrastructure changes for it
|
|
2025-03-12 08:36:02
|
Yes, in my head when I wrote the copy, it was a pitch to the entire world to start using it. I know lots of people don't like marketing around here, but the object of the game was to sell its feature set, performance, and capabilities. Not unlike a paid product…
|
|
|
jonnyawsom3
|
2025-03-12 08:42:24
|
It's a lot easier to sell something when it's free, after all
|
|
|
Meow
|
2025-03-13 02:23:19
|
Not really easier to sell when it's free as it doesn't sound premium aka revolutionary, innovative, creative...
|
|
2025-03-13 02:25:15
|
e.g. HEIF being not free but revolutionary because of Apple
|
|
|
JaitinPrakash
|
2025-03-13 03:18:55
|
So we describe it as being revolutionary; with unmatched efficiency, ripping fast speeds, able to both perfectly replicate existing lossy jpeg images, and reduce their filesize with no loss, with all that for the low low cost of completely free. While pushing for adoption in both open-source and proprietary avenues.
|
|
|
Meow
|
2025-03-13 05:07:17
|
For fans, being used by Apple = revolutionary
|
|
|
Demiurge
|
2025-03-14 04:45:35
|
Short and sweet and let the demos speak for themselves.
|
|
2025-03-14 04:45:47
|
The hard part is showing good demos
|
|
2025-03-14 04:46:11
|
Maybe even with zoom/enhance to show differences in compression artifacts
|
|
2025-03-14 04:46:38
|
Which is scientifically questionable but good for demos
|
|
2025-03-14 04:47:37
|
All the words don't matter. Nobody is going to read or care what it says. All that matters is results. Show impressive demos, that's literally all that matters when making a good impression.
|
|
2025-03-14 04:48:42
|
You know what will impress people? Show timing comparison with avif
|
|
2025-03-14 04:48:55
|
Show how much faster it is
|
|
2025-03-14 04:49:19
|
Side by side
|
|
2025-03-14 04:49:33
|
Better compression in 1/10th of the time
|
|
2025-03-14 04:51:18
|
Then show 1 or 2 graphs of speed/bpp/ssimu2 since libjxl is overfitted for metrics compared to libaom
|
|
2025-03-14 04:52:37
|
That will give people the impression that libaom absolutely sucks
|
|
2025-03-14 04:53:34
|
(Even if, in reality, libaom looks better and libjxl is just overtuned to have better ssimu2 scores instead of for human vision)
|
|
|
jonnyawsom3
|
2025-03-14 07:23:07
|
And replace the AI images...
|
|
|
_wb_
|
2025-03-14 07:59:10
|
Are there AI images left?
|
|
|
jonnyawsom3
|
2025-03-14 08:16:55
|
Ah, updated 2 weeks ago. Guess I hadn't checked in a while
|
|
|
Demiurge
|
2025-03-15 05:44:04
|
The goal of the website should be to quickly wow people with the minimum boilerplate text no one is going to read. Just numbers and results that make libaom look like a joke. Even if some of those numbers (ssimu2) are meaningless or misleading
|
|
2025-03-15 05:44:30
|
It doesn't matter if it's meaningless or misleading if it works and somehow still impresses people
|
|
2025-03-15 05:45:00
|
I may be cynical but it's true, that's how things are...
|
|
|
_wb_
|
2025-03-15 07:58:31
|
there's no need to show meaningless/misleading numbers, the actual data is impressive enough but the amount of published data with actual subjective results (which is the only 'real' data) is limited so far
|
|
2025-03-15 08:06:05
|
I'm looking at some very recent not-yet-published data from a subjective experiment on HDR images, where at the 1 JND point, JXL beats AVIF by about 35%, depending on the image — only 5 source images were tested, the gap is about 20% on one of them, about 35% on two, about 40% on one, and almost 60% on one. I hope this data will get published/released within about 2 months.
|
|
|
Demiurge
|
2025-03-15 08:18:07
|
People will be impressed if they see how much faster libjxl is compared to libaom
|
|
2025-03-15 08:18:19
|
Faster and better at the same time
|
|
2025-03-15 08:18:52
|
Especially at lossless compression. That comparison is mind bogglingly extreme
|
|
2025-03-15 08:29:41
|
People love seeing those kinds of numbers side by side
|
|
|
jonnyawsom3
|
2025-03-15 09:34:48
|
JPEG XL wins in efficiency, if not density. Usually lower memory usage and faster for equal or better density
|
|
|
_wb_
there's no need to show meaningless/misleading numbers, the actual data is impressive enough but the amount of published data with actual subjective results (which is the only 'real' data) is limited so far
|
|
2025-03-15 10:20:52
|
We don't need to, but we could still cherry pick some visual results. Like the 0.8 lossy regression, or resampling being better around quality 20
|
|
2025-03-15 10:21:15
|
Show what the format can do, rather than the current state of libjxl
|
|
|
_wb_
|
2025-03-15 10:53:45
|
Generally jxl performs well on portrait photography. Video-based codecs tend to apply generous layers of foundation makeup to human faces.
|
|
2025-03-15 10:59:47
|
Also cloudy skies are often a lot better in jxl than in video codecs, which tend to turn clouds into Spandex...
|
|
|
AccessViolation_
|
2025-03-15 11:14:07
|
I was really impressed by the graphic from your paper showing the same gradient in four different image formats
|
|
|
jonnyawsom3
|
2025-03-15 11:14:27
|
Good thing I just arrived in London, should be plenty of cloud
|
|
|
AccessViolation_
|
2025-03-15 11:14:41
|
JXL would probably do a lot better for skies with gradients than AVIF just based on that
|
|
|
Demiurge
|
2025-03-15 12:49:31
|
Wow lol, that is true
|
|
2025-03-15 02:58:33
|
libaom might have improved with faces I think maybe? But jxl has always excelled at pure skies and clouds
|
|
|
couleur
|
2025-03-15 03:47:18
|
libaom = avif?
|
|
|
_wb_
|
2025-03-15 03:48:36
|
Libaom did improve but still, whether it's avif, heif or webp, faces tend to get autobotoxed
|
|
2025-03-15 03:49:30
|
Modern video codecs have no more blocking but they have botoxing artifacts instead
|
|
2025-03-15 03:50:10
|
That should become a scientific term academics use
|
|
|
RaveSteel
|
|
couleur
libaom = avif?
|
|
2025-03-15 03:56:00
|
libaom is the AV1 reference encoder
|
|
2025-03-15 03:57:34
|
libavif is the AVIF reference encoder IIRC
|
|
|
_wb_
|
2025-03-15 04:16:28
|
libavif handles the container-level AVIF stuff (such as dealing with transparency and ICC profiles, which are things AV1 does not support), it depends on libaom which handles the payload.
|
|
|
juliobbv
|
|
_wb_
Modern video codecs have no more blocking but they have botoxing artifacts instead
|
|
2025-03-15 04:16:41
|
I'm partial to the word "vaselining" 😂
|
|
|
_wb_
|
2025-03-15 04:17:09
|
(it also works with other implementations than libaom, libavif can also work with svt, rav1e, dav1d etc)
|
|
2025-03-15 04:17:25
|
|
|
2025-03-15 04:18:06
|
vaselining works too, but I like how blocking and botoxing both start with a b
|
|
|
juliobbv
|
2025-03-15 04:19:56
|
blasticky look
|
|
|
_wb_
Libaom did improve but still, whether it's avif, heif or webp, faces tend to get autobotoxed
|
|
2025-03-15 04:22:54
|
yeah, it also didn't help that libavif defaults to using zero adaptive quantization even for still images, not sure why
|
|
2025-03-15 04:24:16
|
`--tune iq` makes clouds/faces/delicate textures better due to usage of variance AQ, but at some point you can only do so much with the format
|
|
|
_wb_
I'm looking at some very recent not-yet-published data from a subjective experiment on HDR images, where at the 1 JND point, JXL beats AVIF by about 35%, depending on the image — only 5 source images were tested, the gap is about 20% on one of them, about 35% on two, about 40% on one, and almost 60% on one. I hope this data will get published/released within about 2 months.
|
|
2025-03-15 04:33:31
|
this makes sense, nothing in libaom is tuned for HDR photography, so JXL will really shine <:BlobYay:806132268186861619>
|
|
2025-03-15 04:33:38
|
looking forward to seeing the comparison and results
|
|
|
jonnyawsom3
|
|
Good thing I just arrived in London, should be plenty of cloud
|
|
2025-03-15 08:16:24
|
I forgot to take any photos... Guess it was a busy day
|
|
|
AccessViolation_
|
2025-03-17 10:12:09
|
this graphic from the upcoming paper is pretty eye catching imo, maybe something that could be added to the website?
|
|
|
CrushedAsian255
|
|
AccessViolation_
this graphic from the upcoming paper is pretty eye catching imo, maybe something that could be added to the website?
|
|
2025-03-17 10:28:26
|
My personal analysis: JPEG cheats by being such a large filesize, JPEG XL is remarkably smooth, AVIF seems to have just given up and resorted to 1 DC value per macroblock (so acting like JPEG but worse), WebP seemed to add dither noise (?)
|
|
2025-03-17 10:30:15
|
although it may not be fair to AVIF as its header is so large that it probably only got 100 bytes or so of actual payload, whereas JPEG XL only needs 8-12 bytes of header WebP only need 12-20 bytes of header
|
|
|
Demiurge
|
|
AccessViolation_
this graphic from the upcoming paper is pretty eye catching imo, maybe something that could be added to the website?
|
|
2025-03-18 06:42:50
|
I love it. This is EXACTLY the kind of thing the website needs. Clowning on webp and avif
|
|
2025-03-18 06:44:13
|
Once you see an image like that, the seeds have been planted. 🌱
|
|
2025-03-18 06:45:39
|
What jpeg encoder is that though? If you can make JPEG1 look better than avif, like with jpegli, then it's even funnier
|
|
|
AccessViolation_
|
2025-03-18 08:31:21
|
clowning on other formats is going to lead to defensiveness and tribalism imo. much better to put the focus on "jpeg xl good" rather than "[other format] bad." if you're trying to convince people, being condescending probably has the opposite effect. the target audience isn't people who are already JXL fanatics
|
|
2025-03-18 08:36:26
|
I think my preferred option would be to highlight facts about all formats, talk positively about JXL, and let people come to their own conclusion about the other formats without demeaning them and their users and developers
|
|
|
Demiurge
|
|
AccessViolation_
clowning on other formats is going to lead to defensiveness and tribalism imo. much better to put the focus on "jpeg xl good" rather than "[other format] bad." if you're trying to convince people, being condescending probably has the opposite effect. the target audience isn't people who are already JXL fanatics
|
|
2025-03-18 08:41:34
|
An image codec can only be good in comparison to the alternatives. Showing demos of jxl outperforming webp and avif is a strong way to promote jxl adoption. Especially if you can show realistic situations where the alternatives are seemingly, utterly outclassed or outright out-of-the-question, unable to compete at all.
|
|
2025-03-18 08:42:11
|
In some situations there actually IS no alternative, and jxl is the only option.
|
|
2025-03-18 08:42:28
|
Due to inadequacies of other formats.
|
|
2025-03-18 08:42:39
|
For example, lossless compression of high bit depth images
|
|
2025-03-18 08:42:54
|
there is no alternative to jxl there
|
|
|
HCrikki
|
2025-03-18 08:43:53
|
some of jon's old videos were massive eye openers (ie generational loss, how skin detail/color is better preserved, progressive loading)
|
|
2025-03-18 08:44:25
|
Might be worth revisiting since videos are more easily spread around for awareness.
Some of the material in videos and articles details paradigms the average imaging enthusiast never knew were important - always focusing on files giving disproportionate weight to kilobytes without real visual quality
|
|
|
Demiurge
|
2025-03-18 08:45:12
|
Exactly. Demos that show jxl utterly outclassing alternatives, or situations where there are no alternatives at all, are a powerful argument for jxl standardization
|
|
2025-03-18 08:47:44
|
That decode time chart that Jon made is also good. The one that shows how jxl can decode at the same time as its downloading while avif has to wait for it to finish downloading before decoding can even begin.
|
|
|
AccessViolation_
|
|
Demiurge
An image codec can only be good in comparison to the alternatives. Showing demos of jxl outperforming webp and avif is a strong way to promote jxl adoption. Especially if you can show realistic situations where the alternatives are seemingly, utterly outclassed or outright out-of-the-question, unable to compete at all.
|
|
2025-03-18 08:53:36
|
yeah I agree completely. I might have misinterpreted what you meant with clowning
|
|
|
Traneptora
|
2025-03-18 08:55:24
|
Tbf, the image is a bit misleading because it's in the order of byes and AVIF wastes about 150 bytes on a header so it has about half the bits to work with. which is not that much wasted in the grand scheme of things
|
|
|
AccessViolation_
|
|
Demiurge
An image codec can only be good in comparison to the alternatives. Showing demos of jxl outperforming webp and avif is a strong way to promote jxl adoption. Especially if you can show realistic situations where the alternatives are seemingly, utterly outclassed or outright out-of-the-question, unable to compete at all.
|
|
2025-03-18 08:55:31
|
like you can show direct comparisons of visuals and data. I was referring to more like, dunking on other formats if that makes sense? I think that would just trigger people into defending their opinions rather than feeling welcome to try out a new format
|
|
|
Traneptora
|
2025-03-18 08:56:19
|
when images are actually proper web quality (order of kB or MB) the wasted bytes are kind of irrelevant
|
|
2025-03-18 08:57:15
|
I think it's better to emphasize highly relevant features JXL has like progressive decode
|
|
|
Demiurge
|
2025-03-18 08:57:30
|
I mean "the other alternatives aren't even an option on the table here; they're outclassed so utterly and completely that they're either unusable or would never be considered."
|
|
|
AccessViolation_
this graphic from the upcoming paper is pretty eye catching imo, maybe something that could be added to the website?
|
|
2025-03-18 08:58:33
|
This is a really good graphic that demonstrates that. Only JXL looks acceptable at all here
|
|
2025-03-18 08:59:06
|
The others aren't even on the table as an acceptable option
|
|
2025-03-18 08:59:55
|
In that case, those images look unusably ruined
|
|
2025-03-18 09:00:18
|
Those make for extremely powerful demos to display on the website
|
|
2025-03-18 09:02:08
|
It plants seeds in people's minds I think. That maybe, the alternatives are not even acceptable or even competing on the same playing field at all.
|
|
2025-03-18 09:02:51
|
And creates demand for a higher standard that only jxl can provide right now.
|
|
2025-03-18 09:03:12
|
:)
|
|
|
HCrikki
|
2025-03-18 09:03:37
|
bench times for reference conversions would be good too since big user/pro migrations typically expect long times (quasi instant jpg->jxl being an anomaly in need of awareness). I dont recall seeing times for server-class machines or even typical desktops
|
|
|
AccessViolation_
|
2025-03-18 09:03:51
|
|
|
2025-03-18 09:03:51
|
I feel like this could be clarified in the graphic
|
|
|
Demiurge
|
2025-03-18 09:05:34
|
Maybe it's kind of dishonest... but it's also kinda their fault that the header is so ridiculous.
|
|
|
AccessViolation_
like you can show direct comparisons of visuals and data. I was referring to more like, dunking on other formats if that makes sense? I think that would just trigger people into defending their opinions rather than feeling welcome to try out a new format
|
|
2025-03-18 09:07:20
|
Well yes, I do mean dunking on them. But not verbally. Merely by providing scenarios and examples where the alternatives are not even on the same playing field.
|
|
2025-03-18 09:07:38
|
Using powerful demos like that
|
|
2025-03-18 09:07:55
|
That's the best way to clown/dunk on other formats
|
|
2025-03-18 09:08:16
|
Dunking with data!
|
|
2025-03-18 09:08:28
|
Not with words.
|
|
2025-03-18 09:08:33
|
Show, don't tell.
|
|
|
AccessViolation_
|
2025-03-18 09:08:41
|
ah okay, I understand
|
|
|
Demiurge
|
|
_wb_
|
2025-03-18 11:58:56
|
the file sizes are not really the point, it's not meant to be representative. For all codecs I used very low quality settings (e.g. -d 12 for jxl, -q 5 for avif and webp) that are lower than what you'd use in reality, just to show what kind of banding artifacts you get, but in a more obvious way than the more subtle banding you'd get at higher quality settings — mostly because otherwise the illustration would just not work when printing the paper or even viewing it on screen in a PDF viewer that is reducing the banding by rescaling the images.
|
|
2025-03-18 12:02:19
|
|
|
2025-03-18 12:04:09
|
|
|
2025-03-18 12:04:15
|
|
|
2025-03-18 12:05:05
|
this is 209 byte jxl vs 450 byte avif so now they're spending about the same amount of bytes on actual image data
|
|
2025-03-18 12:08:43
|
that's cjxl -d 20 and avifenc -q 30
|
|
|
spider-mario
|
2025-03-18 12:36:46
|
now it looks less like blocking and more like green waves on top of the blue part of the gradient
|
|
|
Demiurge
|
2025-03-18 01:08:44
|
Wow so the header actually takes up the majority of the file lmao!
|
|
2025-03-18 01:09:54
|
This isn't a problem unique to avif, is it?
|
|
2025-03-18 01:10:04
|
HEIF in general?
|
|
|
jonnyawsom3
|
|
Demiurge
This isn't a problem unique to avif, is it?
|
|
2025-03-18 01:48:11
|
https://discord.com/channels/794206087879852103/822105409312653333/1351512632976343040 https://docs.google.com/presentation/d/1LlmUR0Uoh4dgT3DjanLjhlXrk_5W2nJBDqDAMbhe8v8/edit#slide=id.gde87dfbe27_0_43
|
|
|
Demiurge
|
2025-03-18 01:57:48
|
What slide?
|
|
|
jonnyawsom3
|
|
Traneptora
|
2025-03-18 02:32:42
|
I'd argue JPEG XL actually has an opposite problem
|
|
2025-03-18 02:32:52
|
the header is so overengineered/bitpacked that parsing it is somewhat difficult
|
|
2025-03-18 02:33:25
|
for example, there were a few mistakes made in design, like sometimes needing to implement an entropy decoder to find the frame start
|
|
|
_wb_
|
2025-03-18 03:00:28
|
yeah jxl went a bit too far — then again having overcomplicated header syntax is only a problem until the implementations are done, while having simple but overly verbose header syntax may save some implementation time but then you're stuck with it forever.
|
|
|
AccessViolation_
|
2025-03-18 03:33:55
|
I'm sure the small header would go appreciated by platforms like Discord or Twitch that serve many super tiny custom images in the form of emotes
|
|
|
Demiurge
|
|
Traneptora
for example, there were a few mistakes made in design, like sometimes needing to implement an entropy decoder to find the frame start
|
|
2025-03-18 03:34:50
|
This is a pretty annoying flaw though
|
|