JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

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

General chat

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

Voice Channels

General 2147

Archived

bot-spam 4380

website

To discuss updates to the jpegxl.info community website

CrushedAsian255
2024-09-09 11:51:10
Since a lot of people coming to the site will be iPhone users, there should be a section comparing it to HEIC,
frep
2024-09-09 11:56:15
I'm surprised nobody brings HEIC up, that's a pretty considerable format on those devices
2024-09-09 11:56:35
at least in benchmarks
frep <@207980494892040194> thanks for looking into it! i fixed the bug and will send a PR after lunch
2024-09-09 11:56:45
https://github.com/jxl-community/jxl-community.github.io/pull/37
_wb_
2024-09-09 12:38:24
left: before, right: after <@288069412857315328> did you make that pull request https://github.com/jxl-community/jxl-community.github.io/pull/36 ? something changed in the positioning/styling, I prefer how it was before...
w
2024-09-09 12:43:45
it's just the background hero being behind the header right?
2024-09-09 12:52:36
i hate hero banner so much
2024-09-09 12:52:41
everything wrong with modern design
_wb_
2024-09-09 01:18:56
> I've taken it upon myself to refactor all the styling plus be able to slide it into a generator in the future. Great! It would be nice if we can separate content, styling and navigation better, that would make it easier to edit things and add new subpages.
2024-09-09 02:20:40
I added a silly little hit counter at the very bottom of the main page, I hope that's ok
w
2024-09-09 02:27:49
I will try turning it into a generator using hugo
KKT
_wb_ I added a silly little hit counter at the very bottom of the main page, I hope that's ok
2024-09-09 02:36:12
Needs to be scaled for mobile. It's super huge there.
username hope this info helps you fix the issue because I don't know how to write JavaScript
2024-09-09 02:41:32
Apparently me neither!
w
2024-09-09 02:42:31
the lists can be done in css instead of javascript
2024-09-09 02:42:39
everything on this website can be done with css
frep
KKT Apparently me neither!
2024-09-09 02:46:49
everyone's gotta start somewhere :]
2024-09-09 02:48:37
i'm fairly confident in my abilities to understand the DOM, considering the solution to this only took like 3 tries
2024-09-09 02:49:02
It's learnable
A homosapien
Actually... Why is the background image so large if only the upper half is displayed? And then the poor tiling has already been mentioned before
2024-09-09 02:50:13
<@245794734788837387> and I found a potential fix for the tiling. The problem is I'm away from my computer right now so maybe someone else can make the pull request.
frep
w the lists can be done in css instead of javascript
2024-09-09 02:51:24
actually you don't need CSS if you accept the raw HTML look
_wb_
2024-09-09 03:05:52
you don't need HTML if you accept the raw ascii text look
Smegas
2024-09-09 03:39:29
Why https://jpegxl.info/resources/distance-vs-effort-visualizer.html load only jxl images?
monad
2024-09-09 03:40:17
because why aren't you using software that supports jxl
2024-09-09 03:42:40
it's pretty funny how most people won't be able to use that tool
2024-09-09 03:44:25
but there's this fantasy that a buch of people will visit the site because Apple will mention JXL. presumably, those Apple ecosystems users will find something of enlightenment in the experience
2024-09-09 03:45:49
actually, the tool is almost as functional while loading no images
2024-09-09 03:47:41
most of the exposed encode space is trivia
_wb_
2024-09-09 03:52:40
<@288069412857315328> could you take a look at https://github.com/jxl-community/jxl-community.github.io/pull/36/files#r1750509533 ? I agree that it would be nice to keep the js to a minimum but there's some stuff in it that should be kept, I think you removed a bit too much by dropping that whole blob of js
KKT
Smegas Why https://jpegxl.info/resources/distance-vs-effort-visualizer.html load only jxl images?
2024-09-09 04:00:01
Mostly because the losslessly recompressed Webp's were huge and we didn't want the hit to <@794205442175402004> hosting. And we were hoping we could eventually get them dynamically done on the page as discussed above. For now why don't we put a note that says you need a browser that supports it.
w
_wb_ <@288069412857315328> could you take a look at https://github.com/jxl-community/jxl-community.github.io/pull/36/files#r1750509533 ? I agree that it would be nice to keep the js to a minimum but there's some stuff in it that should be kept, I think you removed a bit too much by dropping that whole blob of js
2024-09-09 04:00:25
darn I guess it's one more thing to reverse engineer
monad
_wb_ I added a silly little hit counter at the very bottom of the main page, I hope that's ok
2024-09-09 04:04:00
automatically filtered by uBlock, easy
2024-09-09 04:05:44
next, try adding a silly little crypto miner
_wb_
2024-09-09 04:11:56
i'll add something that re-encodes my holiday pictures at e11 in wasm using one encoder configuration per visitor
2024-09-09 04:14:37
(just kidding, to be clear)
w darn I guess it's one more thing to reverse engineer
2024-09-09 04:17:39
yeah, looks like most of it can be dropped but some nuggets of js will have to be kept I guess.
w
2024-09-09 04:18:22
the carousel looks straightforward enough to make css
2024-09-09 04:18:24
i will css everything
_wb_
KKT Mostly because the losslessly recompressed Webp's were huge and we didn't want the hit to <@794205442175402004> hosting. And we were hoping we could eventually get them dynamically done on the page as discussed above. For now why don't we put a note that says you need a browser that supports it.
2024-09-09 04:23:06
If <@206628065147748352> is going to add a jxl-oxide wasm decoder for a demo of progressive loading, we could also use that as a fallback decoder for the d-vs-e demo. One simple optimization that can be made: currently it loads different images if you slide the effort slider while distance is at zero. The lossless images are of course the same at all efforts so that's kind of pointless 🙂
KKT
w i will css everything
2024-09-09 04:23:49
Can you do it an pull in the JSON list without JS?
w
2024-09-09 04:24:10
what uses json list?
KKT
2024-09-09 04:25:40
All the image data for each tool is stored in JSON files so they can be added to independently.
_wb_
2024-09-09 04:26:10
there's a few json files in the repo, e.g. for the glossary, photocredits, news, and the various comparison tools
w
2024-09-09 04:27:08
sounds like a job for the generator (doable)
2024-09-09 04:27:20
im surprised those things werent already ~~static~~pre-rendered
KKT
2024-09-09 04:27:57
They are pre-rendered
w
2024-09-09 04:28:24
but why do they need the json
KKT
2024-09-09 04:29:17
There is a whole bunch of metadata around each of those images. DDSIM, SSIMU2, Size, etc, etc.
w
2024-09-09 04:30:04
pre-rendered as in the entire dom
KKT
2024-09-09 04:45:05
Also I didn't realize this until it was too late, but there is a standard FAQ structured data schema from Google. We should probably migrate to it in hopes the answers get picked up more broadly by them: https://developers.google.com/search/docs/appearance/structured-data/faqpage
_wb_
2024-09-09 04:59:00
If we can do the json -> html in a generation step that only happens once per commit to the repo (instead of in javascript and thus client-side), that's better. And then annotating stuff so search engines can parse it better will also be more useful, since presumably they will pick up the html but not run arbitrary js while crawling.
username
2024-09-09 06:05:13
hey uh a concern I have about the new website is the use of Ai/ML generated images. in the eyes of quite many people it's really not a good look and we probably don't want a percentage of the people coming to the site and rolling their eyes or getting a bad taste in their mouth. work should be done at some point to switch them all out out, currently from what I can tell there are 4 of these images present on the site: - Abstract HDR - Precision Machinery - Signature Dish - AI Swirling Purple Plants
2024-09-09 06:07:34
this could probably work as a replacement for "Precision Machinery" https://unsplash.com/photos/a-factory-filled-with-lots-of-orange-machines-8gr6bObQLOI
KKT
2024-09-09 06:20:58
Swirling purple isn't actually used. Was removed late in the design. It wasn't the machinery I was looking for in that shot necessarily. I was looking for something with super fine, small detail.
2024-09-09 06:25:53
It was a struggle is find something appropriate.
username
2024-09-09 06:27:33
this work? https://unsplash.com/photos/a-close-up-of-a-wooden-plank-on-a-beach-BipdTtwjiYs EDIT: here is the full quality version not ruined by reencoding https://images.unsplash.com/photo-1697393943650-9bdd3106ef20?fm=png&q=100&cs=origin&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
KKT
2024-09-09 06:28:00
I wouldn't necessarily remove the AI images. We're going to be compressing a lot of them in the future… just add more images to have a smaller fraction.
190n
username hey uh a concern I have about the new website is the use of Ai/ML generated images. in the eyes of quite many people it's really not a good look and we probably don't want a percentage of the people coming to the site and rolling their eyes or getting a bad taste in their mouth. work should be done at some point to switch them all out out, currently from what I can tell there are 4 of these images present on the site: - Abstract HDR - Precision Machinery - Signature Dish - AI Swirling Purple Plants
2024-09-09 06:28:58
agree, these should be removed
KKT
username this work? https://unsplash.com/photos/a-close-up-of-a-wooden-plank-on-a-beach-BipdTtwjiYs EDIT: here is the full quality version not ruined by reencoding https://images.unsplash.com/photo-1697393943650-9bdd3106ef20?fm=png&q=100&cs=origin&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
2024-09-09 06:30:58
Sand is a bit un-optimal once it's scaled to the image size we need. Alhough they're saved at 2 or 3x on the test page.
_wb_
2024-09-09 06:33:36
Let's try to set up some generator code that automates doing the comparison encodings and metrics computation etc, and then it will be easy to switch up the images - and make a separate subpage that lets you compare way more images and using more of the screen area
username
2024-09-09 06:36:05
yeah having all the results be generated from single source images would make switching out or adding new ones so much less of a hassle
_wb_
2024-09-09 06:37:32
We'll have to avoid doing that at every commit though.
w darn I guess it's one more thing to reverse engineer
2024-09-09 06:39:18
Also the navigation bar used to be sticky, can you get that back?
username
KKT Sand is a bit un-optimal once it's scaled to the image size we need. Alhough they're saved at 2 or 3x on the test page.
2024-09-09 06:40:59
could maybe be solved with a different scaling algorithm? unless you mean the browser side scaling which in that case things are quite a bit trickier and something less fine then sand might be needed like you suggest
KKT
2024-09-09 07:02:38
No, I mean just generally. Things like sand aren't visually striking which was the thing I was going for. You have to crop in pretty tight as well. Like super tight to see the grains of sand and then it's just kind of… beige.
2024-09-09 07:03:06
Also was looking for an image that compressed well for JXL
w
_wb_ Also the navigation bar used to be sticky, can you get that back?
2024-09-09 09:20:12
sticky or fixed?
jonnyawsom3
2024-09-09 09:22:41
I'd assume both? The bar staying at the top of the screen but the menu collapsing if you scroll
username
2024-09-09 09:23:52
scroll down you mean? or have it only appear when not scrolling?
w
2024-09-09 09:24:00
fixed + hiding when scroll?
2024-09-09 09:24:12
sticky attaches to the hero at the top
_wb_
2024-09-09 09:24:43
Can it be made so the bar is a bit sticky in the beginning, then disappears as you scroll down, and whenever you scroll up a bit it comes back?
w
2024-09-09 09:39:33
fixed + hiding when scroll(requires js) animation still done in css
KKT
2024-09-09 09:59:44
I noticed your sizes are black instead of white. Is that just local on your dev environment?
w
2024-09-09 10:02:06
i loaded it just now and it's white
2024-09-09 10:02:09
no idea how it ended up like that in the video
username
2024-09-09 10:09:46
iirc the CSS for the website is a bunch of duplicate stuff all overriding each other so I wouldn't be surprised if the load order ended up different when you where recording or something
2024-09-10 12:49:18
are we able to setup redirects from older locations to their new equivalents? for example `https://jpegxl.info/test-page/` is now dead, it should redirect to `https://jpegxl.info/resources/jpeg-xl-test-page.html` so that old links on bug trackers and various other places aren't invalid
2024-09-10 12:50:28
and pages that don't have a modern site equivalent could probably just be pointed to the old site archive
jonnyawsom3
2024-09-10 12:54:59
I only just realised...
2024-09-10 12:55:43
The files, or at least the numbers, are swapped at the lowest settings
2024-09-10 12:57:21
No, wait... This is why I shouldn't fact check a site at 2am
username
2024-09-10 12:57:43
I know that feeling...
w
2024-09-10 01:10:47
im making this generator and was going to fix the links back
_wb_
2024-09-10 05:11:45
The menu on narrow viewports needs a bit of fixing in case the menu is taller than the viewport. You cannot get to the menu items below the fold because scrolling down makes the menu disappear.
Posi832
2024-09-10 05:16:06
Yo I noticed the new site is up. I think it would look better if we used sentence case for the headings instead of title case. Is it cool if I make a PR for that, or does everyone disagree?
_wb_
2024-09-10 05:24:27
Not sure what looks best. Perhaps keep title case for the big headings (in white) and only change the smaller headings (the ones in teal)?
Posi832
2024-09-10 05:39:44
I think it'd be best to keep it consistent everywhere
_wb_
2024-09-10 05:46:34
I mean, the big headings are effectively titles while the small headings act more like a highlighted first paragraph. I think title case makes sense for the former but less so for the latter.
Posi832
2024-09-10 05:50:54
Ah, I understand how you're thinking now. I think that can work
KKT
2024-09-10 07:46:05
I just got two reports of a broken History page on Safari, but I can't reproduce. Mine looks fine:
2024-09-10 07:46:15
(Desktop Safari)
username
2024-09-10 07:51:38
broken in what way?
2024-09-10 07:52:20
seems to work fine on my end (Firefox/Gecko ESR115 based browser)
_wb_
2024-09-10 07:57:51
looks like the text is too low on the page compared to the timeline
2024-09-10 07:58:34
I can confirm it's broken on Safari
2024-09-10 07:59:17
in Chrome it looks fine though
drkt
2024-09-10 07:59:35
On the JPEG vs JPEG XL umbrella comparison, my friends jxl side is oversaturated but the jpg is fine. It looks fine on my side. His browser does not support jxl and mine does. How does that comparison work? Is he being served a really bad png or something?
2024-09-10 07:59:45
https://cdn.discordapp.com/attachments/967819421173289053/1283153828384083978/image.png?ex=66e1f5a0&is=66e0a420&hm=aced13279081cb32f655645dc905ba53995fa065c31b9a8c78c5283ffea72dda&
2024-09-10 08:00:10
mine for comparison https://u.drkt.eu/FZhH9C.png
_wb_
2024-09-10 08:02:36
that comparison uses lossless webp as a fallback when jxl is not supported
drkt
2024-09-10 08:02:50
so the webp file is oversaturated?
_wb_
2024-09-10 08:02:55
nah the webp is fine
2024-09-10 08:03:19
https://jpegxl.info/ComparisonImages/guy-stevens-dEGu-oCuB1Y-unsplash.png.d1.2.7.jxl
2024-09-10 08:03:21
https://jpegxl.info/ComparisonImages/guy-stevens-dEGu-oCuB1Y-unsplash.png.d1.2.7.jxl.webp
2024-09-10 08:03:37
they look identical
username
2024-09-10 08:03:46
the JPEG side uses an actual JPEG while the JPEG XL side uses a JXL with a WebP fallback
2024-09-10 08:04:10
so uh that means some stuff is up to browsers doing different color handling between different formats....
jonnyawsom3
2024-09-10 08:04:34
He's likely mistaking the desaturated JPEG as the correct color, since the image is very saturated to start
_wb_
2024-09-10 08:04:42
https://jpegxl.info/ComparisonImages/guy-stevens-dEGu-oCuB1Y-unsplash.png.q84.jpeg is the jpeg
username
2024-09-10 08:05:02
<@838222784752648192> what browser does your friend use?
drkt
He's likely mistaking the desaturated JPEG as the correct color, since the image is very saturated to start
2024-09-10 08:06:34
But the comparison is fine on my side, neither of them looks particularly over or under saturated relatively He's on Firefox 128.0.3
jonnyawsom3
2024-09-10 08:06:51
Hmm, right...
username
drkt But the comparison is fine on my side, neither of them looks particularly over or under saturated relatively He's on Firefox 128.0.3
2024-09-10 08:07:07
what OS(es) between the both of you?
drkt
2024-09-10 08:07:31
I'm on Debian 12 he's on PopOS
_wb_
2024-09-10 08:08:18
firefox has a tendency to just send pixels straight to the display without any color management
username
2024-09-10 08:08:54
yeah that's what is happening here. the JPEG has a embeded ICC profile while the WebP doesn't
drkt
2024-09-10 08:09:19
Yeah well it's almost certainly a him-issue so I don't care He doesn't care He only knows what a jxl is because I keep yapping at him about it
username
2024-09-10 08:09:47
whoever encoded the WebP fallbacks forgot to specify `-metadata icc`
_wb_
2024-09-10 08:09:57
actually neither of them have an icc profile
2024-09-10 08:10:06
so they're both just implicitly sRGB
2024-09-10 08:11:44
but it's possible that firefox (at least in some version / configuration) renders the jpeg correctly (color managed to convert it to the display space) while it just sends the webp pixels straight to the display
username
2024-09-10 08:11:50
the JPEG definitely has a icc attached
_wb_
2024-09-10 08:12:43
ah you're right, I have to stop relying on `identify -verbose` to check if there's a profile
2024-09-10 08:13:32
so yeah that's a firefox bug, basically
2024-09-10 08:13:55
it's supposed to treat untagged images as sRGB
username
2024-09-10 08:15:02
all the lossless WebPs have to be reencoded with `-metadata icc` I guess or messed around with webpmux though just reencoding the files would probably be less effort
2024-09-10 08:16:05
it's still really dumb that cwebp defaults to dropping icc
KKT
2024-09-10 08:20:51
That's odd. My command line default was `cwebp -blah -blah -metadata all…`
2024-09-10 08:21:30
It was really obvious on the non sRGB ones, which I specifically picked a few of.
dogelition
_wb_ it's supposed to treat untagged images as sRGB
2024-09-10 08:24:25
not on pc rn to check, but apparently the default value for `gfx.color_management.mode` is still `2`, i.e. only tagged content is color managed (need to set it to `1` to treat untagged as sRGB)
username
KKT That's odd. My command line default was `cwebp -blah -blah -metadata all…`
2024-09-10 08:25:14
huh yeah it seems like some of the WebPs do have icc profiles attached but after doing checking on random ones it seems like only the AVIF ones have profiles attached?
KKT
username broken in what way?
2024-09-10 08:30:08
See image. The webp stuff is pushed way down two more years instead of at the top
username
KKT See image. The webp stuff is pushed way down two more years instead of at the top
2024-09-10 08:33:52
ah. well I can't see to reproduce what's happening in the provided image on pretty much any browser I try such as: - older Firefox (ESR115) - Palemoon - WebKit
monad
Posi832 Yo I noticed the new site is up. I think it would look better if we used sentence case for the headings instead of title case. Is it cool if I make a PR for that, or does everyone disagree?
2024-09-10 10:36:49
I prefer sentence case too, but I was trusting the marketing people here. On consistency, might consider addressing the fact a couple headings end in period.
2024-09-10 10:38:38
The last time I ever talked to a marketing person about that was 10 years ago.
KKT
2024-09-11 06:07:33
Honestly, it's just a matter of preference. We tested both ways and preferred the title case. We should be consistent. Periods removed. I left it on the first one though: *Smaller Files, Higher Quality, Faster Downloads.* Felt like it needed it, but if others disagree…
2024-09-11 06:50:19
Also I updated one of the answers in the FAQ which had a code block and it broke the renderer: I'll undo it for now but we should fix the JS rendered (again) <@207980494892040194>
_wb_
w im making this generator and was going to fix the links back
2024-09-11 08:11:08
How is it going? Looking forward to such a refactor/cleanup...
w
2024-09-11 09:02:48
it's going, I'm doing it here <https://github.com/wwww-wwww/jxl-community.github.io> gave up on go and am using elixir as usual <https://jpegxl.grass.moe>
KKT
2024-09-11 09:37:00
While you're at it, can you add the zoom functionality back in? The Figma file looked like this:
A homosapien
KKT Also I updated one of the answers in the FAQ which had a code block and it broke the renderer: I'll undo it for now but we should fix the JS rendered (again) <@207980494892040194>
2024-09-12 04:39:45
There is no javascript shenanigans here, just some wacky html logic. Ideally this would be done in css, but I know nothing about it 😅 . So I wrangled html code in the .md file instead. It should work for now until somebody with more css skills implements a proper fix.
w
2024-09-12 04:49:30
will do it in the new one
Posi832
2024-09-12 04:18:34
I'll leave the title case alone then and fix some other small stuff.
KKT
2024-09-12 07:19:09
Metadata for the site is here. Feel free to edit before I push live later today: https://docs.google.com/document/d/1A1ISKV4NpnkmuxRroP6Z189RSj3KzdMX-iIHzCP_njY/edit?usp=sharing
CrushedAsian255
2024-09-13 12:55:59
the website crashes on the waterfox beta for some reason
KKT
KKT Metadata for the site is here. Feel free to edit before I push live later today: https://docs.google.com/document/d/1A1ISKV4NpnkmuxRroP6Z189RSj3KzdMX-iIHzCP_njY/edit?usp=sharing
2024-09-13 01:41:34
This is now live, so any edits can now be done directly.
username
2024-09-13 04:17:02
would be neat to have RSS feed support setup for the "Newsroom" at some point
pedromarques
2024-09-13 01:41:48
The image examples I see here lack details. For example, I want to see any saturated thin line over a neutral background somewhere in an image. The moment I notice a desaturation in a skinny line of saturated pixels is crucial for the evaluation. The photos I see as examples would force me as a user to do the testing myself. I'm not too fond of WebP desaturation of thin saturated lines and prefer JPGs. That's a no-go for any fashion e-commerce product PDP pages. Anyway, regarding image comparison, there is this website where you can drag 2 identical images and compare them. Could the website create a similar or upgraded solution that users could use with their own photos? https://www.diffchecker.com/image-compare/
jonnyawsom3
2024-09-13 01:50:36
Down the road we're hoping to have a live comparison with JXL encoding in the browser, to compare against other formats. Similar to https://squoosh.app/ but that libjxl version hasn't been updated in years
CrushedAsian255
2024-09-13 02:00:12
I’m guessing we have the integrity to keep the other encoders up-to-date
KKT
pedromarques The image examples I see here lack details. For example, I want to see any saturated thin line over a neutral background somewhere in an image. The moment I notice a desaturation in a skinny line of saturated pixels is crucial for the evaluation. The photos I see as examples would force me as a user to do the testing myself. I'm not too fond of WebP desaturation of thin saturated lines and prefer JPGs. That's a no-go for any fashion e-commerce product PDP pages. Anyway, regarding image comparison, there is this website where you can drag 2 identical images and compare them. Could the website create a similar or upgraded solution that users could use with their own photos? https://www.diffchecker.com/image-compare/
2024-09-13 03:03:21
This was mentioned up above for image comparison as well. I like that it also allows comparison to an original. https://storage.googleapis.com/demos.webmproject.org/webp/cmp/2024_09_04/visualizer.html?bimg=..%2Fclic_validation_2021_2022_2024%2Fimages%2Fcasey-fyfe-999.png&btxt=original&rimg=encoded%2Fcasey-fyfe-999.444e8q034.jxl.png&rtxt=JPEG+XL+4%3A4%3A4+effort+8&limg=encoded%2Fcasey-fyfe-999.444e6q033.avif&ltxt=AVIF+4%3A4%3A4+speed+6
pedromarques
KKT This was mentioned up above for image comparison as well. I like that it also allows comparison to an original. https://storage.googleapis.com/demos.webmproject.org/webp/cmp/2024_09_04/visualizer.html?bimg=..%2Fclic_validation_2021_2022_2024%2Fimages%2Fcasey-fyfe-999.png&btxt=original&rimg=encoded%2Fcasey-fyfe-999.444e8q034.jxl.png&rtxt=JPEG+XL+4%3A4%3A4+effort+8&limg=encoded%2Fcasey-fyfe-999.444e6q033.avif&ltxt=AVIF+4%3A4%3A4+speed+6
2024-09-13 03:27:06
Somehow, I never trust the "original" unless it says explicitly PNG loseless 😉
yoochan
KKT This was mentioned up above for image comparison as well. I like that it also allows comparison to an original. https://storage.googleapis.com/demos.webmproject.org/webp/cmp/2024_09_04/visualizer.html?bimg=..%2Fclic_validation_2021_2022_2024%2Fimages%2Fcasey-fyfe-999.png&btxt=original&rimg=encoded%2Fcasey-fyfe-999.444e8q034.jxl.png&rtxt=JPEG+XL+4%3A4%3A4+effort+8&limg=encoded%2Fcasey-fyfe-999.444e6q033.avif&ltxt=AVIF+4%3A4%3A4+speed+6
2024-09-13 04:50:29
Nice comparator !
Smegas
2024-09-13 05:52:55
Where is the link to GitHub?
_wb_
2024-09-15 01:45:30
activated google search console for jpegxl.info, at least the top query spells it correctly 🙂
CrushedAsian255
2024-09-15 01:46:16
Going to go search jpeg-xl and click the link just to annoy this server
_wb_
2024-09-15 01:47:06
JPGXL is even more annoying
CrushedAsian255
2024-09-15 01:48:35
How the heck
jonnyawsom3
2024-09-15 01:49:46
My friend used JPXL
CrushedAsian255
2024-09-15 01:51:01
still think this should be the official logo
embed
2024-09-15 01:51:04
https://embed.moe/https://cdn.discordapp.com/attachments/1256302117379903498/1284874117623058493/Screenshot_2024-09-13_at_18.16.32.jxl?ex=66e837c5&is=66e6e645&hm=6d9c63b36f11f9f3fd195934e177cb000435dedd6ac0016d3dd9b90690a01187&
Jim
2024-09-15 01:52:27
Since JPG is the common file extension for jpeg images, I'm not surprised that people would just type in the extension they know followed by XL.
CrushedAsian255
2024-09-15 01:52:54
like JP(e)GXL?
Jim
2024-09-15 01:54:46
Yes, I've worked in marketing for decades and everyone just knows them as JPGs. I've even had many get confused when they hear JPEG or see something.jpeg. It happened just this year that someone asked me what a .jpeg was.
jonnyawsom3
https://embed.moe/https://cdn.discordapp.com/attachments/1256302117379903498/1284874117623058493/Screenshot_2024-09-13_at_18.16.32.jxl?ex=66e837c5&is=66e6e645&hm=6d9c63b36f11f9f3fd195934e177cb000435dedd6ac0016d3dd9b90690a01187&
2024-09-15 01:55:00
I have a friend who uses a bluejay as their avatar, took me 5 minutes of staring at the image to think "Jay" instead of their name
CrushedAsian255
Jim Yes, I've worked in marketing for decades and everyone just knows them as JPGs. I've even had many get confused when they hear JPEG or see something.jpeg. It happened just this year that someone asked me what a .jpeg was.
2024-09-15 01:55:26
https://bitmovin.com/wp-content/uploads/2020/03/Do-I-look-Like-I-know-What-A-JPEG-Is-1.jpg
2024-09-15 01:56:20
why can't we just use `.jxl`
2024-09-15 01:57:04
im going to name my files `image.joint_photographics_experts_group` just to confuse people
jonnyawsom3
2024-09-15 01:57:17
Don't, you'll make that guy come back again
Jim
CrushedAsian255 im going to name my files `image.joint_photographics_experts_group` just to confuse people
2024-09-15 01:58:40
Many scripts are also set up to only allow up to about 5 characters or filter out any extensions longer than that so it might cause problems on some servers/software.
Oleksii Matiash
Jim Many scripts are also set up to only allow up to about 5 characters or filter out any extensions longer than that so it might cause problems on some servers/software.
2024-09-15 01:59:04
image.joint 😅
Jim
2024-09-15 01:59:17
<:kekw:808717074305122316>
CrushedAsian255
2024-09-15 01:59:59
embed
2024-09-15 02:00:07
2024-09-15 02:00:08
Oleksii Matiash
Jim Yes, I've worked in marketing for decades and everyone just knows them as JPGs. I've even had many get confused when they hear JPEG or see something.jpeg. It happened just this year that someone asked me what a .jpeg was.
2024-09-15 02:00:12
Surprise them with `.jfif`
CrushedAsian255
2024-09-15 02:00:25
`.jng` supremecy
Jim
Oleksii Matiash Surprise them with `.jfif`
2024-09-15 02:01:40
Unfortunately the few people using mac often send .heif and they constantly have to send them to me because they can't be opened on Windows.
CrushedAsian255
2024-09-15 02:02:22
maybe affinity photo outputs weird jxls
2024-09-15 02:02:55
embed
2024-09-15 02:03:00
https://embed.moe/https://cdn.discordapp.com/attachments/1256302117379903498/1284877114323107901/jpegxl.jxl?ex=66e83a8f&is=66e6e90f&hm=4e1043c2c6d1a3a73c8a367f8bd4840fa94f7158c4bdbd8e01ce1d4d1bf96de2&
Oleksii Matiash
CrushedAsian255 maybe affinity photo outputs weird jxls
2024-09-15 02:03:16
No, it is just fine
CrushedAsian255
2024-09-15 02:03:32
when i used djxl it came out sideways
monad
2024-09-15 02:03:56
just don't use extensions, what's the point
CrushedAsian255
monad just don't use extensions, what's the point
2024-09-15 02:04:07
`my_file`
jonnyawsom3
2024-09-15 02:04:08
The bot seems to have a very high cooldown between requests, I've seen it happen every time someone already used the command only a few minutes before
2024-09-15 02:05:33
Makes sense since it's only run by <@288069412857315328> if I recall
w
2024-09-15 02:06:03
if nobody has used it in a while it goes to sleep
CrushedAsian255
2024-09-15 02:06:19
i used it 8 minutes ago
2024-09-15 02:06:29
with the bird-clothes pegs-spreadsheet image
jonnyawsom3
2024-09-15 02:06:50
It almost seems like the opposite, it tends to be very responsive and then lock up after the first request
w
2024-09-15 02:07:13
is it a modular image?
2024-09-15 02:07:19
could just be it's really slow
2024-09-15 02:07:25
because jxl uses a ton of memory
CrushedAsian255
2024-09-15 02:07:46
hang on im going to do a test
2024-09-15 02:07:52
nobody try to embed these
2024-09-15 02:07:53
other than me
2024-09-15 02:07:54
ok?
2024-09-15 02:08:02
2024-09-15 02:08:03
embed
2024-09-15 02:08:07
CrushedAsian255
2024-09-15 02:08:24
yeah, must just be some kind of cooldown
embed
2024-09-15 02:08:28
https://embed.moe/https://cdn.discordapp.com/attachments/1256302117379903498/1284878404646338572/Screenshot_2024-09-16_at_00.07.09.jxl?ex=66e83bc3&is=66e6ea43&hm=416e096aa38416e0e996dfae9acfc13356ab25262e19afa87ae1de9291303957&
w
2024-09-15 02:08:28
when it sends the thinking message it already responded
CrushedAsian255
2024-09-15 02:08:32
nevermind?
embed
2024-09-15 02:08:35
https://embed.moe/https://cdn.discordapp.com/attachments/1256302117379903498/1284878400091066444/Screenshot_2024-09-16_at_00.07.07.jxl?ex=66e83bc2&is=66e6ea42&hm=eea5f0e624bed3a3eea7519488293882839b39ed856fd327924acbf2f792630d&
CrushedAsian255
2024-09-15 02:08:41
doing it again seems to fix it
jonnyawsom3
2024-09-15 02:08:44
Looking at the irfanview screenshot, yeah, it's modular. And that reminds me, I was going to say some stuff about the memory usage earlier
CrushedAsian255
2024-09-15 02:09:04
affinity photo decided to use modular for that image?
jonnyawsom3
2024-09-15 02:09:15
Well it's lossless
2024-09-15 02:09:18
And 32bit at that
CrushedAsian255
2024-09-15 02:09:22
i set it to 85 quality
2024-09-15 02:09:25
it's not meant to be :/
w
2024-09-15 02:09:34
the bot only has like 100mb of memory or something like that
2024-09-15 02:09:48
a 4mp image uses like 20gb of ram
CrushedAsian255
2024-09-15 02:10:09
Wtf lol
2024-09-15 02:10:15
Are you sure?
Oleksii Matiash
CrushedAsian255 Are you sure?
2024-09-15 02:10:23
jxlinfo.exe -v "Screenshot 2024-09-15 at 23.57.53.jxll" JPEG XL image, 2572x1906, (possibly) lossless, 8-bit RGB+Alpha num_color_channels: 3 num_extra_channels: 1 extra channel 0: type: Alpha bits_per_sample: 8 alpha_premultiplied: 0 (Non-premultiplied) have_preview: 0 have_animation: 0 Intrinsic dimensions: 2572x1906 Orientation: 1 (Normal) Color space: 4196-byte ICC profile, CMM type: "lcms", color space: "RGB ", rendering intent: 0
w
2024-09-15 02:10:24
jxl 🤷
embed
2024-09-15 02:10:44
https://embed.moe/https://cdn.discordapp.com/attachments/1256302117379903498/1284876373382529094/Screenshot_2024-09-15_at_23.57.53.jxl?ex=66e839df&is=66e6e85f&hm=9601c29c5a79a6adcbb00ff357f2624a3e19fe7209e25ba86519c0adb2fffbb5&
CrushedAsian255
2024-09-15 02:10:50
Now it works?
2024-09-15 02:11:05
(Embedding the original 374 kb)
jonnyawsom3
2024-09-15 02:11:27
A 240MP ~~8 bit~~ image was using 2.7 GB of RAM earlier on both djxl and jxl-oxide, although weirdly it didn't change at all using cropped decode or a single thread
CrushedAsian255
2024-09-15 02:12:24
Yeah the bot seems to fail the first time and then it works
jonnyawsom3
2024-09-15 02:12:56
First time has to generate the proxy image, second time just sends the link?
CrushedAsian255
2024-09-15 02:13:08
Like cache hit?
w
2024-09-15 02:13:10
it always sends the link
2024-09-15 02:13:28
it just doesnt until it knows it's in the cache
Oleksii Matiash
Oleksii Matiash jxlinfo.exe -v "Screenshot 2024-09-15 at 23.57.53.jxll" JPEG XL image, 2572x1906, (possibly) lossless, 8-bit RGB+Alpha num_color_channels: 3 num_extra_channels: 1 extra channel 0: type: Alpha bits_per_sample: 8 alpha_premultiplied: 0 (Non-premultiplied) have_preview: 0 have_animation: 0 Intrinsic dimensions: 2572x1906 Orientation: 1 (Normal) Color space: 4196-byte ICC profile, CMM type: "lcms", color space: "RGB ", rendering intent: 0
2024-09-15 02:13:36
However decoding it to png and encoding to jxl again gives this cjxl -d 0 1.png 1.jxl JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2] Encoding [Modular, lossless, effort: 7] Compressed to 1953.8 kB (3.188 bpp). 2572 x 1906, 13.255 MP/s [13.26, 13.26], , 1 reps, 32 threads. So I'm not sure, lossy modular?
w
2024-09-15 02:13:37
it should update the message when it's finally in the cache
2024-09-15 02:13:44
but it's just too long
2024-09-15 02:13:53
because jxl modular is the slowest image format ever
CrushedAsian255
Oleksii Matiash However decoding it to png and encoding to jxl again gives this cjxl -d 0 1.png 1.jxl JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2] Encoding [Modular, lossless, effort: 7] Compressed to 1953.8 kB (3.188 bpp). 2572 x 1906, 13.255 MP/s [13.26, 13.26], , 1 reps, 32 threads. So I'm not sure, lossy modular?
2024-09-15 02:14:09
Do we know if affinity photo uses libjxl
w
2024-09-15 02:14:25
yeah it's faster
CrushedAsian255
2024-09-15 02:14:39
Can we optimise JXL modular or is it slow by design
Oleksii Matiash
Oleksii Matiash However decoding it to png and encoding to jxl again gives this cjxl -d 0 1.png 1.jxl JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2] Encoding [Modular, lossless, effort: 7] Compressed to 1953.8 kB (3.188 bpp). 2572 x 1906, 13.255 MP/s [13.26, 13.26], , 1 reps, 32 threads. So I'm not sure, lossy modular?
2024-09-15 02:14:44
No cjxl -d 0.5 -m 1 1.png 1.jxl JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2] Encoding [Modular, d0.500, effort: 7] Compressed to 342.8 kB (0.559 bpp). 2572 x 1906, 2.883 MP/s [2.88, 2.88], , 1 reps, 32 threads. jxlinfo.exe -v 1.jxl JPEG XL image, 2572x1906, lossy, 8-bit RGB+Alpha num_color_channels: 3 num_extra_channels: 1 extra channel 0: type: Alpha bits_per_sample: 8 alpha_premultiplied: 0 (Non-premultiplied) have_preview: 0 have_animation: 0 Intrinsic dimensions: 2572x1906 Orientation: 1 (Normal) Color space: RGB, D65, P3 primaries, sRGB transfer function, rendering intent: Perceptual
CrushedAsian255
2024-09-15 02:14:48
Maybe compile the MA tree JIT?
Oleksii Matiash No cjxl -d 0.5 -m 1 1.png 1.jxl JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2] Encoding [Modular, d0.500, effort: 7] Compressed to 342.8 kB (0.559 bpp). 2572 x 1906, 2.883 MP/s [2.88, 2.88], , 1 reps, 32 threads. jxlinfo.exe -v 1.jxl JPEG XL image, 2572x1906, lossy, 8-bit RGB+Alpha num_color_channels: 3 num_extra_channels: 1 extra channel 0: type: Alpha bits_per_sample: 8 alpha_premultiplied: 0 (Non-premultiplied) have_preview: 0 have_animation: 0 Intrinsic dimensions: 2572x1906 Orientation: 1 (Normal) Color space: RGB, D65, P3 primaries, sRGB transfer function, rendering intent: Perceptual
2024-09-15 02:15:24
How does it know it’s not lossless?
2024-09-15 02:15:35
I guess the modular quantisation signalling probably gives it away
Oleksii Matiash
CrushedAsian255 How does it know it’s not lossless?
2024-09-15 02:16:10
Idk, maybe Jon knows
CrushedAsian255
Oleksii Matiash Idk, maybe Jon knows
2024-09-15 02:16:31
Jon know how to tell, or Jon know each and every image?
w
2024-09-15 02:16:43
there's no way to tell
Tirr
2024-09-15 02:16:46
lossy modular does XYB and it's always lossy
w
2024-09-15 02:16:46
it will be the usual
2024-09-15 02:16:55
"lossless" means nothing
CrushedAsian255
Tirr lossy modular does XYB and it's always lossy
2024-09-15 02:16:58
Oh, and that
2024-09-15 02:17:19
Doesn’t lossy modular use quantised residuals as well?
2024-09-15 02:17:25
I remember Jon saying something about that
_wb_
2024-09-15 02:18:38
jxlinfo just says it's lossy whenever XYB is used
Oleksii Matiash
2024-09-15 02:19:46
But for the original file it says (possibly) lossless, despite it is lossy. Just curious what confuses jxlinfo in that file
_wb_
2024-09-15 02:20:21
if it's not XYB, it will say it's possibly lossless 🙂
CrushedAsian255
2024-09-15 02:20:50
Technically I can take a terribly compressed JPEG, convert it to PNG and then convert it JXL at -d 0
Oleksii Matiash
2024-09-15 02:20:51
I mean - how non-XYB lossy file can be produced?
CrushedAsian255
2024-09-15 02:20:55
That would be “lossless”
2024-09-15 02:21:19
Does lossy modular force XYB?
Oleksii Matiash
CrushedAsian255 That would be “lossless”
2024-09-15 02:21:20
Do not summon that .jxl.lossless guy
_wb_
2024-09-15 02:21:47
recompressing a lossy JPEG will produce something that is not XYB but lossy. jxlinfo will call it "possibly lossless" but you'll see by the `jbrd` box that it's an ex-jpeg
2024-09-15 02:22:20
you can also in principle do lossy modular or vardct without using xyb, e.g. using ycbcr or ycocg
CrushedAsian255
2024-09-15 02:22:24
Can’t it assume if DCT is used it’s not lossless?
Oleksii Matiash
_wb_ recompressing a lossy JPEG will produce something that is not XYB but lossy. jxlinfo will call it "possibly lossless" but you'll see by the `jbrd` box that it's an ex-jpeg
2024-09-15 02:22:47
Not the case, it is containerless file
_wb_
2024-09-15 02:22:49
it doesn't know if DCT is used or not, that's a frame header field that is not exposed by libjxl
2024-09-15 02:23:40
you can take a recompressed jpeg and strip everything except the codestream, that is still a valid file, just not reconstructible into jpeg
CrushedAsian255
_wb_ you can take a recompressed jpeg and strip everything except the codestream, that is still a valid file, just not reconstructible into jpeg
2024-09-15 02:24:18
Like it’s a raw code stream, no header?
Oleksii Matiash
_wb_ you can take a recompressed jpeg and strip everything except the codestream, that is still a valid file, just not reconstructible into jpeg
2024-09-15 02:24:22
It is impressive 👍
_wb_ it doesn't know if DCT is used or not, that's a frame header field that is not exposed by libjxl
2024-09-15 02:29:30
I was slightly disappointed when figured that jxlinfo can't say whether the jxl is DCT or modular 😔
_wb_
2024-09-15 02:31:10
this could in principle be added, but it still won't tell you if it's lossy or lossless
Oleksii Matiash
2024-09-15 02:31:23
Not a real necessity, just curiosity
_wb_ this could in principle be added, but it still won't tell you if it's lossy or lossless
2024-09-15 02:31:45
Sure, it was curiosity about compressing method
_wb_
2024-09-15 02:33:16
There's a way to compile a libjxl that spews all kinds of verbose output — it's not in the default/release builds since that adds a lot of unncessary strings to the library, and you don't want to have a library that prints lots of stuff to stdout or stderr all the time 🙂
2024-09-15 02:33:42
also I think jxl-oxide and/or jxlatte probably have a verbose output mode where they can give all kinds of details on a bitstream
Oleksii Matiash
_wb_ also I think jxl-oxide and/or jxlatte probably have a verbose output mode where they can give all kinds of details on a bitstream
2024-09-15 02:36:47
You are right. I missed that jxl-oxide has precompiled binaries 🤦‍♂️
2024-09-15 02:36:57
Aand: jxl-oxide.exe -I "Screenshot 2024-09-15 at 23.57.53.jxll" JPEG XL image (BareCodestream) Image dimension: 2572x1906 Bit depth: 8 bits Color encoding: Embedded ICC profile (4196 bytes) Frame #0 (keyframe) VarDCT (lossy) Frame type: Regular 2572x1906; (0, 0)
2024-09-15 02:37:34
So VarDCT but no XYB, That's why jxlinfo thinks it is lossless?
CrushedAsian255
2024-09-15 02:37:53
Makes sense
Oleksii Matiash
2024-09-15 02:39:09
If yes, then it seems there is a question to Affinity..
jonnyawsom3
Oleksii Matiash Aand: jxl-oxide.exe -I "Screenshot 2024-09-15 at 23.57.53.jxll" JPEG XL image (BareCodestream) Image dimension: 2572x1906 Bit depth: 8 bits Color encoding: Embedded ICC profile (4196 bytes) Frame #0 (keyframe) VarDCT (lossy) Frame type: Regular 2572x1906; (0, 0)
2024-09-15 02:39:14
Unrelated, but you add `--with-offset` to get group info too
CrushedAsian255
Oleksii Matiash If yes, then it seems there is a question to Affinity..
2024-09-15 02:43:07
Do you think they use libjxl?
2024-09-15 02:43:16
Or some custom implementation
Oleksii Matiash
CrushedAsian255 Do you think they use libjxl?
2024-09-15 02:43:40
I mean that they used VarDCT without XYB, not what it is meant, I believe
Tirr
2024-09-15 02:44:37
wait not xyb nor ycbcr? is it doing rgb vardct
CrushedAsian255
Tirr wait not xyb nor ycbcr? is it doing rgb vardct
2024-09-15 02:45:10
That’s a thing?
2024-09-15 02:45:34
Someone should check what’s in that ICC profile
_wb_
2024-09-15 02:48:47
does jxl-oxide say something if it's XYB or YCbCr?
2024-09-15 02:49:57
rgb vardct sounds like a bad idea, but it could be just a jpeg (ycbcr) recompressed without the reconstruction data...
Oleksii Matiash
_wb_ does jxl-oxide say something if it's XYB or YCbCr?
2024-09-15 02:50:14
About XYB - yes: jxl-oxide.exe -I 1.jxl JPEG XL image (BareCodestream) Image dimension: 2572x1906 Bit depth: 8 bits XYB encoded, suggested display color encoding: Colorspace: RGB White point: D65 Primaries: P3 Transfer function: sRGB Frame #0 (keyframe) Modular (maybe lossless) Frame type: Regular 2572x1906; (0, 0)
CrushedAsian255
_wb_ rgb vardct sounds like a bad idea, but it could be just a jpeg (ycbcr) recompressed without the reconstruction data...
2024-09-15 02:50:40
Actually it could be
2024-09-15 02:50:49
That would explain why it can’t output HDR JXL
Oleksii Matiash
2024-09-15 02:52:14
For YCbCr too, but I dont't have jpg-in-jxl with container stripped
Tirr
_wb_ does jxl-oxide say something if it's XYB or YCbCr?
2024-09-15 02:53:06
yeah it checks `xyb_encoded` and `do_ycbcr`
lonjil
2024-09-15 02:56:30
does libjxl allow creating RGB VarDCT files?
_wb_
2024-09-15 02:58:36
Not sure if there's a way to do that, besides recompressing RGB jpegs
jonnyawsom3
2024-09-15 03:03:50
It's a stretch... But what if you export in both JXL and jpeg at the same quality setting <@386612331288723469> ?
2024-09-15 03:04:05
Oh actually...
2024-09-15 03:05:50
Okay, so it is an actual VarDCT encoded file
CrushedAsian255
2024-09-15 03:07:48
What program did you use to do that?
jonnyawsom3
2024-09-15 03:07:52
jxlatte
CrushedAsian255
2024-09-15 03:08:20
It can do that?
2024-09-15 03:08:22
Huh
jonnyawsom3
2024-09-15 03:08:40
benchmark_xl used to be able to, but most of it's debug output is broken
2024-09-15 03:14:16
The ICC is RGB colorspace with `Display` and `Colour LCD` in the description
CrushedAsian255
2024-09-15 03:14:40
Oh, it’s the Mac internal ICC
Oleksii Matiash
2024-09-15 03:14:42
Idk where is an appropriate channel for it, so as <@206628065147748352> is here, could you please tell me what went wrong? `jxl-oxide.exe 0905.jxll -o 0905.png` djxl produces untagged (and working) file, as it should, because original png that became 0905.jxll was untagged
CrushedAsian255
2024-09-15 03:15:15
The original image was a screenshot so Affinity just copied it over
Tirr
2024-09-15 03:15:51
by default it copies icc profile if the original jxl has one
Oleksii Matiash Aand: jxl-oxide.exe -I "Screenshot 2024-09-15 at 23.57.53.jxll" JPEG XL image (BareCodestream) Image dimension: 2572x1906 Bit depth: 8 bits Color encoding: Embedded ICC profile (4196 bytes) Frame #0 (keyframe) VarDCT (lossy) Frame type: Regular 2572x1906; (0, 0)
2024-09-15 03:16:26
it seems to have an ICC profile of ~4kB
2024-09-15 03:17:02
`--target-colorspace srgb` will force convert to sRGB
CrushedAsian255
2024-09-15 03:17:21
I think there’s 2 different image
Oleksii Matiash
Tirr by default it copies icc profile if the original jxl has one
2024-09-15 03:17:51
Well, not exactly. This jxl file does not have profile at all, but I also tried to decode jpg-in-jxl that has profile, and it also can't be opened by PS
Tirr
2024-09-15 03:18:00
ooh
2024-09-15 03:18:12
jxl-oxide generates icc profile on its own
Oleksii Matiash
2024-09-15 03:18:45
Yeah, I see that there is iCCP0, but..
Tirr
2024-09-15 03:19:04
not sure why photoshop says it's invalid though
Oleksii Matiash
2024-09-15 03:23:05
Wel, PS refuses to open any file produced by jxl-oxide, it seems. Just tried `cjxl -d 0 input.png output.jxl` `jxl-oxide output.jxl -o output.png`. output.png can't be opened by PS (yes, it is just white rectangle)
jonnyawsom3
2024-09-15 03:23:23
Also... How did we end up here in the channel for the website? xD
Oleksii Matiash
2024-09-15 03:23:45
😔
jonnyawsom3
2024-09-15 03:24:21
There's also <#1065165415598272582> if you need to find info in future
Oleksii Matiash
2024-09-15 03:24:33
Thank you, I missed it
username
2024-09-16 02:55:58
I have a solid theory as to why the CSS for the site is filled to the brim with duplicate classes all with slightly different values (leading to a bunch of values overriding each other). I think whatever was used to generate/edit the CSS would just append whatever changes where done to the file as entirely new classes but with the same names without deleting previous ones
CrushedAsian255
2024-09-16 02:56:37
Either that or each page has its own CSS and it just concatenates it
2024-09-16 02:56:52
If you want I could probably go through and remove the duplicated CSS
2024-09-16 02:57:02
It’s the bottom most one that’s actually applied, right)
2024-09-16 02:57:06
?
username
2024-09-16 02:58:12
I went and took a close look at some of the duplicate classes and it really looks like what you would see if you looked at a like a change journal of sequential tweaks
CrushedAsian255 It’s the bottom most one that’s actually applied, right)
2024-09-16 02:58:48
uh not sure I haven't checked what the load order/priority is like in browsers
2024-09-16 03:00:17
though even if the most recent entries have priority it still doesn't solve the fact that any "removed" elements get inherited by the recent editions of classes
2024-09-16 03:01:43
sooo yeah I'm pretty confident I've solved the "mystery" of the messy CSS
A homosapien
2024-09-16 03:17:07
A code refactor is in progress, you can check it out here: https://discord.com/channels/794206087879852103/1256302117379903498/1283533229017665598
monad
benchmark_xl used to be able to, but most of it's debug output is broken
2024-09-16 09:31:46
It's not broken, you now have to define JXL_DEBUG_AC_STRATEGY. Of course, it's only written for the encode path.
Meow
2024-09-16 01:50:44
Looks like some peninsula
monad
2024-09-16 01:54:57
https://cdn.discordapp.com/attachments/1187313089612369991/1214411826545037373/Screenshot_from_2023-01-23_20-24-31.png?ex=66e8f526&is=66e7a3a6&hm=78cde4076f95909d2f6ba1048ead8abd79b33e2708478afee959f57d218b68e9&
Meow
2024-09-16 02:06:19
Sexy
_wb_
2024-09-16 02:10:25
are you experimenting with patches, <@263300458888691714> ?
monad
2024-09-16 02:30:42
A little bit ...
2024-09-16 02:31:48
I was away from my computer for 6 weeks and when I came back I deleted my old progress without recognizing the folder.
AccessViolation_
2024-09-16 02:37:49
I don't know if this is already known, but the slider only shows the first image if the browser viewport is somewhat narrow
KKT
username I have a solid theory as to why the CSS for the site is filled to the brim with duplicate classes all with slightly different values (leading to a bunch of values overriding each other). I think whatever was used to generate/edit the CSS would just append whatever changes where done to the file as entirely new classes but with the same names without deleting previous ones
2024-09-16 03:42:21
I'll explain in a bit. Have client meetings right now.
_wb_ I can confirm it's broken on Safari
2024-09-16 04:57:13
You aren't running the beta? I'm wondering if that's why I'm not seeing an issue. Maybe if people update to macOS 15 today, let us know if that fixes it
w
2024-09-16 05:02:30
safari will always be the odd browser
2024-09-16 05:02:48
also everything should be flex
KKT
w safari will always be the odd browser
2024-09-16 05:50:48
I just can't figure out why I can't reproduce it in Safari.
2024-09-16 06:11:49
OK, some info about the weirdness the CSS. Site was designed in Figma and built in Webflow. All the styles were set up in Webflow initially. We wanted to do all the mobile responsive stuff in Webflow to make our lives easier. All the custom code was done by hand to inject back into the Webflow pages. To work with the current styles, we exported pages so the custom code could reference them locally. The idea was that when it was moved back onto the live page, we'd get rid of the duplicate CSS as required.
2024-09-16 06:12:46
As mentioned above, we though we had another week or two to go, but then has to rush it out the door to hit the Apple announcement, so we didn't have time to do any of the cleanup we thought we'd get to.
2024-09-16 06:17:09
We were tracking things in Notion that needed to get done. I've moved them to a doc and created a web link out of them: https://fractionalxperience.notion.site/JPEG-XL-Community-Site-to-Do-List-6162820f128a4e7f97e4daa7abe65345
2024-09-16 06:17:20
If we want to migrate this to another tool, happy to.
2024-09-16 06:19:12
And as noted in the doc, I was wondering if we should use something like [Docusaurus](https://docusaurus.io/) for the second level, technical details that the marketing site points to.
2024-09-16 06:19:39
Randomly, this site uses it: https://wiki.x266.mov/docs/images/JXL
2024-09-16 06:20:03
(and yes, I've done a pull request to fix all the JPEG-XL references)
_wb_
2024-09-16 06:25:08
<@288069412857315328> are you still working on the website refactoring?
A homosapien
2024-09-16 06:30:16
He live streamed the refactoring of the FAQ page a couple days ago. We were in a discord vc talking about the website and I think it's coming along nicely.
_wb_
2024-09-16 06:32:50
Nice! Looking forward to that, should make things a lot cleaner to edit, and to add new pages.
A homosapien
2024-09-16 06:39:31
Maybe pin his repo in the chat? The more help the better I think.
gb82
KKT Randomly, this site uses it: https://wiki.x266.mov/docs/images/JXL
2024-09-17 02:26:00
I run this site, I can recommend docusaurus. Lemme look into your PR
CrushedAsian255
gb82 I run this site, I can recommend docusaurus. Lemme look into your PR
2024-09-17 02:50:00
You’re the one from av1 for dummies?
gb82
CrushedAsian255 You’re the one from av1 for dummies?
2024-09-17 03:56:13
yeah!! You are familiar!! :)
KKT
gb82 I run this site, I can recommend docusaurus. Lemme look into your PR
2024-09-17 03:28:40
That's crazy. I stumbled across the site when I was looking for examples of sites using Docusaurus.
_wb_
2024-09-17 03:31:37
it's quite cool how many image compression nerds are on this discord
gb82
2024-09-17 04:14:18
For sure :) this is a lovely place to hang out
CrushedAsian255
2024-09-18 07:41:00
# My JPEG decodes differently when converted to JPEG XL! How is this lossless? JPEG to JPEG XL transcoding is always lossless. However, due to slight differences between how JPEG and JPEG XL show the image, the image may decode slightly differently. This is completely normal. The orignal JPEG specification left some wiggle room to the decoder, so you may see differences even between different JPEG decoders. Don't worry, your JPEG is still stored within the JPEG XL, and if you extract the JPEG back out, it will be the exact same.
2024-09-18 07:41:07
just wrote this
2024-09-18 07:42:01
Is this good?
username
2024-09-18 07:43:48
people might get the wrong idea from "due to slight differences between how JPEG and JPEG XL treat the compressed data"
2024-09-18 07:44:16
hmm maybe adding something like "when viewing it" would that part more clear?
w
2024-09-18 07:45:40
clear and concise
2024-09-18 07:45:57
more words -> more confusing
CrushedAsian255
username people might get the wrong idea from "due to slight differences between how JPEG and JPEG XL treat the compressed data"
2024-09-18 07:46:29
Made an edit
2024-09-18 08:32:08
Ôn thế tốpic of lossless JPEG Trấnscoding, hớw well đớes ít cộmpare to DropBox’s Léptôn
2024-09-18 08:32:15
Ok what the actual heck
2024-09-18 08:33:09
On the topic of lossless JPEG transcoding how well does it compare to Dropbox’s Lepton?
gb82 yeah!! You are familiar!! :)
2024-09-18 08:40:58
Can we get the hyphens removed from the JPEG XL article? I’ll send in a PR
username
2024-09-18 08:41:48
if your going to replace it then replace it with a non-breaking space
CrushedAsian255
username if your going to replace it then replace it with a non-breaking space
2024-09-18 08:42:10
&nbsp; ?
username
CrushedAsian255 &nbsp; ?
2024-09-18 08:43:57
uh I think that might be how you do it via HTML or something? I assume just using the raw unicode char would work
yoochan
username uh I think that might be how you do it via HTML or something? I assume just using the raw unicode char would work
2024-09-18 08:44:38
in 2024 it should work indeed 😄
CrushedAsian255
2024-09-18 09:21:43
just checked there is already a pr
2024-09-18 09:21:44
https://github.com/av1-community-contributors/codec-wiki/pull/51
2024-09-18 09:21:54
although not sure if they used NBSPs or standard spaces
username
CrushedAsian255 although not sure if they used NBSPs or standard spaces
2024-09-18 09:26:56
this is how I check https://www.babelstone.co.uk/Unicode/whatisit.html though be careful because I think some programs *might* convert to normal spaces when doing copy and paste stuff
_wb_
2024-09-18 10:08:36
maybe we should try to make the layout engines that decide where to put line breaks more clever. If they can figure out things like not splitting between "Mr." and "Bean", they should also be able to figure out that it's better not to split between "JPEG" and "2000" or "XL".
spider-mario
2024-09-18 12:24:40
or maybe we should rename JPEG XL so that a newline is in fact mandatory
2024-09-18 12:24:55
JPEG\nXL
2024-09-18 12:25:10
“Please add JPEG XL support back to Chrome”
CrushedAsian255
spider-mario “Please add JPEG XL support back to Chrome”
2024-09-18 12:28:40
what about windows support? we also need JPEG\r\nXL for Windows compatibility
Tirr
2024-09-18 12:30:25
how about `JPEG\r\n\x87\nXL`
CrushedAsian255
2024-09-18 12:30:49
`‡`?
Tirr
2024-09-18 12:30:52
(the 4-byte sequence is used within jxl container signature)
CrushedAsian255
2024-09-18 12:33:15
just rename the format to `ftypjxl `
gb82
CrushedAsian255 Can we get the hyphens removed from the JPEG XL article? I’ll send in a PR
2024-09-18 02:07:09
Yeah for sure
KKT
CrushedAsian255 although not sure if they used NBSPs or standard spaces
2024-09-18 03:24:56
Oops. No.
2024-09-18 04:58:58
I was thinking a fun article to write for the site would be about how much space the average person would save by transcoding JPEGs to JXL. As a Mac user, I did this to calculate just the files in my Photos library: `find '~/Pictures/Photos Library.photoslibrary' -type f -iname "*.jpg*" -o -iname "*.jpeg*" -exec du -ch {} \; | awk '/total$/{total += $1/1024/1024} {print} END {print "Full Total:", total, "GB"}'` Everyone always rewrites these when I post, so is there a better way to do it? (Mine came to `24.2072 GB` btw. Would so love almost 5GB back).
Quackdoc
2024-09-18 05:02:49
I think "average person" is a hard statement to make personally, I know people who take pictures of everything, and people who take pictures of next to nothing.
2024-09-18 05:03:34
One thing I wanted to do, was make a firefox extension that would save every single picture that I come across, then do a batch encode of them so as to make a "how much bandwidth would be saved" article
KKT
2024-09-18 05:03:47
Well, someone who would be interested enough to come to the website and then check…
Quackdoc
2024-09-18 05:04:07
you know, that's actually really fair lmao
jonnyawsom3
2024-09-18 05:07:17
I think another point is timespan and age. Older people are less likely to take many photos, a lot of the younger people take a few dozen a day, but the older audiance have decades over the new
username
CrushedAsian255 the website crashes on the waterfox beta for some reason
2024-09-19 07:48:39
a few questions. what CPU do you have? and does the crash happen with Floorp for you or just the Waterfox beta?
2024-09-19 07:50:24
I have noticed ESR128 based Firefox forks with restored JXL support getting strange crashes that only happen on some computers and not others so I'm trying to get some data to try and find out what's happening
2024-09-19 07:56:35
current working theory with almost no data is that maybe the dynamic dispatching in Highway is causing the crash when it sees a newer CPU
CrushedAsian255
2024-09-19 08:19:40
as in only the tab crashes
2024-09-19 08:19:43
im on apple m3 max
username
2024-09-19 08:22:39
I know it's the tab (well more specifically whatever process is holding the tab), I just couldn't think of a shorthand way to say that so I just simplified to "crash"/"crashes"
CrushedAsian255
2024-09-19 08:23:38
is there a debugger
2024-09-19 08:23:45
i can check logs if i can find them
RaveSteel
CrushedAsian255 is there a debugger
2024-09-19 08:24:08
If you have homebrew maybe you could try strace
2024-09-19 08:24:23
Sorry, answered the wrong message
CrushedAsian255
2024-09-19 08:24:37
which message is that for?
2024-09-19 08:24:51
also strace only works on Linux through Homebrew ``` The 4.3.23 changelog can be found at: https://github.com/Homebrew/brew/releases/tag/4.3.23 strace: Linux is required for this software. linux-headers@5.15: Linux is required for this software. glibc: Linux is required for this software. Error: strace: Unsatisfied requirements failed this build. ```
RaveSteel
CrushedAsian255 which message is that for?
2024-09-19 08:25:07
No wait it was the right one. Sorry slept much too little
CrushedAsian255
2024-09-19 08:25:14
wat
jonnyawsom3
2024-09-19 12:28:44
Thought I'd check, there are plans for a zoom setting on the image comparisons, but could it show the original when clicked/held too? I've got a friend who's adamant AVIF is better than JXL on the rooster photo, but without a baseline it's hard to make a case in either direction
KKT
2024-09-19 03:33:14
Yeah, when we originally tossed around the idea, we thought having an original would be good. When we tried it out, we thought it was getting a bit too much for a landing page (at the design stage, not coding)
2024-09-19 03:38:07
Then we thought maybe there was some clever way to hide it so it didn't affect the interface - like holding down the shift key shows the original
2024-09-19 03:41:34
Didn't make it that far in dev obviously
jonnyawsom3
2024-09-19 03:45:34
Since it's a slider, my thought was clicking and holding on the image either side, or pressing on mobile to show the original, but at least on mobile that could obscure a fairly large region too
KKT
2024-09-19 03:51:10
We had the slider jumping to the point if you click on the image so that would need to be overridden.
2024-09-19 03:56:18
I also have to say that a photographer friend swore up and down there was something weird with my originals. I downloaded the largest versions available, in Affinity Photo cropped to the final size and saved out to PNG. He thought there were weird sharpening artifacts in them. I'm not sure what algorithm A.P. uses for the resize in the crop tool…
_wb_
2024-09-19 04:29:55
It wouldn't be unusual if they do some amount of sharpening during downscale, I think Photoshop also does that (or can do that, depending on settings)
CrushedAsian255
KKT I also have to say that a photographer friend swore up and down there was something weird with my originals. I downloaded the largest versions available, in Affinity Photo cropped to the final size and saved out to PNG. He thought there were weird sharpening artifacts in them. I'm not sure what algorithm A.P. uses for the resize in the crop tool…
2024-09-19 08:44:27
I think it defaults to cubic
2024-09-19 08:44:37
But you can check in the export persona
2024-09-19 08:44:50
There is a dropdown of scaling modes you can select
KKT
2024-09-19 08:45:05
I didn't export with it. I used the crop tool which doesn't have the modes (that I can see)
2024-09-19 08:45:21
And exported the PNG at100%
CrushedAsian255
2024-09-19 08:45:21
I don’t think crop does scaling
2024-09-19 08:45:32
Then it should not be scaling anything
KKT
2024-09-19 08:45:47
Crop tool definitely does scaling.
2024-09-19 08:46:04
Just set the mode to Resample
CrushedAsian255
2024-09-19 08:46:21
Forgot that existed
2024-09-19 08:46:25
Oops
KKT
2024-09-19 08:46:57
They all had to be the exact same pixel dimensions, so I thought that was easier.
CrushedAsian255
2024-09-19 08:53:04
Looked at the affinity website. Apparently resample doesn’t up/diwnscale, it just changes that layers assigned DPI
KKT
2024-09-19 09:03:13
Odd, definitely looks like it does.
2024-09-19 09:03:28
Anyway, I know someone wanted to redo them all anyway…
2024-09-19 09:04:26
They were also done at the end of May, so newer cjxl's may perform better…
2024-09-23 02:55:00
So I created some fallback images for the test page:
2024-09-23 02:56:50
What should we do for the Distance vs Effort Page? I could do a fallback image that's the same for every single JXL. Maybe something that says "You can't see this image, use a browser that works, but the numbers below are still relevant…"
Meow
2024-09-23 07:10:15
"Your browser is outdated. Switch to another that supports JPEG XL."
CrushedAsian255
2024-09-23 07:12:04
Your browser sucks.
2024-09-23 07:18:16
Safari’s broken
2024-09-23 07:18:19
monad
2024-09-23 07:29:32
"Why are you here?"
CrushedAsian255
2024-09-23 07:37:32
“Lousy browser”
AccessViolation_
KKT So I created some fallback images for the test page:
2024-09-23 08:05:21
Would it be nice to make it an SVG with a clickable link at the bottom that leads to <https://jpegxl.info/resources/supported-software.html>?
HCrikki
2024-09-23 02:32:25
personally id go with "dont see this image? click here to download it" its a big enough crisis finding jxl files to try in say image viewer apps, situation was always 'generate your own or get lost'
2024-09-23 02:34:09
if sites like photobucket simply made the files downloadable, its a good way to bypass browser support. users only need a preview, an idea of what the image is supposed to look like to decide
Quackdoc
2024-09-23 02:35:09
can't wait until we can say "Don't see this image? Update to an up to date browser like safari or firefox, or click here to download the image"
KKT
CrushedAsian255
2024-09-23 04:04:31
Dammit, does anyone have time to fix that today? I'm in client meetings most of the day. I was testing with THorium & Chrome. That will teach me…
2024-09-23 04:10:03
Never mind, I fixed it
Meow
2024-09-23 04:34:19
Yeah it works
Orum
2024-09-24 09:37:50
can we get some fallback formats for browsers that don't support <:JXL:805850130203934781> yet for this? https://jpegxl.info/old/art/
CrushedAsian255
2024-09-24 10:07:10
We should probably migrate the art page to the new site
HCrikki
2024-09-24 06:51:46
and get some of the new art. old is not quite impressive compared to newer attempts leveraging https://jxl-art.surma.technology/
2024-09-24 06:55:31
maybe even maintain a collection of really good wallpaper-ready art? could be handy for website backgrounds in place of simple colors and css tricks
KKT
HCrikki personally id go with "dont see this image? click here to download it" its a big enough crisis finding jxl files to try in say image viewer apps, situation was always 'generate your own or get lost'
2024-09-25 02:46:18
Is there a way to do that without JS? I keep using JS and everyone says you can do it just with CSS!
CrushedAsian255
2024-09-25 03:56:44
Why do people hate JavaScript
Meow
2024-09-25 04:10:02
It destroys UX on Lynx
KKT
2024-09-25 04:16:46
Hurts SEO in some cases…
A homosapien
2024-09-25 04:29:12
It's evil
_wb_
2024-09-25 05:54:25
It's Turing complete, while css isn't. So js needs fancy JIT compilation in a sandboxed way, which hurts performance a bit, while css can be implemented more efficiently.
Tirr
2024-09-25 06:06:25
well iirc CSS can do Rule 110 using variables and counters, so it's *theoretically* Turing-complete, but yeah CSS is less complex than JavaScript and doesn't need JIT or something
w
2024-09-25 06:09:05
using js to render the website is bad
2024-09-25 06:09:13
using it to enhance a static website is fine
_wb_
Tirr well iirc CSS can do Rule 110 using variables and counters, so it's *theoretically* Turing-complete, but yeah CSS is less complex than JavaScript and doesn't need JIT or something
2024-09-25 06:12:36
Can you write an infinite loop in CSS?
Tirr
_wb_ Can you write an infinite loop in CSS?
2024-09-25 06:18:42
I've just googled it, and it seems that a user need to keep interacting with HTML (which acts as a loop) to run the automaton so it's not really Turing-complete
A homosapien
2024-09-25 07:19:21
So HTML+ CSS is Turing complete
_wb_
2024-09-25 07:34:44
More like HTML + CSS + human
CrushedAsian255
2024-09-25 07:39:12
So like how PowerPoint is Turing complete, human required
spider-mario
2024-09-25 08:59:29
or like https://ideas.lego.com/projects/10a3239f-4562-4d23-ba8e-f4fc94eef5c7 which requires a human to turn the handle
Meow
2024-09-25 09:48:10
If people wonder how jpegxl.info looks like on Lynx
Traneptora
2024-09-25 09:59:21
Browsers tend to have fairly performant CSS rendering engines because CSS can easily be optimized
2024-09-25 09:59:44
v8 JavaScript has to be run on one thread and it's a slow, dynamic language
2024-09-25 10:00:26
doing random nits and bits in JS isn't what people dislike - what people dislike is these websites that use webpack to bundle the entire site into a big JS file that renders and loads very slowly
Meow
2024-09-29 05:37:09
I can't understand these stars
KKT
2024-09-29 07:09:46
Like the ratings are off? Not sure what you mean.
Meow
2024-09-29 07:26:19
They don't really reflect the rankings below
TheBigBadBoy - 𝙸𝚛
2024-09-29 08:17:52
https://cdn.discordapp.com/emojis/1000126798161518663.gif?size=48&quality=lossless&name=marioStar
CrushedAsian255
2024-09-30 03:26:46
🌟
_wb_
2024-09-30 08:07:29
seems something wrong with the AVIF ratings: for lossy non-photo, AVIF is actually quite good, probably even better than JXL with the current encoders
2024-09-30 08:07:58
also for mixed photo/nonphoto AVIF is good
2024-09-30 08:11:22
if someone feels like turning that table into HTML so it's easier to edit, that would be nice. We can then also add some tooltip explanations or something to explain some of the ratings...
CrushedAsian255
_wb_ if someone feels like turning that table into HTML so it's easier to edit, that would be nice. We can then also add some tooltip explanations or something to explain some of the ratings...
2024-09-30 09:05:38
You would probably need a lot of CSS as well
2024-09-30 09:05:46
Or is that assumed
yurume
2024-09-30 09:14:23
not actually that many
2024-09-30 09:22:38
you can also make it SVG to turn it interactive without requiring JS at all
CrushedAsian255
2024-09-30 09:39:48
What VCS does the website use?
w
2024-09-30 11:08:49
i became unmotivated with the rewrite...
_wb_
w i became unmotivated with the rewrite...
2024-09-30 11:28:33
what state is it in?
2024-09-30 11:29:28
is there anyone who wants to continue? It would be good if we can get the site in a cleaner and refactored state before adding new stuff...
w
2024-09-30 11:30:34
something like 3 pages are done
lonjil
2024-09-30 11:31:55
With those as examples, I could try to a few more pages
_wb_
2024-09-30 11:36:27
so I guess there are two somewhat orthogonal things here: one is cleaning up the CSS and JS (and converting some JS things to CSS where possible), and the other is to get some simple generator working so the navigation stuff (and the footer) can be factored out so we can add new pages or adjust the menu layout without having to update all the html pages
w
2024-09-30 11:37:57
the root template - nav header, footer is set up
2024-09-30 11:38:30
I did the FAQ page so there's an example of css dropdowns and code to html generator
_wb_
2024-09-30 11:47:02
cool, can you get motivated to make a PR for that? 🙂
CrushedAsian255
2024-09-30 12:21:10
If I want to work on the site what is the best way to deploy it locally
_wb_
2024-09-30 03:12:42
I just do `python3 -m http.server` in the root folder, then browse to http://[::]:8000/
spider-mario
2024-09-30 03:17:46
yeah, that or `darkhttpd` is an option
Mine18
2024-10-01 12:03:12
hey, can i request additions to be added to the list of supported software on the site?
_wb_
2024-10-01 12:07:02
sure, just make a pull request: https://github.com/jxl-community/jxl-community.github.io
Demiurge
2024-10-02 08:31:59
https://jpegxl.info/resources/battle-of-codecs.html "General loss" should be "Generation loss"
_wb_
2024-10-02 08:34:16
KKT
2024-10-02 09:25:42
Swear to god I fixed that already