|
HCrikki
|
2024-03-13 03:02:29
|
after trying, seems jxl cant be set as wallpapers - listed and selectable, but wallpaper doesnt change
|
|
2024-03-13 03:09:33
|
in file properties/details theres no metada filled but system recognizes its an image and shows blank fields (shoved a file inside a music-only library set as such in case it was previously just an assumption from being in an image folder)
|
|
2024-03-13 03:17:40
|
reconstructible jxl from jpg doesnt decode
|
|
2024-03-13 03:18:01
|
right click on jxl and you get the option to rotate or set as wallpaper
|
|
|
Traneptora
|
2024-03-13 03:18:42
|
I see, so it's still very experimental
|
|
|
HCrikki
|
2024-03-13 03:19:01
|
experimental doesnt leave canary
|
|
|
Traneptora
|
2024-03-13 03:19:21
|
in theory, but what you're describing is that it doesn't work
|
|
|
HCrikki
|
2024-03-13 03:19:58
|
work in progress?
|
|
|
Tirr
|
2024-03-13 03:20:24
|
jxl is listed as an image format, signatures are registered, but there's no actual decoder now
|
|
|
jonnyawsom3
|
2024-03-18 09:09:15
|
Finally done, mostly https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4055#issuecomment-2002158159
|
|
2024-03-18 09:09:45
|
Merged at least, but missing a few features
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-03-23 10:04:31
|
any news for XYB JPEG support in FFmpeg ?
|
|
|
Traneptora
|
|
TheBigBadBoy - 𝙸𝚛
any news for XYB JPEG support in FFmpeg ?
|
|
2024-03-24 08:34:07
|
it has supported XYB jpeg for a while
|
|
2024-03-24 08:34:35
|
you can decode XYB jpegs in FFmpeg just fine, and it just forwards the ICC profile
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Traneptora
it has supported XYB jpeg for a while
|
|
2024-03-24 08:36:27
|
left PNG
right cjpegli XYB JPG
both are displayed using `ffplay`
|
|
|
Traneptora
|
2024-03-24 08:36:35
|
ffplay is not color managed
|
|
2024-03-24 08:36:41
|
this has nothing to do with XYB jpeg
|
|
2024-03-24 08:36:45
|
play it with mpv or plplay
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-03-24 08:38:44
|
works great with MPV 0.o
unfortunately my image viewer (pqiv) uses FFmpeg, so it has that color error too 🥲
|
|
|
Traneptora
|
2024-03-24 08:38:57
|
that means your image viewer is not color managed
|
|
|
190n
|
2024-03-24 08:39:16
|
the issue isn't using ffmpeg the issue is ignoring color profiles
|
|
|
Traneptora
|
2024-03-24 08:39:20
|
throwing the pixels at the screen without regard for the ICC profile is incorrect
|
|
|
190n
|
2024-03-24 08:39:24
|
like mpv uses ffmpeg too i think
|
|
|
Traneptora
|
2024-03-24 08:39:26
|
and causes the undesirable behavior
|
|
2024-03-24 08:39:33
|
indeed, mpv decodes the jpeg with libavcodec
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-03-24 08:39:55
|
thanks <:PepeOK:805388754545934396>
|
|
|
Traneptora
|
2024-03-24 08:41:12
|
I did a bunch of work to get ffmpeg to decode weird subsampled RGB jpegs that were produced by old versions of jpegli
|
|
2024-03-24 08:41:28
|
and then some changes to libplacebo to work correctly with the XYB icc profile
|
|
2024-03-24 08:44:57
|
e.g. https://code.videolan.org/videolan/libplacebo/-/commit/5f44a16fb2ebf2e1893b847429dabf5595fed730
|
|
|
Quackdoc
|
2024-03-24 08:51:44
|
couldn't you use libplacebo filter to render out the image with the icc with ffplay? I thought you could but im not too sure now
|
|
|
Traneptora
|
|
Quackdoc
couldn't you use libplacebo filter to render out the image with the icc with ffplay? I thought you could but im not too sure now
|
|
2024-03-24 10:52:38
|
yes
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Traneptora
that means your image viewer is not color managed
|
|
2024-03-25 07:52:44
|
so I opened an issue and they answered:
> pqiv uses GTK's own GdkPixbuf for rendering standard file formats, and it looks like it doesn't really support this:
> https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/104
> Do any Gnome default viewers get this right for you?
I don't know any (even that don't work with ICCs) <:KekDog:805390049033191445>
I just know that the FilePicker dialog doesn't support ICCs
|
|
|
Traneptora
|
2024-03-25 07:53:17
|
GdkPixbuf supports ICC profiles
|
|
2024-03-25 07:53:27
|
see the gdk-pixbuf loader in libjxl
|
|
2024-03-25 07:54:07
|
and I use Eye of Mate and it works fine
|
|
|
TheBigBadBoy - 𝙸𝚛
so I opened an issue and they answered:
> pqiv uses GTK's own GdkPixbuf for rendering standard file formats, and it looks like it doesn't really support this:
> https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/104
> Do any Gnome default viewers get this right for you?
I don't know any (even that don't work with ICCs) <:KekDog:805390049033191445>
I just know that the FilePicker dialog doesn't support ICCs
|
|
2024-03-25 07:55:36
|
the answer is the icc profile is a base64-encoded null-terminated ASCII string
|
|
2024-03-25 07:55:48
|
with the `icc-profile` option key
|
|
2024-03-25 07:55:56
|
used in `gdk_pixbuf_get_option`
|
|
2024-03-25 07:56:28
|
Eye of Gnome, the gnome image viewer, also works fine
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-03-25 07:57:15
|
nice thank you
|
|
|
Traneptora
|
2024-03-25 07:57:25
|
(figuring this out was not easy, btw)
|
|
2024-03-25 07:58:16
|
you can call `gdk_pixbuf_get_option("icc-profile")` which returns a `gchar *` string, and then you can use `g_base64_decode` to get the actual ICC profile buffer
|
|
2024-03-25 07:58:21
|
which can be fed to lcms2 or something of that form
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Traneptora
(figuring this out was not easy, btw)
|
|
2024-03-25 08:00:32
|
so could we consider that an "uncommon" ICC in JPG ?
|
|
|
Traneptora
|
2024-03-25 08:00:44
|
the XYB icc profile? yes I'd consider it unusual
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-03-25 08:01:26
|
the fact that it's "base64-encoded null-terminated ASCII string"
|
|
|
Traneptora
|
2024-03-25 08:01:38
|
oh, that's just how gdk pixbuf does ICC profiles
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-03-25 08:01:44
|
oh ok
|
|
|
Traneptora
|
2024-03-25 08:01:57
|
the "icc-profile" option is just the icc profile, encoded as a base64 string
|
|
2024-03-25 08:02:13
|
why they chose to store the metadata this way? I do not know
|
|
|
jonnyawsom3
|
2024-03-25 01:44:22
|
Oh yeah, I'm not sure if anyone ever mentioned and it seems obvious, but https://squoosh.app/ also supports JXL *input* and will display on browsers without support
|
|
2024-03-25 01:45:07
|
Just playing with some resampled pixel art and now I can see every other format at... Well uh, yeahhhh....
|
|
|
HCrikki
|
2024-03-25 02:31:28
|
extremely outdated version of the jxl decoder and encoder, no?
|
|
2024-03-25 02:33:46
|
afaik its still 0.5 or 0.6 from 3 years ago (!) from before the bitstream was even finalised and forward compatibility guaranteed
|
|
|
Silikone
|
2024-03-25 02:46:01
|
https://assets.nintendo.com/image/upload/ar_16:9,b_auto:border,c_lpad/b_white/f_jxl/q_auto/dpr_1.0/c_scale,w_1200/ncom/en_US/products/hardware/nintendo-switch-oled-model-white-set/115461-switch-oled-white-boxart-1200x675
|
|
2024-03-25 02:46:06
|
Nintendo serving JXL?
|
|
|
lonjil
|
2024-03-25 02:47:30
|
where'd you get that URL?
|
|
|
Silikone
|
2024-03-25 02:47:46
|
From a 4chan thread
|
|
|
Orum
|
2024-03-25 02:47:52
|
it is indeed a <:JXL:805850130203934781>: `115461-switch-oled-white-boxart-1200x675.jxl JXL 1200x675 1200x675+0+0 8-bit sRGB 49465B 0.000u 0:00.004`
|
|
|
lonjil
|
2024-03-25 02:48:01
|
I notice it says f_jxl
|
|
|
Orum
|
2024-03-25 02:49:23
|
or from `jxlinfo`:
```JPEG XL image, 1200x675, lossy, 8-bit RGB
Color space: RGB, D65, sRGB primaries, sRGB transfer function, rendering intent: Relative```
|
|
|
Quackdoc
|
2024-03-25 02:49:33
|
I cant open it it just closes itself lmao
|
|
|
HCrikki
|
2024-03-25 02:50:45
|
its an option. avif is served if jxl not supported and default even for jxl supporting clients. shows their cdn provider totally generates the images - cloudinary?
|
|
|
Quackdoc
|
2024-03-25 02:51:02
|
I think it seems to prefer avif for me
|
|
|
Orum
|
2024-03-25 02:51:12
|
So, is anyone here running safari, and can tell us what % of images they serve in JXL?
|
|
|
Silikone
|
2024-03-25 02:51:48
|
Or download Pale Moon
|
|
|
lonjil
|
2024-03-25 02:52:09
|
I changed it to f_auto and opened it in Safari, it gave me a JPEG1
|
|
2024-03-25 02:52:45
|
So I think Nintendo has not opted into serving JXL's to people automatically
|
|
|
Quackdoc
|
2024-03-25 02:52:58
|
hmmm, it doesn't use accept headers T.T
|
|
|
lonjil
|
2024-03-25 02:53:11
|
f_auto uses accept headers AFAIK
|
|
2024-03-25 02:53:21
|
But Cloudinary doesn't serve JXL by default yet
|
|
2024-03-25 02:53:25
|
website operators must opt in
|
|
|
HCrikki
|
2024-03-25 02:53:52
|
got latest safari build running on windows, fetches and downloads jpg
|
|
|
Quackdoc
|
2024-03-25 02:53:56
|
im browsing nintendo's site and using the below and it's still giving me avif
```ps
Accept: image/jxl,image/webp,*/*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
```
|
|
|
lonjil
|
2024-03-25 02:55:47
|
aren't you opting into avif with that `*/*`?
|
|
|
Orum
|
2024-03-25 02:56:09
|
Accept-Language should be en-CA for you 😉
|
|
|
Quackdoc
|
2024-03-25 02:56:16
|
it's an option but it should be lower prioritized [Hmm](https://cdn.discordapp.com/emojis/1113499891314991275.webp?size=48&quality=lossless&name=Hmm)
|
|
|
Orum
Accept-Language should be en-CA for you 😉
|
|
2024-03-25 02:56:29
|
yeah if you do that half the websites you come across are french for some reason
|
|
|
lonjil
|
2024-03-25 02:56:34
|
CDNs don't care about priority
|
|
|
Quackdoc
|
2024-03-25 02:56:54
|
they used to [av1_PepeHands](https://cdn.discordapp.com/emojis/654081051768913941.webp?size=48&quality=lossless&name=av1_PepeHands)
|
|
2024-03-25 02:57:17
|
oh common
> Accept
> image/jxl,image/webp,image/png
type: webp
|
|
|
Orum
|
2024-03-25 02:57:26
|
solution: refuse to accept anything except <:JXL:805850130203934781>
|
|
|
HCrikki
|
2024-03-25 02:58:36
|
in the biggest markets (us, uk, canada and japan), 35% of the mobiles in active use support jxl and thats before any additional support in their own mobile apps or chromium
|
|
|
Quackdoc
|
2024-03-25 02:59:31
|
thorium serving avif to me as well, I can't get it to serve JXL at all unless I manually use f_jxl
|
|
|
HCrikki
|
2024-03-25 03:00:03
|
almost all avifs are served by cdns and as delivery-only images for whats originally jpgs. the original jpg should always be the fallback
|
|
|
Quackdoc
|
2024-03-25 03:00:38
|
yeah even when using accept image/jxl only it serves jpeg and png
|
|
|
|
afed
|
2024-03-25 03:00:41
|
i wonder what cdn is used <:Thonk:805904896879493180>
cloudinary?
|
|
|
lonjil
|
2024-03-25 03:00:51
|
> f_auto uses accept headers AFAIK
> But Cloudinary doesn't serve JXL by default yet
> website operators must opt in
|
|
|
jonnyawsom3
|
|
HCrikki
afaik its still 0.5 or 0.6 from 3 years ago (!) from before the bitstream was even finalised and forward compatibility guaranteed
|
|
2024-03-25 03:00:56
|
Yeah, not much activity lately but they updated both libavif and oxipng recently so probably just patching commits in other forks https://github.com/GoogleChromeLabs/squoosh/issues/1402
|
|
|
Quackdoc
|
|
lonjil
> f_auto uses accept headers AFAIK
> But Cloudinary doesn't serve JXL by default yet
> website operators must opt in
|
|
2024-03-25 03:01:10
|
yeah that would be it
|
|
|
HCrikki
|
2024-03-25 03:02:10
|
universal defaults for all regions make no sense anymore. in those markets jxl should logically be the first format served
|
|
|
Orum
|
|
Yeah, not much activity lately but they updated both libavif and oxipng recently so probably just patching commits in other forks https://github.com/GoogleChromeLabs/squoosh/issues/1402
|
|
2024-03-25 03:02:12
|
Google Chrome Labs... no wonder it's not updated 😮💨
|
|
|
jonnyawsom3
|
|
Yeah, not much activity lately but they updated both libavif and oxipng recently so probably just patching commits in other forks https://github.com/GoogleChromeLabs/squoosh/issues/1402
|
|
2024-03-25 03:02:24
|
Ironically, I'm actually using 0.6 to test <@532010383041363969>'s Delta Palette (Or at least I assume it's mostly theirs, since they're the pixel wizard always experimenting)
|
|
|
HCrikki
afaik its still 0.5 or 0.6 from 3 years ago (!) from before the bitstream was even finalised and forward compatibility guaranteed
|
|
2024-03-25 03:03:17
|
And not quite, bitstream was frozen around 0.3, which is no longer avalible to download from the Github releases
|
|
|
lonjil
|
2024-03-25 03:03:20
|
<@794205442175402004> do you have anything you can share on when JXL might start being served by default by Cloudinary?
|
|
|
Orum
|
2024-03-25 03:03:57
|
my only guess would be that they're waiting until more browsers get support?
|
|
|
HCrikki
|
2024-03-25 03:04:51
|
better yet, by other cdns like cf. it seems they had a working pipeline they activate for even small clients the moment they ask
|
|
|
jonnyawsom3
|
2024-03-25 03:06:16
|
I remember Facebook's old comment on the chrome issue saying they were ready to 'hit the button' on full support
|
|
|
|
afed
|
2024-03-25 03:09:02
|
probably because jxl support is unstable except for safari, and forks have a very small percentage
|
|
|
jonnyawsom3
|
2024-03-25 03:11:50
|
I know Firefox Nightly's support is still a mess, but assuming most are either on Safari or Forks is there any downside to turning it on?
|
|
|
HCrikki
|
2024-03-25 03:11:59
|
anyone who serves their own content to their own mobile apps shouldve hit that button regardless of browsers' implmeentation (like shopify, web builders, social everything or any app that serves its content **only** through its own app). that alone wouldve made mobile apps serve content much quicker than the full website in a browser
|
|
|
jonnyawsom3
|
2024-03-25 03:12:31
|
(If someone goes out of their way to enable the nightly flag, they probably know not to use the Firefox JXL anyway)
|
|
|
Quackdoc
|
|
I know Firefox Nightly's support is still a mess, but assuming most are either on Safari or Forks is there any downside to turning it on?
|
|
2024-03-25 03:15:18
|
for a cdn or a browser? I cant claim to understand how cloudinary works, but as a general "CDN" standpoint, if they arent seeing the numbers of devices enabled, it could just be that it doesnt make sense to spend the extra cputime/storage on it
|
|
|
jonnyawsom3
|
2024-03-25 03:16:12
|
Somehow I completely forgot the images are cached and not just computed realtime.... Which obviously wouldn't work at all
|
|
|
HCrikki
|
|
Quackdoc
for a cdn or a browser? I cant claim to understand how cloudinary works, but as a general "CDN" standpoint, if they arent seeing the numbers of devices enabled, it could just be that it doesnt make sense to spend the extra cputime/storage on it
|
|
2024-03-25 03:35:19
|
i know theres slow movers but leading web services arent supposed to operate by long outdated market conditions like theyre shipping physical products whose state cannot be changed post-delivery
|
|
2024-03-25 03:36:08
|
every recompression from jpg to avif/webp is *lossy* and a full conversion, whereas jpg->jxl is almost instant on any hw, consistently guarantees 20% lower filesize and introduces no extra data loss. this alone is a web changer
|
|
|
Aerocatia
|
|
Silikone
https://assets.nintendo.com/image/upload/ar_16:9,b_auto:border,c_lpad/b_white/f_jxl/q_auto/dpr_1.0/c_scale,w_1200/ncom/en_US/products/hardware/nintendo-switch-oled-model-white-set/115461-switch-oled-white-boxart-1200x675
|
|
2024-03-25 03:37:03
|
wget gave me a JPEG-XL
|
|
|
Silikone
|
2024-03-25 03:37:53
|
I can download it directly from the browser, but there's no suffix
|
|
|
Aerocatia
|
|
Silikone
|
2024-03-25 03:38:15
|
Doesn't matter on Linux, though.
|
|
|
Aerocatia
|
2024-03-25 03:38:23
|
I got a friend to test it on an iPad and it directly loads in safari
|
|
|
sklwmp
|
|
Silikone
https://assets.nintendo.com/image/upload/ar_16:9,b_auto:border,c_lpad/b_white/f_jxl/q_auto/dpr_1.0/c_scale,w_1200/ncom/en_US/products/hardware/nintendo-switch-oled-model-white-set/115461-switch-oled-white-boxart-1200x675
|
|
2024-03-25 03:38:23
|
yep, serves me a jxl using Floorp
|
|
2024-03-25 03:39:23
|
well, that makes sense...
|
|
|
HCrikki
|
2024-03-25 03:39:29
|
anyone wanna try bleeding edge safari on windows, its 2 zips extracted to the same folder
|
|
|
sklwmp
|
2024-03-25 03:40:51
|
the nintendo website does use Cloudinary so if you force it to serve JXL by changing the endpoint to f_jxl, it serves <:JXL:805850130203934781> , but normally f_auto just serves AVIF, as, well, expected...
|
|
|
jonnyawsom3
|
|
lonjil
> f_auto uses accept headers AFAIK
> But Cloudinary doesn't serve JXL by default yet
> website operators must opt in
|
|
2024-03-25 03:41:25
|
<:This:805404376658739230>
|
|
|
HCrikki
|
2024-03-25 03:42:55
|
theres no point serving avif to ios/safari though like its an express cloudinary client request demanded with an iron fist
|
|
|
VcSaJen
|
|
sklwmp
the nintendo website does use Cloudinary so if you force it to serve JXL by changing the endpoint to f_jxl, it serves <:JXL:805850130203934781> , but normally f_auto just serves AVIF, as, well, expected...
|
|
2024-03-25 03:44:18
|
Usually you can't force it because transforms are locked. Unlocked transforms are for debug purposes only
|
|
|
sklwmp
|
2024-03-25 03:45:01
|
yea, i found that weird too, i don't think we're supposed to be able to change "f_auto" like this...
|
|
|
_wb_
|
|
lonjil
<@794205442175402004> do you have anything you can share on when JXL might start being served by default by Cloudinary?
|
|
2024-03-25 03:46:52
|
It's still opt-in, we do have some customers who did opt-in already. We're now serving about 40 million jxl images per day, still peanuts but quite a bit more than the 1-2 million jxl images we served per day beginning of this year.
|
|
|
lonjil
|
2024-03-25 03:48:00
|
I'm eagerly awaiting the day it stops being opt-in, suddenly there would be a lot of traffic to cite as evidence of jxl being widely used.
|
|
|
Quackdoc
|
2024-03-25 03:48:04
|
I wonder how busted a "redirection" app would be that would `s/f_auto/f_jxl` probably pretty busted
|
|
|
_wb_
|
|
Quackdoc
|
2024-03-25 03:52:07
|
those are some good numbers 0.0
|
|
|
yoochan
|
2024-03-25 03:52:15
|
strange increase ! which client caused it ? 😄
|
|
|
sklwmp
|
|
Quackdoc
those are some good numbers 0.0
|
|
2024-03-25 03:52:46
|
truly, that's some real "ecosystem interest"
|
|
|
lonjil
|
2024-03-25 03:53:04
|
the first peak was probably people not using their windows computers because they were busy with christmas (so using their iPhones more instead)
|
|
|
_wb_
|
2024-03-25 03:53:27
|
Here are the top "browsers" we see with image/jxl support (numbers are for some random day one or two weeks ago)
|
|
|
Quackdoc
|
2024-03-25 03:54:15
|
Im assuming most of these are webview/platform stuff on ios?
|
|
|
_wb_
|
2024-03-25 03:54:41
|
yeah, probably mostly the iOS versions of the apps
|
|
2024-03-25 03:55:28
|
If I scroll a bit down I also see Pale Moon 30,892 0.00%
|
|
|
sklwmp
|
|
_wb_
It's still opt-in, we do have some customers who did opt-in already. We're now serving about 40 million jxl images per day, still peanuts but quite a bit more than the 1-2 million jxl images we served per day beginning of this year.
|
|
2024-03-25 03:55:52
|
What reasons did those customers give for opting in to JXL support? Like, I want to know the corporate incentives to adopting this "new" tech <:BlobYay:806132268186861619>
|
|
|
_wb_
|
|
sklwmp
What reasons did those customers give for opting in to JXL support? Like, I want to know the corporate incentives to adopting this "new" tech <:BlobYay:806132268186861619>
|
|
2024-03-25 03:56:28
|
No idea. They don't have to give reasons, it's just clicking a checkbox in their settings 🙂
|
|
|
sklwmp
|
2024-03-25 03:57:07
|
ohh, i thought at least some of them would've posted or communicated about it or something
|
|
2024-03-25 03:57:14
|
anyway, still great numbers
|
|
|
Quackdoc
|
|
_wb_
If I scroll a bit down I also see Pale Moon 30,892 0.00%
|
|
2024-03-25 03:58:19
|
that is a surprisingly high number of palemoon usage xD
|
|
|
_wb_
|
2024-03-25 04:00:08
|
Basilisk 2,374 0.00%
|
|
|
Orum
|
2024-03-25 04:00:19
|
so basically JXL images are almost entirely served to Safari, and usually the mobile one
|
|
|
_wb_
|
2024-03-25 04:00:32
|
Waterfox 2,817 0.00%
|
|
|
lonjil
|
|
Quackdoc
that is a surprisingly high number of palemoon usage xD
|
|
2024-03-25 04:01:03
|
it's total number of requests tho, so if every Palemoon user saw a total of say 10 images that's 3000 people. If they got more images than that, it's even fewer people.
|
|
|
_wb_
|
2024-03-25 04:04:32
|
Here's the top "browsers" _not_ having image/jxl in the Accept headers:
Chrome 2,574,088,266 17.39%
Chrome Mobile 1,247,689,372 8.43%
Mobile Safari UI/WKWebView 1,089,589,664 7.36%
Mozilla 739,952,529 5.00%
Edge 607,373,972 4.10%
Mobile Safari 564,490,648 3.81%
Android 541,269,236 3.66%
Firefox 334,544,421 2.26%
Safari 290,444,942 1.96%
Chrome Mobile WebView 258,302,222 1.74%
App 207,736,179 1.40%
Bytespider 191,633,822 1.29%
Samsung Internet 180,777,403 1.22%
Facebook 178,610,359 1.21%
HeadlessChrome 161,579,167 1.09%
|
|
|
HCrikki
|
|
sklwmp
ohh, i thought at least some of them would've posted or communicated about it or something
|
|
2024-03-25 04:04:35
|
one reason would be webdev against web-accessible test sites and serving their own content to their own desktop and mobile apps. analytic suites can give odd numbers for a number of reasons, like a web service being accessible **only** through its own app (analytic scripts arent only included in websites)
|
|
|
_wb_
|
2024-03-25 04:06:30
|
still quite a bit of Safari that either hasn't upgraded yet, or I guess is making image requests in a way that doesn't send the right Accept headers (e.g. fetching via javascript will not send the Accept headers for images, I suppose)
|
|
2024-03-25 04:31:11
|
Some websites that are using Cloudinary and are delivering quite a few jxl images:
https://www.aroma-zone.com/
https://www.truereligion.com/
https://www.aritzia.com/
https://www.luisaviaroma.com/
https://fcbayern.com/
https://suitsupply.com/
|
|
2024-03-25 04:33:44
|
https://www.gents.se/
https://www.thescore.com/
https://gp1tickets.com/
|
|
2024-03-25 04:36:55
|
it's quite fun to be able to run queries against a huge amount of CDN logs
|
|
|
Orum
|
2024-03-25 04:38:35
|
Is there an incentive for customers to enable JXL? Like, are they billed on aggregate traffic or something?
|
|
|
_wb_
|
2024-03-25 04:42:38
|
It's a bit complicated — in the current pricing model, they pay for bandwidth but also for number of encodes and for storage of the encoded images. In the new simplified pricing model (that we're only just beginning to roll out), they'll pay per view and it becomes our problem to make the trade-off between bandwidth and spending cpu/storage on making more variants.
|
|
|
Orum
|
2024-03-25 04:43:06
|
that makes sense
|
|
|
Quackdoc
|
2024-03-25 05:29:41
|
I suppose that means if a site is say predominantly apple, you could, in theory, choose not to serve avif at all to that site, if a site is more chrome/android not serve jxl, and a healthy mix serve both?
|
|
|
spider-mario
|
|
Aerocatia
wget gave me a JPEG-XL
|
|
2024-03-25 06:17:14
|
why does this sound like an infection
|
|
2024-03-25 06:17:33
|
“I got a particularly recalcitrant JPEG XL from wget”
|
|
|
yoochan
|
2024-03-25 07:14:28
|
Looks like a quote from crocodile dundjee(xl)
|
|
|
_wb_
|
|
VcSaJen
|
2024-03-29 12:24:47
|
Is this true? https://www.instagram.com/trentsizemore/p/C5CyizDrP2G/
|
|
2024-03-29 12:30:54
|
Found this: https://engineering.fb.com/2024/03/26/android/instagram-threads-hdr-photos/
But they did not mention JPEG XL/AVIF or high bit depth, only HDR. At least in text, I did not listen to podcast.
|
|
|
HCrikki
|
2024-03-29 12:34:58
|
afaik its actually ancient jpg combined with a gainmap, which google calls jpeg-r despite being an 'extend' of jpg or ultrahdr
|
|
|
VcSaJen
|
2024-03-29 12:35:51
|
I don't have Instagram app, so I can't test if JXL is uploadable
|
|
|
HCrikki
|
2024-03-29 12:35:55
|
try saving any 'ultrahdr' with a really low quality and youll realize its actually trash even though hdr data is added - no better than regular jpg
|
|
2024-03-29 12:37:14
|
jpg takes a lot of storage and even though a gainmap doesnt add a lot, jxl should consistently generate such photos at half the filesize and higher quality too
|
|
2024-03-29 12:40:54
|
the big win for the ecosystem is that like on iphones since a few models, android now *stores* hdr data so it should be easy for camera apps to generate images from that in jxl or avif. previously iphones didnt display hdr intent even if it was captured and screen could show it
|
|
2024-03-29 12:44:11
|
anyway social apps cant viably serve massive and share 10+ megabyte jpgs unless they capture it themselves and gainmaps are unreliable and result in mismatch after even just small metadata changes, nevermind image manipulations on the original file more complex than crop, resize, rename
|
|
|
VcSaJen
|
2024-03-29 12:48:53
|
https://gregbenzphotography.com/hdr-photos/instagram-now-supports-hdr-photos/
Here is mentioned that HEIC and AVIF uploads are supported via Instagram app (not website). Maybe JXL is also supported then, at least in iOS?
|
|
|
HCrikki
|
2024-03-29 01:06:03
|
unconfirmed but facebook allegedly allowed jxl upload 2 years before. keeping up with adoption is a pain cuz its usually not disclosed or passively obtained from devs updating their builds of image libraries they already use like ffmpeg. snapcraft and flathub are completely untracked too
|
|
|
jonnyawsom3
|
2024-03-29 02:51:47
|
Got an Unsupported Format error when trying to use a JXL on Android, so need someone on IOS to test
|
|
|
HCrikki
|
2024-03-29 03:10:10
|
test what? if its a website, use cromite
for images, theres a 3rdparty build of fossify gallery with a 5min patch integrated
|
|
|
VcSaJen
|
|
Got an Unsupported Format error when trying to use a JXL on Android, so need someone on IOS to test
|
|
2024-03-29 03:10:43
|
Did you use the latest version of the app?
|
|
|
jonnyawsom3
|
2024-03-29 03:40:19
|
No updates available
|
|
|
VcSaJen
|
2024-03-29 03:55:36
|
So it's not supported. A shame
|
|
|
HCrikki
|
2024-03-29 04:13:28
|
odd jon reported it worked 2 years ago. try again with a jpg converted to jxl, stored as contained instead of naked codestream. through website - afaik the apps do some silent preprocessing so they need formats supported in fresco
|
|
|
jonnyawsom3
|
2024-03-29 10:52:59
|
Thought I'd ask if anyone knew of C# OpenImageIO bindings or other image libraries with one. Trying to find an excuse to get JXLs into VR :P
https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/1562
|
|
|
sklwmp
|
|
HCrikki
odd jon reported it worked 2 years ago. try again with a jpg converted to jxl, stored as contained instead of naked codestream. through website - afaik the apps do some silent preprocessing so they need formats supported in fresco
|
|
2024-03-30 04:47:15
|
JXL upload worked fine for me ~1 year ago on Facebook Desktop, haven't tested recently
|
|
|
jonnyawsom3
|
2024-03-30 10:22:28
|
JXL compressed DNGs are now supported
https://github.com/LibRaw/LibRaw/commit/12b0e5d60c57bb795382fda8494fc45f683550b8
|
|
2024-03-30 04:12:04
|
Now we just need to wait a year for a new release... And then for applications to update their libraries 🥲
|
|
|
fab
|
2024-03-30 04:32:57
|
We are ata good point
|
|
|
VcSaJen
|
2024-04-02 12:22:12
|
https://www.phoronix.com/news/Linux-Mint-22-March-2024
|
|
|
HCrikki
|
2024-04-02 12:37:39
|
hopefully the package pulled from debian is fresher. debian's many derivatives are stuck on 0.7.0
|
|
|
Demiurge
|
2024-04-02 01:17:03
|
It's ok. 0.7 is more stable!
|
|
2024-04-02 01:19:24
|
Honestly it's kind of dangerous how fast they're updating things. Would be safer if they used 0.6 or 0.5 and just backported security fixes themselves during packaging
|
|
2024-04-02 01:27:17
|
That's the only way, if you're a serious, server OS
|
|
2024-04-02 01:28:29
|
I always disable updates on my system for maximum stability, personally.
|
|
2024-04-02 01:29:26
|
The more years out of date everything is, the more stable the system
|
|
|
fab
|
2024-04-02 01:36:07
|
When is out for beta?
|
|
|
Demiurge
Honestly it's kind of dangerous how fast they're updating things. Would be safer if they used 0.6 or 0.5 and just backported security fixes themselves during packaging
|
|
2024-04-02 01:36:22
|
Yes 0,6 is the best
|
|
2024-04-02 01:40:12
|
I Unlocked a new image
|
|
2024-04-02 01:40:25
|
Strange how much time 6 days I stayed to do This when aomedia would be faster than me
|
|
2024-04-02 01:44:09
|
As I shown could expect
|
|
2024-04-02 01:44:37
|
Improved fast speed avif jxl is worse
|
|
|
jonnyawsom3
|
2024-04-02 01:44:55
|
Wrong channel again
|
|
|
fab
|
2024-04-02 01:45:03
|
Aomedia learned by Trucks
|
|
2024-04-02 04:33:27
|
I working on de-ringing e5-e9
|
|
|
|
afed
|
2024-04-03 04:43:58
|
https://opensource.googleblog.com/2024/04/introducing-jpegli-new-jpeg-coding-library.html
|
|
2024-04-03 04:44:38
|
but <:Thonk:805904896879493180>
https://github.com/libjxl/jpegli
need some redirection
|
|
|
|
veluca
|
2024-04-03 04:55:59
|
fixed 😛
|
|
|
raspin7932
|
2024-04-04 12:42:45
|
Doesn't bit depth of 10 bit break backwards compatibility with current jpeg implementations?
|
|
|
|
veluca
|
2024-04-04 01:11:55
|
no no
|
|
2024-04-04 01:12:04
|
it's still a regular jpeg
|
|
|
Orum
|
2024-04-04 01:35:05
|
if SW dev has taught me anything it's that there will always be at least one implementation that does things incorrectly, even for basic stuff
|
|
|
190n
|
|
veluca
it's still a regular jpeg
|
|
2024-04-04 01:35:34
|
how does it work?
|
|
|
|
afed
|
|
190n
how does it work?
|
|
2024-04-04 04:56:14
|
https://www.rxddit.com/r/Android/comments/1bux9se/introducing_jpegli_a_new_jpeg_coding_library/kxxdtuu/
|
|
|
HCrikki
|
2024-04-08 03:54:32
|
xnviewMP added support for Jpegli encoder in 1.7.1 if anyone wanna check
|
|
|
damian101
|
2024-04-08 04:02:23
|
xnview mp also now works in Wayland I just noticed
|
|
2024-04-08 04:02:36
|
had issues with that for a long time
|
|
|
Vlad (Kuzmin) Erium
|
2024-04-09 07:52:28
|
Lightroom on iOS export in jxl with hdr support (hdr gain I guess)
And a iOS itself pretty well understand that jxl files
|
|
|
Foxtrot
|
2024-04-09 02:18:14
|
I wonder is JXL can use Jpegli to increase it's own adoption.
Like "hey, this is Jpegli encoder and it even comes with JXL encoding for free" 😄
|
|
|
HCrikki
|
2024-04-09 03:16:19
|
coverage needs more depth and actual live demonstrations from users with notable gains made
for jpg->jxl conversions, i presume having the original jpgs generated properly using jpegli would result in higher quality more visually pleasing final jxls but some conversion tools could mess their own integrations
|
|
2024-04-09 03:20:45
|
maybe adoption should track integration quality. many convertors dont use lossless transcoding from jpg so not only do conversions take time but also either lose detail or result in huge lossless jxls. enthusiasts would expect the main selling points of jxl to be consistent gains and be surprised when they arent realized or oddly way less efficient than supposed to be
|
|
|
yoochan
|
2024-04-09 06:25:00
|
I agree, this would help everyone to make a good first impression.
|
|
|
Demiurge
|
|
Foxtrot
I wonder is JXL can use Jpegli to increase it's own adoption.
Like "hey, this is Jpegli encoder and it even comes with JXL encoding for free" 😄
|
|
2024-04-09 09:42:18
|
Yes, that seems like the obvious path forward to me.
|
|
2024-04-09 09:43:02
|
But it isn't really promoted much.
|
|
2024-04-09 09:43:20
|
For example, not even libjxl uses it!
|
|
2024-04-09 09:47:45
|
For some inexplicable, incomprehensible reason, libjxl REQUIRES headers from libjpeg-turbo in the third party folder in order to properly compile. You can't even tell it to use system-installed headers like you can with brotli/gtest/hwy/lcms2
|
|
2024-04-09 09:49:23
|
Even though libjxl already comes with an AMAZING and capable libjpeg, it laughably refuses to use it and requires libjpeg-turbo instead
|
|
2024-04-09 09:52:52
|
One thing that would help with jpegxl adoption, would be if the libjxl build system were modified to make it easier to build multiple versions of libjpeg at the same time. API level 62 and 80, for instance. Those are the most popular.
|
|
2024-04-09 09:53:25
|
Then it would be easy to install it as a drop-in systemwide replacement for libjpeg.
|
|
|
Demonik
|
2024-04-10 04:54:02
|
if there's anything that'd help its adoption is having less complicated build system or at least a version that can be easily embedded without having to deal with monstrous c++ build systems
|
|
|
|
Quikee
|
2024-04-10 05:25:14
|
There are static builds that you can use
|
|
|
Demonik
|
2024-04-10 05:42:51
|
I meant adoption among software developers, C++ build systems are an incomprehensible mess, there are a bunch of dependencies and builds are only available for some platforms
|
|
|
HCrikki
|
2024-04-10 06:42:40
|
updated adoption in progress for Telegram (currently flathub, snap, desktop, likely all apps and website soon).
seems theyre updating libjxl from 0.8.2 to 0.10.2 and also swapping out mozjpeg to jpegli
|
|
|
spider-mario
|
|
Demiurge
For some inexplicable, incomprehensible reason, libjxl REQUIRES headers from libjpeg-turbo in the third party folder in order to properly compile. You can't even tell it to use system-installed headers like you can with brotli/gtest/hwy/lcms2
|
|
2024-04-10 07:44:47
|
IIRC, that's because it doesn't just use its headers, it uses its headers' templates, so that it can do its own substitutions
|
|
2024-04-10 07:45:15
|
system-installed libjpeg-turbo doesn't have it
|
|
|
Demiurge
|
2024-04-10 09:30:12
|
Most of the time, codec libraries are written in C with minimal dependencies. Like opus, zstd, brotli etc
|
|
2024-04-10 09:31:54
|
With the intent of having the absolute minimum amount of barriers for the maximum number of projects to adopt it
|
|
2024-04-10 09:33:47
|
Heck even libaom
|
|
2024-04-10 09:34:15
|
I was pretty surprised that libjxl doesn't follow the same pattern
|
|
2024-04-10 09:35:23
|
Since it's written in C++ it should be possible to incrementally reduce its dependence on C++ over time and simplify its build process
|
|
2024-04-10 09:36:16
|
Incrementally reducing the use of C++ features until it's just plain C
|
|
|
lonjil
|
2024-04-10 09:36:29
|
literally negative value work
|
|
2024-04-10 09:37:16
|
if you have a C compiler, you have a C++ compiler
|
|
|
Demiurge
|
2024-04-10 09:37:32
|
Definitely not true
|
|
|
Quackdoc
|
|
Demiurge
Since it's written in C++ it should be possible to incrementally reduce its dependence on C++ over time and simplify its build process
|
|
2024-04-10 09:37:33
|
it's not like there is no value in this, but Im not sure *how much* value there is in this
|
|
|
lonjil
|
|
Demiurge
Definitely not true
|
|
2024-04-10 09:37:54
|
true of 100% of platforms that you might want to use libjxl on
|
|
|
Quackdoc
|
|
lonjil
true of 100% of platforms that you might want to use libjxl on
|
|
2024-04-10 09:38:22
|
it's really not, C++ has a light of hidden headaches that cause issues that greatly hinder portability
|
|
|
lonjil
|
2024-04-10 09:38:47
|
even embedded devs working with 8 bit microcontrollers use C++ these days
|
|
|
Quackdoc
|
2024-04-10 09:39:01
|
*some*
|
|
|
w
|
2024-04-10 09:39:05
|
pashifox and c++
|
|
2024-04-10 09:39:09
|
dude SHUT UP
|
|
|
lonjil
|
2024-04-10 09:39:25
|
I have an extreme dislike of C++, but what's the point of re-writing a complex library in C?
|
|
|
Quackdoc
|
2024-04-10 09:39:28
|
I would rather stick stick a toothpick under my toenail and kick a wall then do embedded c++ work lol
|
|
2024-04-10 09:40:56
|
that being said, you probably would find more benefit to just doing a decoder/simple encode in whatever language you need. a lot of times you don't really need all the bits and bobs
|
|
|
w
|
2024-04-10 09:41:22
|
you would find more benefit not caring about the language people are using
|
|
|
Demiurge
|
2024-04-10 09:41:37
|
I think there are bigger, more important low hanging fruit that should be done first, but in the long term, there is a reason why literally every other codec library is not written in C++
|
|
|
|
veluca
|
2024-04-10 09:41:51
|
hey people, calm down 😉
|
|
|
w
|
|
Quackdoc
|
|
Demiurge
I think there are bigger, more important low hanging fruit that should be done first, but in the long term, there is a reason why literally every other codec library is not written in C++
|
|
2024-04-10 09:42:34
|
we do the right thing and migrate to the lord language the one and only crablang
|
|
|
Demonik
|
2024-04-10 09:42:35
|
idk, it's just with jxl there is much higher barrier to entry, for example opus I had 0 problems building for all platforms and adding to project but with jxl I had trouble figuring out how to build even for windows (since I'm not using visual studio and the build guide is for visual studio only as far as I can tell)
|
|
|
Quackdoc
|
2024-04-10 09:43:00
|
~~time to add meson support to libjxl~~
|
|
|
w
|
|
Demonik
idk, it's just with jxl there is much higher barrier to entry, for example opus I had 0 problems building for all platforms and adding to project but with jxl I had trouble figuring out how to build even for windows (since I'm not using visual studio and the build guide is for visual studio only as far as I can tell)
|
|
2024-04-10 09:43:12
|
and that has nothing to do with the language
|
|
|
Demonik
|
2024-04-10 09:43:29
|
I didn't say it had anything to do with it
|
|
|
|
veluca
|
|
Demonik
idk, it's just with jxl there is much higher barrier to entry, for example opus I had 0 problems building for all platforms and adding to project but with jxl I had trouble figuring out how to build even for windows (since I'm not using visual studio and the build guide is for visual studio only as far as I can tell)
|
|
2024-04-10 09:43:39
|
that's something we could improve, maybe open an issue? it is not because of c++ though, nowadays that's a problem mostly only on weird microcontrollers 😛
|
|
|
Demonik
|
2024-04-10 09:43:43
|
mostly the build process is complicated
|
|
|
Quackdoc
|
2024-04-10 09:43:46
|
I like language ecosystems that officially provide build tooling, rust, go, dart/flutter etc
|
|
|
w
|
2024-04-10 09:43:52
|
uhh BLOAT
|
|
|
lonjil
|
|
Quackdoc
we do the right thing and migrate to the lord language the one and only crablang
|
|
2024-04-10 09:44:35
|
who wants to help me re-write libjxl in Rust let's goooo
|
|
|
Demonik
|
2024-04-10 09:44:52
|
someone already did
|
|
|
lonjil
|
2024-04-10 09:44:53
|
actually I've already said that I might port the jpegli decoder code to Rust
|
|
|
Demonik
|
2024-04-10 09:44:58
|
not sure about quality of it
|
|
|
Demiurge
|
2024-04-10 09:45:08
|
Yeah, there are more important low hanging fruit to worry about than what language it's written in. Like always reporting error conditions instead of invoking undefined behavior or aborting
|
|
|
lonjil
|
|
Demonik
someone already did
|
|
2024-04-10 09:45:22
|
no, that's an independent implementation of jxl decoding. Quality is very good from what I've seen.
|
|
|
Demonik
|
2024-04-10 09:45:46
|
I just think simplifying build process would greatly help with adoption among developers
|
|
|
w
|
2024-04-10 09:46:09
|
developers dont even need to build it
|
|
2024-04-10 09:46:20
|
i dont think that's a real issue
|
|
|
lonjil
|
|
Demiurge
Yeah, there are more important low hanging fruit to worry about than what language it's written in. Like always reporting error conditions instead of invoking undefined behavior or aborting
|
|
2024-04-10 09:46:20
|
one of these days I'm gonna get a CHERI computer, and I'll compile with options that turn 99% of UB into aborts and it'll be great.
|
|
|
|
veluca
|
|
Demonik
I just think simplifying build process would greatly help with adoption among developers
|
|
2024-04-10 09:46:21
|
write up what difficulties you ran into in an issue? thanks 🙂
|
|
|
Quackdoc
|
|
lonjil
who wants to help me re-write libjxl in Rust let's goooo
|
|
2024-04-10 09:46:21
|
if we port it to C first we can do c2rust like rav1d
|
|
2024-04-10 09:46:22
|
[av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
|
|
|
Demonik
|
2024-04-10 09:46:31
|
what if you want to use it on platforms for which there are no binaries
|
|
|
w
|
2024-04-10 09:46:40
|
then you dont use it
|
|
2024-04-10 09:46:55
|
then that platform doesnt matter
|
|
2024-04-10 09:46:58
|
:p
|
|
|
Demiurge
|
2024-04-10 09:47:06
|
Ideally you just have a `libjxl.a` archive you can just link
|
|
|
|
veluca
|
2024-04-10 09:47:21
|
I do think that a high quality, performant Rust decoder (and encoder, eventually) would be great to have 🙂
|
|
|
lonjil
|
2024-04-10 09:47:37
|
jxl-oxide seems pretty great!
|
|
|
Demiurge
|
|
veluca
I do think that a high quality, performant Rust decoder (and encoder, eventually) would be great to have 🙂
|
|
2024-04-10 09:47:43
|
How is jxl-oxide?
|
|
|
Quackdoc
|
2024-04-10 09:47:44
|
the greatest issue I had was I think highway or rust refused to statically compile for android and I spent half a day pfaffing about with that
|
|
|
Demiurge
How is jxl-oxide?
|
|
2024-04-10 09:48:07
|
it's mostly there in terms of perf, it's still behind for sure, but its more then usable
|
|
|
|
veluca
|
|
Demiurge
How is jxl-oxide?
|
|
2024-04-10 09:48:11
|
not fast enough yet 😛
|
|
2024-04-10 09:48:22
|
well, last time I checked
|
|
2024-04-10 09:48:35
|
pretty sure it uses more memory too
|
|
|
Quackdoc
|
2024-04-10 09:48:38
|
it seems to be faster then libjxl for me on a very specific set of jpeg->jxl images ill see if I can find them again
|
|
|
|
veluca
|
|
Quackdoc
it seems to be faster then libjxl for me on a very specific set of jpeg->jxl images ill see if I can find them again
|
|
2024-04-10 09:49:00
|
that's a bit surprising (but definitely welcome)
|
|
|
Demiurge
|
|
Demonik
what if you want to use it on platforms for which there are no binaries
|
|
2024-04-10 09:49:08
|
Ideally you would cross-compile an archive?
|
|
|
|
veluca
|
2024-04-10 09:49:24
|
also Rust doesn't (yet) have a good highway equivalent, which makes performance portability harder
|
|
|
lonjil
|
2024-04-10 09:50:33
|
I think I would use the not yet final portable SIMD thingy, accepting that it won't be as widely usable as it could be until that's done (and maybe provide valuable feedback about it before stabilzation)
|
|
|
w
|
2024-04-10 09:51:01
|
rust is old news, it's all about zig now
|
|
|
Demiurge
|
|
veluca
also Rust doesn't (yet) have a good highway equivalent, which makes performance portability harder
|
|
2024-04-10 09:51:12
|
Shouldn't something like libhwy be ideally built into the language primitives?
|
|
|
Quackdoc
|
2024-04-10 09:51:15
|
well, the *biggest* issue with rust is the lack of a good rust native cms crate
|
|
|
Demiurge
|
|
Quackdoc
well, the *biggest* issue with rust is the lack of a good rust native cms crate
|
|
2024-04-10 09:51:41
|
There is the crappy one Firefox uses
|
|
2024-04-10 09:51:51
|
That's probably the best one
|
|
|
Quackdoc
|
2024-04-10 09:51:51
|
well I did say good [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
|
|
|
yurume
|
2024-04-10 09:51:57
|
I think that is being increasingly off-topic
|
|
|
|
veluca
|
|
Quackdoc
well, the *biggest* issue with rust is the lack of a good rust native cms crate
|
|
2024-04-10 09:52:10
|
that also doesn't help xD but you don't *need* to use one...
|
|
|
lonjil
|
2024-04-10 09:52:12
|
ok so here's the todo list:
* port good cms code to rust
* port jpegli to rust
* get some good SIMD thiny going
* port libjxl to rust
|
|
|
Demiurge
|
2024-04-10 09:52:32
|
Zig? I heard zig is pretty cool B)
|
|
|
w
|
2024-04-10 09:52:34
|
and then some new hip language is going to come along and youre going to say port it to that
|
|
|
|
veluca
|
2024-04-10 09:52:43
|
(I may or may not be doing something abut 3 😉 )
|
|
|
w
|
2024-04-10 09:52:59
|
c++ is good because it's actually standard
|
|
2024-04-10 09:53:07
|
and not some fad
|
|
|
|
afed
|
2024-04-10 09:53:11
|
jxl-oxide is still very slow in comparison, even wic jxl (winthumb) has gone from something useful to something completely unusable for me because slow
|
|
|
Demiurge
|
|
lonjil
ok so here's the todo list:
* port good cms code to rust
* port jpegli to rust
* get some good SIMD thiny going
* port libjxl to rust
|
|
2024-04-10 09:53:19
|
I hate rust
|
|
2024-04-10 09:53:24
|
I always hated it from day 1
|
|
|
lonjil
|
|
Demiurge
I hate rust
|
|
2024-04-10 09:53:27
|
ok
|
|
|
yurume
|
|
veluca
(I may or may not be doing something abut 3 😉 )
|
|
2024-04-10 09:53:33
|
I had some prototype code for that as well, but no definitive design to further develop on
|
|
|
lonjil
|
|
veluca
(I may or may not be doing something abut 3 😉 )
|
|
2024-04-10 09:53:47
|
I'm eager to hear more
|
|
|
Quackdoc
|
|
Demiurge
I hate rust
|
|
2024-04-10 09:53:57
|
that must be a rough life to live mate
|
|
|
w
|
2024-04-10 09:54:06
|
i hate rust and rust users
|
|
|
Demonik
|
|
veluca
write up what difficulties you ran into in an issue? thanks 🙂
|
|
2024-04-10 09:54:15
|
I couldn't find any information on how to build for windows without visual studio or msys2 (just clang/cmake/c++ build tools installed), I guess this isn't a big problem for most people since you would expect most people having it but that was one thing, I also couldn't make crosscompilation from windows work in any way, no matter what I tried it didn't work but I tried quite some time ago so I don't remember what exactly were problems; I didn't have any problems with opus for example, it was very easy, but it's also much smaller and had no dependencies
|
|
|
Demiurge
|
2024-04-10 09:54:20
|
It's just C++
|
|
|
lonjil
|
2024-04-10 09:54:49
|
tfw every new GPU driver in Linux is written in Rust but actually it's just a fad version of C++
|
|
|
Demiurge
|
|
w
i hate rust and rust users
|
|
2024-04-10 09:54:50
|
I hate everyone equally.
|
|
|
|
veluca
|
2024-04-10 09:54:56
|
Rust allows you to guarantee memory safety at compile time, which is *great* for adoption - avoids people requesting sandboxing, avoids people complaining about safety, and avoids things like the libwebp bug which was found after 8+ years
|
|
|
w
|
2024-04-10 09:55:09
|
unsafe
|
|
|
lonjil
|
2024-04-10 09:55:42
|
uses of unsafe can be proven safe
|
|
|
Demonik
|
2024-04-10 09:55:43
|
once I try again if I run into any issue I'll write it up I guess
|
|
|
username
|
|
afed
jxl-oxide is still very slow in comparison, even wic jxl (winthumb) has gone from something useful to something completely unusable for me because slow
|
|
2024-04-10 09:56:04
|
speed wise jxl-winthumb should be faster after v0.2.4, when was the last time you tried it?
|
|
|
|
veluca
|
|
Demonik
once I try again if I run into any issue I'll write it up I guess
|
|
2024-04-10 09:56:13
|
thanks 🙂
|
|
|
Demonik
|
2024-04-10 09:56:16
|
I just put it away a while ago specifically because I couldn't make build work but now that I'm focused on it I'll eventually need to build it for other platforms
|
|
|
w
|
2024-04-10 09:56:23
|
it's not functional so it's immediately not safe
|
|
|
lonjil
|
|
veluca
Rust allows you to guarantee memory safety at compile time, which is *great* for adoption - avoids people requesting sandboxing, avoids people complaining about safety, and avoids things like the libwebp bug which was found after 8+ years
|
|
2024-04-10 09:57:05
|
also honestly people complain about Rust being complex but I find Rust codebases much easier to understand than anything moderately complex in C or C++. Much easier to contribute to a Rust project without accidentally fucking up some invariant somewhere.
|
|
|
Demiurge
|
2024-04-10 09:59:23
|
Rust would be cool... if it was trying to replace C instead of C++. If it were trying to be as simple and portable as C so it could actually replace C.
|
|
|
Quackdoc
|
2024-04-10 09:59:39
|
ah here is one where I found jxl-oxide to be marginally faster, Mind you I think jxl-oxide is compiled with more optimal settings, but it's hard to do a 1:1, both use cpu=native though
```ps
➜ Pictures hyperfine --runs 2 'djxl ina4k-no.jxl --disable_output' 'jxl-oxide decode --num-threads 12 ina4k-no.jxl'
Benchmark 1: djxl ina4k-no.jxl --disable_output
Time (mean ± σ): 531.0 ms ± 21.9 ms [User: 5549.8 ms, System: 76.4 ms]
Range (min … max): 515.5 ms … 546.4 ms 2 runs
Benchmark 2: jxl-oxide decode --num-threads 12 ina4k-no.jxl
Time (mean ± σ): 405.5 ms ± 4.8 ms [User: 3687.9 ms, System: 75.6 ms]
Range (min … max): 402.1 ms … 408.9 ms 2 runs
Summary
jxl-oxide decode --num-threads 12 ina4k-no.jxl ran
1.31 ± 0.06 times faster than djxl ina4k-no.jxl --disable_output
```
|
|
|
Demiurge
|
2024-04-10 10:00:37
|
But they aren't trying to replace C sadly, and C does need to be replaced...
|
|
|
Quackdoc
|
2024-04-10 10:00:54
|
Rust replaces both C and CPP in a LOT of use cases
|
|
|
Demiurge
|
2024-04-10 10:01:05
|
And it would be a lot easier than trying to make yet another C++
|
|
|
Quackdoc
|
2024-04-10 10:01:28
|
keep in mind the only thing rust really needs to replace C is nostd, force that everywhere and you are pretty much there
|
|
|
Demiurge
|
2024-04-10 10:02:01
|
It would be an easier and more-needed task to replace C than C++. That's the whole reason why people got excited over zig
|
|
|
lonjil
|
2024-04-10 10:02:52
|
the main thing I've seen Zig people say they dislike about Rust is the safety features
|
|
|
|
veluca
|
|
Quackdoc
keep in mind the only thing rust really needs to replace C is nostd, force that everywhere and you are pretty much there
|
|
2024-04-10 10:03:07
|
unfortunately untrue - llvm *is* a limitation since it doesn't quite support all the architectures
|
|
|
lonjil
|
2024-04-10 10:03:15
|
the argument being that constraining the programmer makes their work slower
|
|
|
w
|
2024-04-10 10:03:33
|
yeah typscript was also a fad
|
|
|
|
veluca
|
2024-04-10 10:03:42
|
and I don't think rustc-codegen-gcc is quite there yet
|
|
|
|
afed
|
|
username
speed wise jxl-winthumb should be faster after v0.2.4, when was the last time you tried it?
|
|
2024-04-10 10:04:19
|
faster, but still not fast enough for large and lossless images, because for some even libjxl speed isn't quite enough, but if it's something even slower, it goes from being somewhat not enjoyable to almost impossible to use
|
|
|
Quackdoc
|
|
veluca
and I don't think rustc-codegen-gcc is quite there yet
|
|
2024-04-10 10:04:59
|
not yet, but it is getting close, and ofc gccrs will come eventually
|
|
2024-04-10 10:05:51
|
the gcc stuff + something like [eyra](https://github.com/sunfishcode/eyra) will eventually wind up covering a large basis
|
|
|
|
veluca
|
|
lonjil
the argument being that constraining the programmer makes their work slower
|
|
2024-04-10 10:06:26
|
that line of reasoning IMO is fairly dangerous
|
|
|
Demiurge
|
|
lonjil
the argument being that constraining the programmer makes their work slower
|
|
2024-04-10 10:06:35
|
The main complaint is not safety features, it's that it's hard to learn, slow and not portable.
|
|
|
|
veluca
|
2024-04-10 10:06:55
|
programmers are bad at doing the right thing, it's half the reason we have types 😛
|
|
|
lonjil
|
|
Demiurge
The main complaint is not safety features, it's that it's hard to learn, slow and not portable.
|
|
2024-04-10 10:07:09
|
Zig is not more portable, nor faster. And idk I found Rust easy to learn?
|
|
|
|
veluca
|
|
Demiurge
The main complaint is not safety features, it's that it's hard to learn, slow and not portable.
|
|
2024-04-10 10:07:14
|
hard to learn I can agree with, slow to compile possibly too, but not portable?
|
|
2024-04-10 10:07:36
|
although tbh it's not *that* hard to learn
|
|
|
Quackdoc
|
|
lonjil
Zig is not more portable, nor faster. And idk I found Rust easy to learn?
|
|
2024-04-10 10:08:12
|
it's 50:50
|
|
|
Demiurge
|
2024-04-10 10:08:31
|
Well, compared to C... I'm not that familiar with Zig but I heard it's popular with C programmers since it is compatible with C and comes with a C build system
|
|
|
Quackdoc
|
2024-04-10 10:08:44
|
on all of the points, I personally really don't like zig, and took to rust almost immediately, but I know many people who are the opposite, cant take to rust at all, but zig was almost instant
|
|
|
lonjil
|
|
veluca
and I don't think rustc-codegen-gcc is quite there yet
|
|
2024-04-10 10:10:10
|
not 100% but it is at least complete enough to compile Linux Rust code. I think language-feature wise it's pretty complete, but backend completeness isn't great. E.g. it only has SIMD for x86-64 at the moment.
|
|
|
Demiurge
|
2024-04-10 10:10:22
|
I haven't tried Zig yet, but their target audience seems to be C devs...
|
|
|
|
veluca
|
2024-04-10 10:10:40
|
my mental model of Zig is "better C(++?)", which IMO not quite what we truly need
|
|
|
Quackdoc
|
|
veluca
hard to learn I can agree with, slow to compile possibly too, but not portable?
|
|
2024-04-10 10:10:55
|
cargo has some really silly debugging defaults. you can compile debug rust much faster by doing things like incremental=false using cranelift, using mold for linking etc.
|
|
|
Demiurge
|
2024-04-10 10:11:22
|
We do need to replace C though, we have been needing a good replacement for decades now?
|
|
|
lonjil
|
2024-04-10 10:11:26
|
Zig is C with fewer outright footguns, but with no safety guarantees, and a pretty nice compile time code feature.
|
|
|
Quackdoc
|
2024-04-10 10:12:38
|
Zig is a good short term solution, but IMO rust will wind up winning out, it simply has too much goodies.
|
|
|
Demiurge
|
2024-04-10 10:12:40
|
C has some ways of doing things that could be made slightly better without shaking it up too much from its essential straightforwardness and simplicity
|
|
|
|
veluca
|
2024-04-10 10:13:14
|
sure, but doing that doesn't save you from having memory safety vulnerabilities lurking for years 🙂
|
|
|
Demiurge
|
2024-04-10 10:13:15
|
And of course more compile-time sanity checks are always great to have in a language
|
|
2024-04-10 10:14:34
|
Compile time memory/thread management is a cool idea
|
|
|
lonjil
|
|
Demiurge
C has some ways of doing things that could be made slightly better without shaking it up too much from its essential straightforwardness and simplicity
|
|
2024-04-10 10:14:42
|
but it's an entirely different language. Slightly-different but you still need to re-write doesn't seem like a huge win.
|
|
|
Demiurge
|
2024-04-10 10:14:42
|
A very logical one
|
|
|
lonjil
but it's an entirely different language. Slightly-different but you still need to re-write doesn't seem like a huge win.
|
|
2024-04-10 10:16:41
|
Well it's only a huge win if you get something really valuable out of it like static safety checks at compile time that guarantee no undefined behavior for example
|
|
|
|
veluca
|
2024-04-10 10:16:57
|
I believe you are describing Rust 😉
|
|
|
Demiurge
|
2024-04-10 10:17:36
|
Well rust would be great if it was as simple and had as many compilers as C does...
|
|
2024-04-10 10:18:02
|
But that's just my opinion...
|
|
2024-04-10 10:18:27
|
I also think simd data types and operators should be language primitives
|
|
|
lonjil
|
2024-04-10 10:18:34
|
shouldn't you be telling us about how Zig isn't good because it doesn't have many compilers? :p
|
|
|
Demiurge
|
2024-04-10 10:21:04
|
Well I don't know much about zig... if it's not complicated then it's more likely people write more compilers for it, even a useless language like brainfuck
|
|
|
Demonik
|
|
Quackdoc
Zig is a good short term solution, but IMO rust will wind up winning out, it simply has too much goodies.
|
|
2024-04-10 10:22:23
|
great for building though
|
|
2024-04-10 10:23:32
|
the language itself is not stable enough to use though
|
|
|
lonjil
|
2024-04-10 10:24:10
|
<@179701849576833024> <@184373105588699137> if I were to try my hand at a CMS impl for Rust, do you have any thoughts on where to start? Would porting an existing library's code be the best bet?
|
|
|
Demiurge
|
|
lonjil
Zig is C with fewer outright footguns, but with no safety guarantees, and a pretty nice compile time code feature.
|
|
2024-04-10 10:24:15
|
So people DO like static guarantees after all :)
|
|
|
lonjil
|
|
Demiurge
So people DO like static guarantees after all :)
|
|
2024-04-10 10:24:30
|
?
|
|
|
Demiurge
|
2024-04-10 10:25:10
|
I think people would be more excited if Zig had more guarantees akin to rust
|
|
2024-04-10 10:26:20
|
I really don't think safety is what's holding Rust back. Rather, it's the only thing it has going for it.
|
|
|
Quackdoc
|
|
lonjil
<@179701849576833024> <@184373105588699137> if I were to try my hand at a CMS impl for Rust, do you have any thoughts on where to start? Would porting an existing library's code be the best bet?
|
|
2024-04-10 10:26:28
|
Little-cms is mostly C, it could be a really neat idea to try to c2rust it I guess, but personally I would do it from scratch, then you can use things like glam's vector handling for better SIMD support
|
|
|
Demonik
|
|
veluca
my mental model of Zig is "better C(++?)", which IMO not quite what we truly need
|
|
2024-04-10 10:26:42
|
it definitely is better C, not C++, it's great for building personal C/C++ projects though since it's also a build system
|
|
|
Quackdoc
|
2024-04-10 10:26:47
|
for context, rav1d is c2rust of dav1d and it worked fairly well for them
|
|
|
Demonik
|
2024-04-10 10:27:09
|
and a much more sane one at that compared to most
|
|
|
lonjil
|
|
Quackdoc
Little-cms is mostly C, it could be a really neat idea to try to c2rust it I guess, but personally I would do it from scratch, then you can use things like glam's vector handling for better SIMD support
|
|
2024-04-10 10:27:59
|
then I'll need to do a lot of reading up on CMSes 🙂
|
|
|
Quackdoc
|
2024-04-10 10:28:51
|
imo it's probably worth it, note that color handling is a pretty complicated process, especially when you get to tone and gamut mapping, but you can find a lot of stuff here to get started http://www.brucelindbloom.com/
|
|
|
|
veluca
|
2024-04-10 10:29:00
|
CMSes are complex though
|
|
2024-04-10 10:29:08
|
porting lcms might be a good idea, idk
|
|
|
Quackdoc
|
2024-04-10 10:29:45
|
porting lcms would probably be the "fastest" way to get a good cms, it might not be the best way, since it requires a lot of unsafe -> safe workand initial debugging, but it could work fine
|
|
|
lonjil
|
2024-04-10 10:29:46
|
yeah I have heard that they are quite complex, so porting has a lower likelihood of being too much
|
|
|
Demiurge
|
2024-04-10 10:29:53
|
https://github.com/kornelski/rust-lcms2
|
|
2024-04-10 10:29:56
|
Wrapper
|
|
|
Quackdoc
|
2024-04-10 10:30:13
|
https://github.com/immunant/c2rust
|
|
|
Demiurge
|
2024-04-10 10:30:48
|
I don't see what's the problem with just linking a C lib into rust
|
|
2024-04-10 10:31:34
|
lcms2 is supposed to be pretty damn good
|
|
2024-04-10 10:32:20
|
If you want a pure rust one, here's a possible starting point... https://github.com/FirefoxGraphics/qcms
|
|
2024-04-10 10:32:33
|
It does not support a lot of features
|
|
|
Quackdoc
|
2024-04-10 10:32:57
|
it's better when to use native rust when possible because you get the safety gurantees right through, that being said at the very least `rust-lcms2-sys` compiles lcms2 statically using the cargo build system so you don;t have build issues there
|
|
2024-04-10 10:33:06
|
https://github.com/kornelski/rust-lcms2-sys/blob/main/src/build.rs
|
|
|
Demiurge
|
2024-04-10 10:34:43
|
How does it compile static C on Linux? glibc does not support static linking, so it probably uses musl?
|
|
2024-04-10 10:35:20
|
Actually, does rust support static linking on Linux?
|
|
|
lonjil
|
2024-04-10 10:35:32
|
yes
|
|
2024-04-10 10:36:19
|
actually I ran into a funny problem with both Rust and Zig: both build systems assume(d) that if you're using Musl, you're doing static linking 🙂
|
|
|
Demiurge
|
2024-04-10 10:36:38
|
I heard that musl has excellent performance when paired with mimalloc
|
|
|
Quackdoc
|
2024-04-10 10:36:57
|
if you want a gnu target to get static you need `-C target-feature=-crt-static`
|
|
2024-04-10 10:37:21
|
eyra cant come soon enough
|
|
|
lonjil
|
|
Demiurge
How does it compile static C on Linux? glibc does not support static linking, so it probably uses musl?
|
|
2024-04-10 10:37:50
|
glibc itself can't be statically linked, but obviously all the other C libraries, like lcms2, can be statically linked.
|
|
|
Demiurge
|
2024-04-10 10:38:11
|
musl supports dynamic linking, but I think it's less common since people normally use musl for the very reason that it supports static linking
|
|
|
lonjil
|
2024-04-10 10:38:40
|
many distros use musl
|
|
|
Demiurge
|
|
Quackdoc
if you want a gnu target to get static you need `-C target-feature=-crt-static`
|
|
2024-04-10 10:38:45
|
I don't want GNU anything
|
|
2024-04-10 10:39:20
|
Tbph
|
|
|
lonjil
|
|
Demiurge
I heard that musl has excellent performance when paired with mimalloc
|
|
2024-04-10 10:39:30
|
personally I'm more likely to use S 'n' M alloc, which funnily enough is also a Microsoft open source project
|
|
|
Quackdoc
|
2024-04-10 10:39:32
|
unfortunately musl is still very much a second class citizen for a lot of things
|
|
2024-04-10 10:40:01
|
I want to try using relibc to spin up a distro one day [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
|
|
|
Demiurge
|
2024-04-10 10:42:49
|
It's unfortunate, glibc is basically the #1 source of compatibility problems on linux distros. I expect there will be less and less reason for glibc to stay relevant... musl is better at everything except the builtin simple malloc implementation is slow... but easy to replace with something faster than glibc
|
|
|
lonjil
|
2024-04-10 10:44:03
|
compat issues due to glibc sounds unlikely
|
|
2024-04-10 10:44:15
|
unless you're compiling against a newer version and try to run on an older version
|
|
2024-04-10 10:44:25
|
(musl is also like that FWIW)
|
|
|
Demiurge
|
2024-04-10 10:44:43
|
I run into old stuff all the time that can't be run on new versions of glibc
|
|
2024-04-10 10:44:52
|
Like Total War Shogun 2
|
|
2024-04-10 10:46:11
|
At this point not only is musl better at everything and smaller and simpler, it's even more compatible now too, since at least musl just works
|
|
2024-04-10 10:46:49
|
glibc is just pain
|
|
2024-04-10 10:47:01
|
Red Hat pain
|
|
|
lonjil
|
2024-04-10 10:47:05
|
musl literally breaks compat more often than glibc
|
|
|
Quackdoc
|
2024-04-10 10:47:07
|
musl is less flexible in feature set and performance, unforunately it's not a true replacement for glibc
|
|
|
lonjil
|
2024-04-10 10:47:35
|
meanwhile I've run 20+ year old copies of blender without issue on modern linux
|
|
|
Quackdoc
|
2024-04-10 10:47:38
|
I do want to replace glibc though, we really should be using a meory safe libc
|
|
|
Demiurge
|
|
lonjil
musl literally breaks compat more often than glibc
|
|
2024-04-10 10:47:40
|
When was the last and only time? Time64?
|
|
|
HCrikki
|
|
Demiurge
It does not support a lot of features
|
|
2024-04-10 10:47:41
|
you can say that. firefox still does not support icc v4 to this day and bases their misleading announcement of its support since v108 on a flawed test they never replaced
|
|
2024-04-10 10:49:20
|
all blink/chromium/webkit based browsers are xyb-decode capable in compareason. same for almost all android/ios galleries i tried, oddly on windows theres tons of apps with no color management or disabled by default - decades old defaults that were never revisited perhaps
|
|
|
Demiurge
|
|
Quackdoc
musl is less flexible in feature set and performance, unforunately it's not a true replacement for glibc
|
|
2024-04-10 10:49:55
|
When you replace the simple malloc with a real malloc like mimalloc, the performance gap completely vanishes.
|
|
|
Quackdoc
|
2024-04-10 10:50:40
|
I've tried many alloc solutions and non have been able to do so sadly
|
|
|
Demiurge
|
|
HCrikki
all blink/chromium/webkit based browsers are xyb-decode capable in compareason. same for almost all android/ios galleries i tried, oddly on windows theres tons of apps with no color management or disabled by default - decades old defaults that were never revisited perhaps
|
|
2024-04-10 10:51:24
|
Why do xyb jpegs look okay in firefox for me? Does it just "look" like it passes?
|
|
|
Quackdoc
I've tried many alloc solutions and non have been able to do so sadly
|
|
2024-04-10 10:52:27
|
I haven't tested it myself but I looked at several benchmarks from different people and organizations, which show glibc has no advantage after malloc is swapped out
|
|
|
lonjil
|
|
Demiurge
When you replace the simple malloc with a real malloc like mimalloc, the performance gap completely vanishes.
|
|
2024-04-10 10:52:36
|
note that musl's memcpy is also terrible
|
|
|
Demiurge
|
2024-04-10 10:53:07
|
I didn't see a significant difference in perf in the memcpy benchmarks I saw
|
|
|
HCrikki
|
|
Demiurge
Why do xyb jpegs look okay in firefox for me? Does it just "look" like it passes?
|
|
2024-04-10 10:55:34
|
try displaying this image in any app youre interested checking (browsers, galleries, thumbnailers, editors) https://littlecms.com/img/blog/stress.jpg
|
|
|
Demiurge
|
2024-04-10 10:55:36
|
The benchmarks I have seen show that after replacing malloc, glibc is often slower at various complex tasks
|
|
|
HCrikki
|
2024-04-10 10:55:57
|
if supported, no white lines or yellow text should be visible
|
|
|
Demiurge
|
|
HCrikki
try displaying this image in any app youre interested checking (browsers, galleries, thumbnailers, editors) https://littlecms.com/img/blog/stress.jpg
|
|
2024-04-10 10:56:08
|
Yeah, I love these test images
|
|
2024-04-10 10:56:14
|
My iphone 15 fails
|
|
2024-04-10 10:56:29
|
At all of them
|
|
2024-04-10 10:56:52
|
https://www.tweag.io/blog/2023-08-10-rust-static-link-with-mimalloc/
|
|
2024-04-10 10:57:05
|
In this test, glibc was slower.
|
|
|
HCrikki
|
|
Demiurge
My iphone 15 fails
|
|
2024-04-10 10:58:07
|
click the full preview, discord's thumbnailer oddly doesnt color correct and misleads
|
|
|
lonjil
|
|
HCrikki
click the full preview, discord's thumbnailer oddly doesnt color correct and misleads
|
|
2024-04-10 10:58:53
|
it doesn't work on my iPad
|
|
|
Demiurge
|
2024-04-10 10:59:03
|
Bellsoft also published a bunch of benchmarks
|
|
|
lonjil
|
2024-04-10 10:59:29
|
however, all the text is blue, unlike on Firefox and Discord where the colors varied
|
|
|
Demiurge
|
|
HCrikki
click the full preview, discord's thumbnailer oddly doesnt color correct and misleads
|
|
2024-04-10 10:59:34
|
Yeah not even the image gallery works
|
|
2024-04-10 10:59:47
|
It's like there is zero support
|
|
2024-04-10 10:59:59
|
for color profiles
|
|
|
HCrikki
|
2024-04-10 11:01:13
|
afaik v4 is supposed to work in safari and does here but i guess it works differently there or incomplete
|
|
|
lonjil
|
|
Demiurge
for color profiles
|
|
2024-04-10 11:01:55
|
there's definitely support for color profiles...
|
|
2024-04-10 11:02:03
|
just not 100% complete V4 support
|
|
|
Quackdoc
|
|
Quackdoc
the gcc stuff + something like [eyra](https://github.com/sunfishcode/eyra) will eventually wind up covering a large basis
|
|
2024-04-10 11:02:29
|
compiled jxl-oxide with eyra and posted the results in jxl-oxide, but I'm kinda surprised since it actually just worked
|
|
|
Demiurge
|
2024-04-10 11:03:02
|
Anyways... glibc performance is overblown. What do you expect from an ancient and unreadable, insane spaghetti mess? If you compare how the same functions are implemented in glibc vs musl you will wonder how glibc is able to functionally do anything at all, let alone how anyone is even able to read it to hack on it
|
|
2024-04-10 11:03:20
|
It looks like obfuscated code
|
|
|
Quackdoc
|
2024-04-10 11:03:48
|
both are bad, rust rewrite when
|
|
|
Demiurge
|
|
lonjil
there's definitely support for color profiles...
|
|
2024-04-10 11:04:10
|
My iPhone can't even load the most basic tests.
|
|
|
lonjil
|
|
Demiurge
My iPhone can't even load the most basic tests.
|
|
2024-04-10 11:04:23
|
it should display *something*
|
|
2024-04-10 11:04:29
|
if it doesn't your phone is broken
|
|
|
Quackdoc
|
2024-04-10 11:04:54
|
webkit L?
|
|
|
lonjil
|
2024-04-10 11:05:12
|
what iOS version are you on?
|
|
|
Demiurge
|
2024-04-10 11:05:34
|
|
|
2024-04-10 11:06:02
|
|
|
|
Quackdoc
|
2024-04-10 11:06:37
|
this hurts my eyes
|
|
|
Demiurge
|
2024-04-10 11:06:59
|
Whatever version is on my iphone 15
|
|
2024-04-10 11:07:09
|
17.whatever
|
|
|
lonjil
|
2024-04-10 11:07:35
|
im on 17.whatever
|
|
|
Demiurge
|
2024-04-10 11:08:15
|
I was pretty surprised that it can't even do such basic tests even the laughingstock Firefox is able to pass
|
|
|
w
|
2024-04-10 11:12:47
|
well nothing uses icc 4 so whatever
|
|
|
Demiurge
|
2024-04-10 11:12:48
|
|
|
2024-04-10 11:13:12
|
Anyone able to see this? Or does my phone even upload it incorrectly?
|
|
2024-04-10 11:13:34
|
This is v2 lol
|
|
2024-04-10 11:13:46
|
This isn't even v4
|
|
|
w
|
|
HCrikki
try displaying this image in any app youre interested checking (browsers, galleries, thumbnailers, editors) https://littlecms.com/img/blog/stress.jpg
|
|
2024-04-10 11:14:40
|
oh i meant for this
|
|
2024-04-10 11:15:06
|
on my destop ff
|
|
|
Demiurge
|
2024-04-10 11:17:05
|
https://littlecms.com/img/blog/check_full.jpg
|
|
2024-04-10 11:17:09
|
Here's the link
|
|
|
lonjil
|
|
Demiurge
Anyone able to see this? Or does my phone even upload it incorrectly?
|
|
2024-04-10 11:17:26
|
what do you mean by "able to see"? I see text saying that it isn't working, when looking at it in Discord, and text saying it works when looking at it in Firefox, and text saying it sorta works when I use my iPad.
|
|
|
Demiurge
|
2024-04-10 11:17:38
|
For some reason it looks different to me than my direct upload
|
|
|
lonjil
what do you mean by "able to see"? I see text saying that it isn't working, when looking at it in Discord, and text saying it works when looking at it in Firefox, and text saying it sorta works when I use my iPad.
|
|
2024-04-10 11:18:25
|
Does it look different than the link version?
|
|
2024-04-10 11:19:08
|
I suspect it might get mangled after I save it to apple's photo gallery
|
|
|
Oleksii Matiash
|
2024-04-10 11:19:16
|
Just curious if it is how it should "correctly" look?
|
|
|
Demiurge
|
2024-04-10 11:20:02
|
That's how the v4 test should look
|
|
|
lonjil
|
|
Demiurge
Does it look different than the link version?
|
|
2024-04-10 11:20:28
|
no
|
|
|
Demiurge
|
|
lonjil
no
|
|
2024-04-10 11:20:41
|
For me it does. Weird.
|
|
|
w
|
|
Demiurge
For some reason it looks different to me than my direct upload
|
|
2024-04-10 11:22:06
|
interesting
|
|
|
Demiurge
|
|
w
interesting
|
|
2024-04-10 11:29:26
|
A perfect result
|
|
2024-04-10 11:29:46
|
Seemingly
|
|
2024-04-10 11:30:13
|
https://littlecms.com/blog/2020/09/09/browser-check/
|
|
2024-04-10 11:30:22
|
It's a great place to test
|
|
2024-04-10 11:30:58
|
Testing is safe and affordable! Get tested today!
|
|
|
VcSaJen
|
|
afed
jxl-oxide is still very slow in comparison, even wic jxl (winthumb) has gone from something useful to something completely unusable for me because slow
|
|
2024-04-10 01:06:53
|
I used to have old libjxl-based jxl-winthumb installed, but I purged almost all Explorer extensions when explorer.exe started to crash intermittently.
|
|
|
jonnyawsom3
|
2024-04-10 01:08:36
|
I do wonder if JXL will make it into Windows 11 24H2
|
|
|
|
afed
|
2024-04-10 01:08:51
|
the old one still works, I don't have any issues
|
|
|
|
veluca
|
|
I do wonder if JXL will make it into Windows 11 24H2
|
|
2024-04-10 01:09:06
|
So do I 👀
|
|
|
HCrikki
|
2024-04-10 01:11:49
|
eventually when ms' raw addon integrates jxl decoding from adobe's dng 1.7 sdk freshly updated by libraw.
WIC activity suggests itll come through a store addon like with webp and av1 but no decoder leaked so far
|
|
|
jonnyawsom3
|
2024-04-10 01:17:30
|
I thought it was moved to the system32 codec pack, suggesting it will be a core codec?
|
|
|
Tirr
this changed to `%SystemRoot%\system32\windowscodecs.dll`
|
|
2024-04-10 01:22:32
|
Yeah
|
|
|
HCrikki
eventually when ms' raw addon integrates jxl decoding from adobe's dng 1.7 sdk freshly updated by libraw.
WIC activity suggests itll come through a store addon like with webp and av1 but no decoder leaked so far
|
|
2024-04-10 01:24:23
|
Unfortunately libraw only releases once every year and a half, so it'll be quite a wait...
|
|
|
HCrikki
|
|
I thought it was moved to the system32 codec pack, suggesting it will be a core codec?
|
|
2024-04-10 01:27:00
|
just my guess, either way is fine as long as it decodes out of the box. i presumed its possible theyd go for a store codec to more widely deploy for machines not running the latest win10/11 release
|
|
|
jonnyawsom3
|
2024-04-10 01:28:37
|
I'm hoping they backport to Windows 10, otherwise I might finally have a reason to update :P
|
|
|
Demiurge
|
2024-04-10 09:22:25
|
Chrome codec lead Jim Bankowski: But don't you know there's no ecosystem interest?!?!!?!???!
|
|
|
username
|
2024-04-12 07:09:39
|
since JXL is now out of IANA's provisional list onto the main one maybe someone could get it added to nginx's default `mime.types` config? https://nginx.org/en/docs/contributing_changes.html
|
|
|
spider-mario
|
2024-04-12 07:29:36
|
isn’t the open-source community switching to freenginx?
|
|
2024-04-12 07:30:19
|
https://www.phoronix.com/news/Nginx-Forked-To-Freenginx
|
|
2024-04-12 07:31:45
|
https://arstechnica.com/information-technology/2024/02/nginx-key-developer-starts-a-freenginx-fork-after-dispute-with-parent-firm/
|
|
|
Lock
|
|
spider-mario
https://www.phoronix.com/news/Nginx-Forked-To-Freenginx
|
|
2024-04-12 07:32:08
|
i think we need to give it some time before we adopt it
|
|
|
spider-mario
|
2024-04-12 07:32:52
|
why? it’s the same codebase, by someone who had been working on it quite a bit until then
|
|