|
_wb_
|
2021-06-18 07:48:47
|
At the fidelity corresponding to mozjpeg q30 (and lower), typically clearly AVIF > JXL.
At the fidelity corresponding to mozjpeg q50, typically AVIF = JXL.
At the fidelity corresponding to mozjpeg q70 (and higher), typically clearly AVIF < JXL.
|
|
|
fab
|
2021-06-20 05:16:01
|
why jxl win thumb isn't updated <@!239702523559018497>
|
|
2021-06-20 05:16:37
|
https://github.com/saschanaz/jxl-winthumb
|
|
|
diskorduser
|
2021-06-20 05:56:19
|
Because fabian will update it.
|
|
|
raysar
|
2021-06-21 03:00:05
|
|
|
2021-06-21 03:00:48
|
Jxl works on Android Chrome canary now 🥰 with jxl flag on.
|
|
|
Pieter
|
2021-06-21 03:07:02
|
wasn't that the case for a while already?
|
|
2021-06-21 03:07:09
|
oh, you mean on mobile?
|
|
|
raysar
|
|
Pieter
oh, you mean on mobile?
|
|
2021-06-21 03:23:29
|
Yes 🙂 i edit
|
|
|
KAGAMI
|
|
fab
why jxl win thumb isn't updated <@!239702523559018497>
|
|
2021-06-21 11:24:47
|
Because there hasn't been any new tagged release from libjxl?
|
|
|
_wb_
|
2021-06-21 11:28:40
|
fair enough - I hope we can soon do an actual 0.4.0 release (which will not include encoder improvements etc, only recent decoder/fuzzing fixes), and also maybe a 0.5.0-alpha1 or something
|
|
|
improver
|
2021-06-21 11:48:05
|
firefox nighty alpha support when (currently it just draws that as white)
|
|
|
|
Deleted User
|
|
raysar
|
|
2021-06-21 02:52:33
|
<@!794205442175402004> You should use `<wbr>` between the parts of the link.
|
|
|
_wb_
|
2021-06-21 02:53:52
|
feel free to make a pull request 🙂 https://github.com/libjxl/libjxl.github.io
|
|
|
incredible_eagle_68175
|
2021-06-21 08:54:27
|
I’m working on a image software and we will adopt jpegxl
|
|
2021-06-21 08:55:31
|
Do you know if jpegxl has any rust bindings?
|
|
|
|
Deleted User
|
2021-06-21 08:58:54
|
You can try this (not-so-official) Rust implementation by <@!179701849576833024>...
https://github.com/libjxl/jxl-rs
|
|
2021-06-21 08:59:33
|
...or an even-less-official Rust bindings to official libjxl library by <@!239702523559018497>.
https://github.com/saschanaz/jxl-rs
|
|
|
incredible_eagle_68175
|
|
You can try this (not-so-official) Rust implementation by <@!179701849576833024>...
https://github.com/libjxl/jxl-rs
|
|
2021-06-21 09:01:20
|
I’ll work from this one. Thanks!
|
|
|
|
veluca
|
|
I’ll work from this one. Thanks!
|
|
2021-06-21 09:04:26
|
That's extremely incomplete though
|
|
|
incredible_eagle_68175
|
2021-06-21 09:04:43
|
Well I’ll complete the parts I need 🙂
|
|
2021-06-21 09:05:16
|
I don’t think I’ll need bindings for the entire library anyway, just the most important portions
|
|
|
|
veluca
|
2021-06-21 09:05:35
|
Yeah those are not there yet 😂
|
|
|
incredible_eagle_68175
|
2021-06-21 09:18:52
|
Obviously i will submit patches like I’ve been doing for other rust projects that I have been using
|
|
|
_wb_
|
2021-06-22 05:18:39
|
Do you need bindings or an actual rust implementation?
|
|
|
incredible_eagle_68175
|
2021-06-22 05:35:54
|
Just bindings
|
|
2021-06-22 05:36:12
|
Maybe a actual rust implementation will come later but don’t have time for that right now
|
|
|
_wb_
|
2021-06-22 05:46:15
|
Then probably https://github.com/saschanaz/jxl-rs is what you need
|
|
2021-06-22 05:47:05
|
Luca's project is trying to make a full rust implementation, but that will take a while
|
|
|
|
Deleted User
|
2021-06-23 02:45:14
|
Chrome is quite a bit slow when decoding images with alpha. Lossy FHD with alpha feels like taking around a second to render. Will this get faster until the stable 93 release?
|
|
|
_wb_
|
2021-06-23 02:52:00
|
I hope so; I suspect some of the slowness is because alpha is done with the squeeze transform, which does add some decode complications
|
|
2021-06-23 02:52:25
|
but maybe there's also some slow stuff going on to get the blending right
|
|
2021-06-23 02:53:25
|
how long does it take to show an image like this? data:image/jxl;base64,/wr6HwGRCAYBAFAASzhBvO15IutBdUj+EWONJGEBgAA=
|
|
2021-06-23 02:53:36
|
(that's also with squeeze but without alpha)
|
|
|
|
Deleted User
|
2021-06-23 02:57:38
|
pretty fast. maybe almost as fast as a lossy FHD image without alpha.
|
|
|
_wb_
|
2021-06-23 03:07:36
|
ok then it's not squeeze that is the main problem
|
|
2021-06-23 03:09:28
|
<@!768090355546587137> <@!604964375924834314> do you have an idea what makes images with alpha slow atm in chrome?
|
|
|
spider-mario
|
2021-06-23 03:11:13
|
is it also slow with an equivalent PNG?
|
|
2021-06-23 03:11:36
|
or let’s say, does a similar slowdown occur with an equivalent PNG vs. an opaque PNG
|
|
2021-06-23 03:12:02
|
(to make sure that it’s not just PNG decoding in general that is slow)
|
|
|
|
Deleted User
|
2021-06-23 03:37:29
|
No, PNG+alpha decodes what I would call instantly. JXL without alpha is quite fast, but not as snappy as PNG or WebP. JXL with alpha causes a noticeable lag.
|
|
|
spider-mario
|
2021-06-23 03:41:29
|
in that case, I suppose it’s likely not the compositing either
|
|
2021-06-23 03:42:34
|
is it slow in Chrome only or with `djxl` as well?
|
|
|
|
Deleted User
|
2021-06-23 03:46:29
|
19.74 MP/s vs 11.53 MP/s
|
|
2021-06-23 03:47:15
|
```
A:\>djxl a.jxl a.png
JPEG XL decoder v0.3.7 [AVX2]
Read 165603 compressed bytes.
Decoded to pixels.
1920 x 1080, 19.74 MP/s [19.74, 19.74], 1 reps, 4 threads.
Allocations: 352 (max bytes in use: 6.709487E+07)
A:\>djxl b.jxl b.png
JPEG XL decoder v0.3.7 [AVX2]
Read 165829 compressed bytes.
Decoded to pixels.
1920 x 1080, 11.53 MP/s [11.53, 11.53], 1 reps, 4 threads.
Allocations: 392 (max bytes in use: 1.065569E+08)
```
|
|
2021-06-23 04:51:31
|
ok, so I also screen-captured the command line. Maybe not totally accurate but between the "Read [...] bytes." and "Decoded to pixels." message lay a bit more than 100 ms for the no-alpha image and 300 ms for the opaque-alpha image.
|
|
2021-06-23 04:52:34
|
So I guess it is mainly a performance problem with libjxl?
|
|
2021-06-23 04:59:17
|
Just converted the image without alpha to lossless JXL and it is also slow to decode. So I guess modular mode needs support for hardware acceleration?
|
|
|
_wb_
|
2021-06-23 05:14:00
|
Modular is in general slower than vardct, and hardware will not help I'm afraid
|
|
|
Pieter
|
2021-06-23 05:33:33
|
Just wait until someone creates a cryptocurrency that involves decoding random jpeg-xl modular bitstreams. There will be optimized hardware for it in no time.
|
|
|
fab
|
2021-06-23 06:01:32
|
also what happened with facebook? is still interested in the collaboration?
|
|
|
diskorduser
|
|
Pieter
Just wait until someone creates a cryptocurrency that involves decoding random jpeg-xl modular bitstreams. There will be optimized hardware for it in no time.
|
|
2021-06-23 06:09:13
|
Jxl NFTs.
|
|
|
Pieter
|
2021-06-24 12:34:23
|
It doesn't actually work.
|
|
2021-06-24 12:35:41
|
Because difficulty of decoding is not uniform, people would at best just build hardware that can very efficiently decode a small subset of easy files, possibly with very arbitrary restrictions, and just grind to hit those cases.
|
|
2021-06-24 12:36:09
|
Further, they'd optimize for massively parallel decoding, at possibly very high latency. Not what you actually want for production usage.
|
|
2021-06-24 12:36:21
|
Look into what happened with ASICBOOST in Bitcoin.
|
|
|
_wb_
|
2021-06-24 05:43:01
|
There is a Japanese company looking into hardware encode/decode of jxl, but they're likely going to restrict themselves to a subset (simple modular with fixed MA tree, no patches, no splines, etc)
|
|
|
monad
|
2021-06-24 06:06:05
|
What would be the application?
|
|
|
_wb_
|
2021-06-24 06:11:54
|
I assume camera
|
|
2021-06-24 06:12:11
|
There you care mostly about fast encode
|
|
2021-06-24 06:12:53
|
And it's ok for an encoder to only use a subset of the codec
|
|
2021-06-24 06:13:11
|
I'll know more after the next JPEG meeting
|
|
|
monad
|
2021-06-24 06:20:37
|
Ah, very cool.
|
|
|
Orum
|
2021-06-24 07:31:32
|
Are you able to name the company?
|
|
|
_wb_
|
2021-06-24 07:36:59
|
probably better not
|
|
|
Orum
|
2021-06-24 07:37:54
|
fair enough; I suppose we'll know in a couple years anyway
|
|
2021-06-24 09:54:52
|
yeah, though there are only a few that I'd suspect are working on a JXL ASIC
|
|
|
_wb_
|
2021-06-24 10:26:13
|
if you google "jpeg ip core products" you'll probably get the company on the first page
|
|
2021-06-24 10:29:49
|
I did not say camera company
|
|
2021-06-24 10:29:56
|
I said Japanese company
|
|
|
lithium
|
2021-06-24 10:56:44
|
I find a chinese language article introduction avif,
quote Jon Sneyers youtube,
> https://www.youtube.com/watch?v=w7UDJUCMTng
and say<:NotLikeThis:805132742819053610> :
> This is AVIF another victory.
> https://www.techbang.com/posts/84971-jpeg-picture-format-avif
|
|
|
_wb_
|
2021-06-24 11:01:01
|
https://www.youtube.com/watch?v=FtSWpw7zNkI is a better comparison
|
|
2021-06-24 11:01:28
|
JPEG can be quite good, there just is something wrong with what ImageMagick does, it seems
|
|
2021-06-24 11:03:13
|
AVIF does not do great - it's not as bad as WebP, but it's certainly losing a lot even in 4:4:4, and certainly in 4:2:0
|
|
|
lithium
|
2021-06-24 11:05:39
|
Agree, Hope jxl vardct can get better quality for anime(ligne claire) content.
|
|
|
_wb_
|
2021-06-24 11:06:56
|
|
|
2021-06-24 11:07:33
|
first frame of that video - you can see the file sizes of the first generation, it's not like jxl is getting more bytes than the rest or something
|
|
2021-06-24 11:07:44
|
|
|
2021-06-24 11:07:45
|
generation 900
|
|
2021-06-24 11:10:06
|
jxl does have plenty of issues after 900 generations too, especially of the yellow/blue kind
|
|
2021-06-24 11:11:11
|
avif has significantly bigger issues though, especially in the 420 case
|
|
|
Crixis
|
|
_wb_
|
|
2021-06-24 11:23:17
|
new encoder is better or worst in this?
|
|
|
_wb_
|
2021-06-24 11:23:30
|
haven't tested
|
|
2021-06-24 11:24:03
|
was just responding to the chinese article that claims "another victory for AVIF" when it comes to generation loss
|
|
2021-06-24 11:24:43
|
in practice, 4:2:0 AVIF is going to be most common, and generation loss there is very bad, almost WebP levels of bad.
|
|
2021-06-24 11:27:47
|
the down-right bleed of chroma is very heavy
|
|
2021-06-24 11:28:02
|
|
|
|
lithium
|
2021-06-24 11:38:14
|
I think we need a chinese language wiki page.🤔
|
|
|
improver
|
2021-06-25 05:30:38
|
if its got the same magic as valid file, arguably its good enough for testing, i guess
|
|
|
_wb_
|
2021-06-25 05:33:24
|
Yes, presumably they don't care about it being valid
|
|
2021-06-26 02:03:11
|
jxl is now enabled on the cloudinary.com website itself
|
|
2021-06-26 02:03:34
|
for the f_auto images that are used there
|
|
2021-06-26 02:05:21
|
we may have to update some marketing material
|
|
2021-06-26 02:05:22
|
https://cloudinary-res.cloudinary.com/images/c_scale,w_400,dpr_2.0/f_auto,q_auto/v1601406451/website/refresh/media_management/cloudinary_web_media_management_loose_bytes_without_loosing_quality/cloudinary_web_media_management_loose_bytes_without_loosing_quality.png
|
|
2021-06-26 02:05:48
|
for example the above url
|
|
2021-06-26 02:06:02
|
will give you a jxl if you have enabled the enable-jxl flag
|
|
2021-06-26 02:06:06
|
an avif otherwise
|
|
2021-06-26 02:06:17
|
a webp if you're on a browser that doesn't have avif yet
|
|
2021-06-26 02:06:24
|
or maybe a jpeg 2000 on safari
|
|
2021-06-26 02:07:03
|
JPEG XR we don't do at all anymore (it's for internet explorer and really old versions of edge, not really relevant anymore)
|
|
2021-06-26 02:08:00
|
and of course as a fallback for stupid browsers (mostly microbrowsers like what is in whatsapp, discord, slack etc) there's the good old JPEG
|
|
|
fab
|
2021-06-26 02:08:17
|
so they will update the image
|
|
2021-06-26 02:08:23
|
https://discord.com/channels/794206087879852103/803574970180829194/858347212019204137
|
|
|
_wb_
|
2021-06-26 02:09:13
|
the image is just to illustrate what f_auto does
|
|
|
fab
|
2021-06-26 02:09:27
|
will you update the image
|
|
2021-06-26 02:09:29
|
with jpeg xl
|
|
|
_wb_
|
2021-06-26 02:09:58
|
I guess at some point they could update it with avif and jxl
|
|
|
fab
|
2021-06-26 02:10:20
|
when the quality is good
|
|
|
_wb_
|
2021-06-26 02:10:24
|
the image itself is a jxl though when you click "open original" and use a browser that supports jxl 🙂
|
|
2021-06-26 02:10:59
|
currently we're just sending jxl to everyone who accepts jxl from the cloudinary website
|
|
2021-06-26 02:12:37
|
our marketing people probably don't want to do the low-fidelity high-appeal thing where avif is better, that wouldn't really be a good idea for a website like this 🙂
|
|
|
fab
|
2021-06-26 05:10:46
|
how to know at which commit the decoder is
|
|
2021-06-26 05:10:58
|
for jpeg xl in Mozilla and G.CHROME
|
|
|
_wb_
|
2021-06-26 05:18:29
|
Chrome follows the 0.4.x branch afaik
|
|
|
190n
|
2021-07-01 04:31:11
|
it'd be funny if they beat firefox to it
|
|
2021-07-01 04:40:52
|
yeah doesn't seem like it's for me either
|
|
|
BlueSwordM
|
2021-07-01 04:44:15
|
The new Proton UI in firefox is quite nice though 🔪
|
|
|
Orum
|
2021-07-01 03:16:21
|
at least you can disable it
|
|
|
improver
|
2021-07-01 03:38:14
|
not for long
|
|
|
incredible_eagle_68175
|
2021-07-01 08:50:02
|
I use pale moon for some stuff, it’s better than people think. It’s just that sometimes websites are “chromesites” and don’t work in even Firefox
|
|
2021-07-02 12:56:39
|
That’s by design. Pale moon is not a chrome replacement
|
|
2021-07-02 12:56:53
|
It has a specifc use case for specific people
|
|
2021-07-02 10:55:46
|
Some people have stuff that only work with old browsers (Flash, old extensions). In addition people with toaster computers might find it useful
|
|
|
Jyrki Alakuijala
|
2021-07-02 01:33:17
|
https://twitter.com/jonsneyers/status/1410921825077501954 retweet!
|
|
|
bonnibel
|
2021-07-02 03:00:41
|
_i_ measure my image codecs in acres of land ploughed per hour
|
|
|
_wb_
|
2021-07-02 03:06:50
|
i prefer my images unploughed
|
|
2021-07-02 03:08:07
|
no avif tractor splashing muddy blur all over my pixels
|
|
2021-07-02 03:08:16
|
😅
|
|
|
diskorduser
|
2021-07-02 04:43:41
|
But for web, many people don't care about fidelity. They just need less artifact-y, low file size good appeal images.
|
|
|
_wb_
|
2021-07-02 04:59:09
|
sure
|
|
2021-07-02 04:59:27
|
in some use cases
|
|
2021-07-02 04:59:59
|
if the image is there just to make the site look less boring, fidelity doesn't matter and appeal is all that matters
|
|
2021-07-02 05:01:07
|
if the image is e.g. a product you're selling, then fidelity does kind of matter - if you ruin the texture or color, you'll likely sell less and/or get more unsatisfied customers who return the product because it doesn't match the picture they saw
|
|
|
lithium
|
2021-07-02 05:04:21
|
Some Ebook(manga) service also need high fidelity lossy compression to keep product quality.
|
|
|
_wb_
|
2021-07-02 05:07:09
|
in some cases, you can go down to very low fidelity as long as there's no annoying artifacts
|
|
2021-07-02 05:07:42
|
but even for that, it's not q20
|
|
2021-07-02 05:07:49
|
more like q50 or q60
|
|
|
|
paperboyo
|
2021-07-02 06:26:23
|
Where’s me shiny new tractor…? 😉
|
|
|
incredible_eagle_68175
|
2021-07-03 03:11:54
|
Yes. Plus it’s more energy efficient,etc...
|
|
|
|
Deleted User
|
2021-07-03 02:34:46
|
Chrome (93.0.4542.2) displays https://github.com/libjxl/conformance/blob/master/testcases/upsampling/ wrongly. Can someone check with a newer version or is this a known bug?
|
|
|
_wb_
|
2021-07-03 02:37:05
|
it's fixed in current git, but maybe the fix hasn't been cherry-picked into chrome?
|
|
|
BlueSwordM
|
2021-07-05 03:29:16
|
https://www.newscientist.com/article/2282648-streamlined-jpeg-xl-images-could-cut-global-data-use-by-30-per-cent/
|
|
|
Orum
|
2021-07-05 08:34:07
|
is even 30% of internet traffic images?
|
|
|
Scope
|
2021-07-05 08:54:18
|
I think it's about a total traffic decrease
|
|
|
190n
|
2021-07-05 08:56:58
|
yeah but if total image traffic is less than 30% of total traffic, it's impossible for a new image format to reduce total traffic by 30%
|
|
|
monad
|
2021-07-05 09:03:11
|
Seems like a misinterpretation.
|
|
|
Scope
|
2021-07-05 09:03:59
|
As far as I remember image traffic is about 60-70% (not including video)
|
|
|
monad
|
2021-07-05 09:08:58
|
Yeah, the stat is probably just ignoring video. I wonder what the original quote was.
|
|
|
_wb_
|
2021-07-05 09:55:18
|
I told the reporter that jxl is 50% smaller than jpeg and that images are 60% of the bytes of a median web page.
|
|
2021-07-05 09:55:42
|
He turned it into that headline, which is not quite correct, but meh
|
|
|
monad
|
2021-07-05 12:08:25
|
The headline certainly seems to be garnering public attention, even if misleading.
|
|
|
lithium
|
2021-07-05 12:28:28
|
<:JXL:805850130203934781> The Next Generation "Alien Technology From The Future"
|
|
|
raysar
|
2021-07-08 09:51:08
|
I see the ISO table, we are in stage 50.00 for jpegxl 😄
|
|
2021-07-08 09:57:41
|
Uh, i see that jxl is not default enable in chrome 93 ! They don't want? it's fully working for now? They are waiting for progressive decoding?
|
|
|
improver
|
2021-07-08 11:53:38
|
progressive decoding yes but also probably needs decision by higher-ups i guess
|
|
|
raysar
|
2021-07-08 12:44:57
|
Avif is near everywhere !
|
|
2021-07-08 12:45:47
|
Microsoft edge dev seem to prefer JXL !
|
|
|
_wb_
|
|
raysar
Microsoft edge dev seem to prefer JXL !
|
|
2021-07-08 02:30:11
|
why do you say that?
|
|
|
raysar
|
2021-07-08 02:32:35
|
Because edge support now jxl with enable flag, that's not the case for avif.
|
|
|
_wb_
|
2021-07-08 02:47:14
|
oh. Weird - I would expect there at least to be a flag for avif in edge too...
|
|
|
|
veluca
|
2021-07-08 05:38:15
|
likely there is
|
|
|
Scope
|
2021-07-08 05:41:44
|
It just requires installed HEIF and AV1 extensions
|
|
|
fab
|
2021-07-08 05:47:57
|
in september what it will happen to jpeg xl
|
|
2021-07-08 05:49:49
|
other than two tests by webp2 team
|
|
|
raysar
|
|
Scope
It just requires installed HEIF and AV1 extensions
|
|
2021-07-08 08:44:49
|
What do you say? I found no way to display avif file in edge and edge canary. (i have install microsoft store av1 and heif app)
|
|
|
Scope
|
2021-07-08 09:01:07
|
Then I am mistaking with "fake" avif, when one AV1 frame was put into an MP4 container or something like that
|
|
2021-07-08 09:06:55
|
|
|
|
|
boogerlad.
|
2021-07-13 05:51:14
|
Any chance jpeg xl will make it into the pixel 6? Would be amazing to have lossless + wide color gamut to take advantage of the display + camera system
|
|
2021-07-13 05:51:57
|
though I guess it must be encoded / decoded in software, which is going to be too slow...?
|
|
|
|
Diamondragon
|
|
Any chance jpeg xl will make it into the pixel 6? Would be amazing to have lossless + wide color gamut to take advantage of the display + camera system
|
|
2021-07-13 05:59:41
|
No way. It's entirely too new to be used for image capture. Hardware support will be needed for that, which will take another two years, if it happens at all.
|
|
2021-07-13 05:59:44
|
There is the possibility that djxl could make it in to Android 12 to provide decoding support in the OS and apps. I hope it does, since jxl can't be broadly useful without wide support, and if Google (which did the majority of development work on jxl) won't support it in their own OS and browser, why should anyone?
|
|
|
|
boogerlad.
|
2021-07-13 06:02:47
|
sigh. guess apple will remain the only company that supports wide color gamut 😦
|
|
|
|
veluca
|
|
Diamondragon
No way. It's entirely too new to be used for image capture. Hardware support will be needed for that, which will take another two years, if it happens at all.
|
|
2021-07-13 06:05:39
|
pretty sure it can be done in GPU 😛
|
|
|
|
boogerlad.
|
2021-07-13 06:06:41
|
since jpeg xl parallelizes so well, it would work well on android's "many weak ARM cores" paradigm
|
|
|
|
Diamondragon
|
|
veluca
pretty sure it can be done in GPU 😛
|
|
2021-07-13 06:08:17
|
That'd be nice, if so.
|
|
|
|
veluca
|
2021-07-13 06:19:29
|
I was thinking about writing a fast GPU encoder at some point
|
|
2021-07-13 06:20:05
|
probably if I write something the first implementation will use CUDA 'cause it's the only thing I know already
|
|
2021-07-13 06:20:34
|
then I can figure out how to make it run on other stuff
|
|
2021-07-13 06:22:34
|
IDK, but it's certainly easy to *write* CUDA programs
|
|
2021-07-13 06:22:44
|
because it's basically C++
|
|
2021-07-13 06:23:18
|
the most portable option is I think Compute Shaders
|
|
|
_wb_
|
|
Diamondragon
There is the possibility that djxl could make it in to Android 12 to provide decoding support in the OS and apps. I hope it does, since jxl can't be broadly useful without wide support, and if Google (which did the majority of development work on jxl) won't support it in their own OS and browser, why should anyone?
|
|
2021-07-13 09:33:52
|
It could be a good idea to do that, but it would mostly be a PR thing. In practice, most Android apps ship their own decoders, even for libjpeg-turbo they often do not use the system library. The reason is simple: low-end Android devices are stuck at old Android versions, yet they need the decoder speedups the most that are in the most recent versions of decoders.
|
|
|
fab
|
2021-07-13 10:45:20
|
for 28 mpx images current decoder uses 1,3 gb of ram
|
|
2021-07-13 10:45:27
|
too much
|
|
2021-07-13 10:46:26
|
with jxl win thumb i get 800mb
|
|
|
_wb_
|
2021-07-13 11:26:59
|
djxl creates a full 32-bit float decoded buffer, so that alone is already 12 bytes per pixel in case of RGB, 16 bytes in case of RGBA. 28 megapixels -> 336 megabyte.
|
|
2021-07-13 11:27:51
|
it should be able to not need significantly much more than that though, at least in the VarDCT case
|
|
2021-07-13 11:28:20
|
in the Modular case there are still a few unnecessary copies
|
|
|
|
Squid Baron
|
2021-07-13 02:09:06
|
weird, I've just upgraded to firefox 90, enabled "image.jxl.enabled" and it doesn't work. otoh ` --enable-features=JXL` in edge works fine
|
|
|
fab
|
2021-07-13 04:01:04
|
vardct -d 1.17 -s 9 --use_new_heuristics or normal -s 9 -d 1 i used only those two commands
|
|
2021-07-13 04:01:29
|
yes i used djxl libjxl v0.3.7-241-g89889a1 win_x64 2021.07.13
|
|
|
diskorduser
|
2021-07-13 04:06:07
|
This doesn't belong to adoption
|
|
|
|
Deleted User
|
2021-07-13 05:44:31
|
Fabian not only chooses parameters at random, he also chooses the channel to share them at a whim.
|
|
|
w
|
2021-07-14 12:41:03
|
ive also tried to do animated jxl except that the api hasnt exposed all the headers for animation yet
|
|
2021-07-14 12:42:59
|
i dont think there is an issue with transparency
|
|
2021-07-14 12:43:04
|
it looked like it worked already (it works for me)
|
|
2021-07-14 12:43:53
|
and idk anything about hdr. i will never understand hdr. it's not like firefox ever supported hdr in the first place
|
|
2021-07-14 12:50:57
|
i open an image, right click inspect and change the background color
|
|
2021-07-14 12:51:00
|
that's how i tested it
|
|
2021-07-14 12:51:02
|
and it worked
|
|
|
improver
|
|
w
i dont think there is an issue with transparency
|
|
2021-07-14 01:12:34
|
doesn't work for me
|
|
|
w
|
2021-07-14 01:14:59
|
hmm
|
|
2021-07-14 01:15:01
|
ill look into it
|
|
|
improver
|
|
w
|
2021-07-14 01:15:44
|
yeah i get
|
|
2021-07-14 01:15:48
|
|
|
|
improver
|
2021-07-14 01:15:50
|
image im testing with. on chromium it properly does transparent bg, in firefox it shows white there
|
|
|
w
|
2021-07-14 01:15:51
|
black parts fully transparent
|
|
2021-07-14 01:15:56
|
but white should be
|
|
2021-07-14 01:26:56
|
that was an easy fix as described by kagami
|
|
2021-07-14 01:27:04
|
though it's gotta wait for the qcms patch
|
|
2021-07-14 02:13:45
|
it's more of it conflicts and it's easier this way
|
|
|
eddie.zato
|
2021-07-15 12:32:33
|
But I dunno how to enable chrome flags in electron/vscode, if that is even possible. 😄
|
|
|
eclipseo
|
|
Diamondragon
There is the possibility that djxl could make it in to Android 12 to provide decoding support in the OS and apps. I hope it does, since jxl can't be broadly useful without wide support, and if Google (which did the majority of development work on jxl) won't support it in their own OS and browser, why should anyone?
|
|
2021-07-19 01:08:12
|
Google contributed a lot to JXl but is still developping Webp2, I don't understand their goals
|
|
|
_wb_
|
2021-07-19 02:17:02
|
Google is big, besides jxl and webp2 they are also heavily into avif
|
|
2021-07-19 02:17:31
|
They're big enough to just do everything so whichever wins they can say they made it :)
|
|
|
Jim
|
2021-07-20 01:34:45
|
Google owns YouTube so it was in their interest to work on AV1. It was also in their interest to have AV1 be an image format because they have a lot of blogs that include images that are not major and that would work well for video screen captures in YouTube. While it does not seem they were all that interested in another image format, some of the compression techniques used in JXL are also being promoted for better generic/text & html compression. They are the web, after all. JXL just became a side project they didn't really expect, but since it uses their compression software, good for them. Since they also have a lot of image storage (Drive & Photos), it will just be an added plus in the long run to be able to improve compression on those media files for less storage & bandwidth.
|
|
|
_wb_
|
2021-07-27 02:11:48
|
Does anyone feel like adding jxl support to Blender? It already supports quite a few import/export formats (j2k, webp etc), and I think jxl would be a good codec for this use case.
|
|
2021-07-27 02:12:29
|
It doesn't look like it would be very hard to do, basically grep the code for `WEBP` and do something similar
|
|
|
fab
|
2021-07-27 04:07:51
|
when support for cjxl in greenshot?
|
|
2021-07-27 04:08:15
|
at least lossless
|
|
|
diskorduser
|
2021-07-27 04:59:33
|
Ask greenshot developer?
|
|
|
_wb_
|
2021-07-28 07:27:45
|
<@!239702523559018497> There doesn't seem to be any activity on https://github.com/mozilla/standards-positions/issues/522 anymore, any idea how to make progress here?
|
|
|
fab
|
2021-07-29 06:39:31
|
how can facebook start with jxl
|
|
2021-07-29 06:39:41
|
and permits to save other people photo as jxl
|
|
2021-07-29 06:39:50
|
if windows 11 isn't out
|
|
2021-07-29 06:39:57
|
windows 10 likely won't receive jxl
|
|
2021-07-29 06:40:08
|
i think it can because it doesn't expire now
|
|
2021-07-29 06:40:28
|
likely people don't have computer upgraded
|
|
2021-07-29 06:40:37
|
so they have to download a viewer
|
|
2021-07-29 06:40:53
|
and the viewer crashes when there is rotation metadata on a photo
|
|
2021-07-29 06:41:35
|
and on android when you download a viewer that is not opensource you don't have libjxl
|
|
2021-07-29 06:42:28
|
how support in the web will move? or in fb? do you have anticipations or spoiler, rumor
|
|
2021-07-29 06:43:12
|
as i read the link up firefox still don't have upgraded decoder
|
|
2021-07-29 06:43:18
|
latest is 25 may so 0.4.0
|
|
2021-07-29 06:44:17
|
the support in open source is poor, greenshot can't save in jxl, qttabbar beta 17072021 can't show a jxl files bigger when you point the mouse
|
|
|
|
Diamondragon
|
|
fab
how can facebook start with jxl
|
|
2021-07-29 07:08:17
|
That's easy: Facebook doesn't care whether or not the user's operating system, much less third party apps, support JXL. All they need are for their own smartphone apps (which they fully control), and most web browsers (which would be the first things to adopt new image formats anyway) to support it.
|
|
|
fab
|
|
Diamondragon
That's easy: Facebook doesn't care whether or not the user's operating system, much less third party apps, support JXL. All they need are for their own smartphone apps (which they fully control), and most web browsers (which would be the first things to adopt new image formats anyway) to support it.
|
|
2021-07-29 08:08:28
|
yes but people shouldn't save ohter people image in jxl
|
|
2021-07-29 08:08:42
|
if i want to download an image how i do in fb
|
|
2021-07-29 08:08:55
|
if i'm on mobile
|
|
2021-07-29 08:09:14
|
and it chooses another format for download a reconversion
|
|
2021-07-29 08:09:41
|
jon sneyers probably knows
|
|
2021-07-29 08:09:56
|
he can't spoiler
|
|
|
diskorduser
|
2021-07-30 01:20:39
|
Why should Facebook care about people saving images? It's not a photo selling service
|
|
2021-07-30 01:22:29
|
If fb adopt jxl, people will ask their favourite app's developers for jxl support. So I don't see any problem.
|
|
|
npc5146
|
2021-08-02 11:54:39
|
Firefox is irrelevant anyway 😆
|
|
|
w
|
|
npc5146
|
2021-08-02 11:55:07
|
It's bleeding users at an alarming pace
|
|
|
w
|
2021-08-02 11:55:44
|
gecko > blink
|
|
|
fab
|
2021-08-03 07:45:47
|
will chrome 93 have jxl?
|
|
|
_wb_
|
|
npc5146
Firefox is irrelevant anyway 😆
|
|
2021-08-03 02:04:49
|
I don't think so. In market share, yes, they do have a problem. But it's the only other foss non-blink browser that has some market share (webkit itself is foss too but its only significant use is in safari).
|
|
|
raysar
|
2021-08-03 02:51:12
|
i'm on firefox 90 stable, jxl enable, but it doesn't work, it's the same for you?
|
|
2021-08-03 02:57:21
|
An i see OPERA 77 stable support JXL (with flags) 😍
|
|
|
_wb_
|
2021-08-03 02:57:48
|
Jxl is only in firefox nightly, not in stable builds
|
|
|
|
Deleted User
|
2021-08-03 04:30:49
|
Why is there a flag when it only works in nightly anyway?
|
|
|
Scope
|
2021-08-03 04:34:57
|
Perhaps because they are not sure if this format is worth including or the decoder is stable enough
|
|
|
w
|
2021-08-03 10:39:57
|
well first it needs to get working properly
|
|
2021-08-03 10:40:03
|
I've been trying very hard
|
|
2021-08-03 10:40:24
|
also animated avif is still not supported in ff
|
|
|
improver
|
2021-08-03 10:59:34
|
decoder lib stuff is real concern as i think firefox didn't use 0.4 branch at all
|
|
2021-08-03 11:00:03
|
now that it got 0.5 i guess it could be bumped
|
|
2021-08-05 07:21:37
|
i think there have been lib size improvements incase only decoding part is used
|
|
|
w
|
2021-08-07 12:18:49
|
i cant for the life of me get animated jxl working in firefox. i spent over 2 weeks on this already. i have to give up for now >.>
|
|
2021-08-07 12:25:30
|
if anyone can help ill leave this here
|
|
2021-08-07 12:27:13
|
i honestly cant bother lol
|
|
2021-08-07 12:39:52
|
hmm.. is there even a point in animated avif when people are just going to use webm
|
|
2021-08-07 12:47:32
|
i mean that avif is just av1 in avif container, so wouldnt people just do av1 in webm. there's no other way to get animated jxl so animated jxl kinda is required imo
|
|
|
_wb_
|
|
w
i mean that avif is just av1 in avif container, so wouldnt people just do av1 in webm. there's no other way to get animated jxl so animated jxl kinda is required imo
|
|
2021-08-07 05:49:40
|
Not if webm doesn't work in an img tag.
|
|
|
w
i cant for the life of me get animated jxl working in firefox. i spent over 2 weeks on this already. i have to give up for now >.>
|
|
2021-08-07 07:51:28
|
Are you stuck at some firefox thing, or at some libjxl thing?
|
|
|
w
|
2021-08-07 07:53:18
|
I think it's some firefox thing. libjxl seems to be decoding properly
|
|
|
_wb_
|
2021-08-07 07:56:07
|
Did you look at how gif is done?
|
|
|
w
|
2021-08-07 07:56:45
|
yeah i've especially stared at webp and apng
|
|
|
_wb_
|
2021-08-07 08:06:49
|
So what happens? Does it do anything?
|
|
|
w
|
2021-08-07 08:07:10
|
I guess i should describe it.
|
|
2021-08-07 08:07:32
|
All frames decode, but it crashes when it runs PostDecodeDone
|
|
2021-08-07 08:08:29
|
actually that's it
|
|
|
_wb_
|
2021-08-07 08:22:40
|
Is there a way to get a backtrace or see why it crashes?
|
|
|
w
|
2021-08-07 08:27:26
|
unfortunately i have no idea what i am doing when it comes to debugging firefox. there's no log for it for what it's worth
|
|
|
|
veluca
|
2021-08-07 10:19:58
|
Have you tried running it in gdb?
|
|
|
w
|
2021-08-08 03:33:35
|
so uhh i got it working
|
|
2021-08-08 03:42:22
|
but these two test images
<https://github.com/libjxl/conformance/blob/master/testcases/animation_newtons_cradle/input.jxl>
<https://github.com/libjxl/conformance/blob/master/testcases/animation_spline/input.jxl>
force firefox to do decode on demand (by default) which makes it really slow and it can't keep up with the framerates
|
|
|
_wb_
|
2021-08-08 03:46:02
|
Too many total pixels to keep all decoded frames in memory?
|
|
2021-08-08 03:46:11
|
Or how does it work in ff?
|
|
|
w
|
2021-08-08 03:46:33
|
yeah im guessing it's all decoded frames
|
|
2021-08-08 03:47:07
|
decided here <https://searchfox.org/mozilla-central/source/image/AnimationSurfaceProvider.cpp#37>
|
|
|
_wb_
|
2021-08-08 03:47:13
|
I remember in chrome they had to spend some effort to make efficient seek work, maybe something similar has to be done in ff?
|
|
|
w
|
2021-08-08 03:47:29
|
what it does is just restart from the beginning when it's done
|
|
2021-08-08 03:47:32
|
and keep a buffer of frames
|
|
2021-08-08 03:47:58
|
so when it needs the next one, which is always since it's a looping animation, the decode speed can't keep up with the framerate of the video
|
|
2021-08-08 03:52:19
|
both of those images are just over the default threshold of 20mb assuming the images in memory are bitmaps in rgba8
|
|
2021-08-08 03:55:26
|
your guys' care for this in ff pushed me to get this working so thanks.
|
|
2021-08-08 03:56:16
|
next is progressive but ~~i dont think it's possible with how ff handles progressive~~ it is way too hard for me
|
|
|
_wb_
|
2021-08-08 04:09:52
|
Progressive is not even there yet in chrome, but I think it's less urgent (it's very nice to have, but it's not an interoperability problem if it doesn't work, only a perceived performance problem)
|
|
|
|
veluca
|
2021-08-08 04:31:22
|
I'm not even 100% sure we have efficient animation in Chrome... at least in the beginning we just said "you cannot ever drop frames, sorry"
|
|
2021-08-08 04:32:35
|
having said that, if we did put the efficient thing in Chrome then it should be relatively simple to do the same in FF, most of the work went in libjxl
|
|
2021-08-08 04:35:00
|
... I'll ask <@!768090355546587137> tomorrow if I remember
|
|
|
Scope
|
2021-08-08 04:39:08
|
Progressive support would also be nice, because it is one of the JXL advantages compared to other modern formats
|
|
|
|
Stan
|
2021-08-08 10:09:55
|
See how progressive looks now in Chrome
|
|
|
_wb_
|
2021-08-09 06:18:05
|
We have per-group incremental loading in chrome, but not yet progressive loading.
|
|
|
w
|
2021-08-09 07:41:19
|
dont know how i managed
|
|
2021-08-09 08:17:51
|
i dragged the file into the box
|
|
2021-08-09 08:17:55
|
instead of using the link
|
|
|
improver
|
2021-08-09 08:18:26
|
careful don't burn yourself out with this lol
|
|
|
w
|
2021-08-09 08:18:43
|
haha spent all my time doing this instead of studying >.>
|
|
|
improver
|
2021-08-09 08:19:17
|
ooof these things can bite
|
|
|
w
|
2021-08-09 08:19:53
|
i dont see the point in the olympics
|
|
2021-08-09 08:19:55
|
:p
|
|
|
improver
|
|
w
|
2021-08-09 08:20:20
|
the olympics is the reason love live was delayed 2 weeks so i can only hate it
|
|
|
|
Stan
|
|
w
dont know how i managed
|
|
2021-08-09 08:42:34
|
try to select 1kb step. For each step this tool generates a truncated image
|
|
|
w
|
2021-08-09 08:51:38
|
|
|
2021-08-09 08:52:03
|
cool tool 👍
|
|
|
_wb_
|
2021-08-09 09:05:29
|
Does it represent how progressive loading actually works in the browser? (when loading the full image)
|
|
|
w
|
2021-08-09 09:05:58
|
yeah i tried using the built in FF network throttle
|
|
|
_wb_
|
2021-08-09 09:06:08
|
Very cool!
|
|
2021-08-09 09:06:43
|
Is your patch going to end up in ff?
|
|
|
w
|
2021-08-09 09:07:12
|
i hope, though i will wait for the efficient animation thing first
|
|
|
_wb_
|
2021-08-09 09:07:36
|
Kind of cool that ff might have good progressive jxl loading before chrome 😅
|
|
|
w
|
2021-08-09 09:44:21
|
it helps that the api is so easy to use
|
|
|
|
veluca
|
2021-08-09 09:49:22
|
... cool!
|
|
2021-08-09 09:49:36
|
I'd suggest you to send the CL independently of the efficient animation stuff
|
|
2021-08-09 09:50:08
|
(that requires updating to 0.5 among other things)
|
|
|
w
|
2021-08-09 09:50:27
|
oh yeah i also need to figure out how title a patch to moz that covers multiple bugs
|
|
|
|
veluca
|
2021-08-09 09:50:50
|
tbh probably the best way is to split the patch into multiple patches 😛
|
|
|
w
|
2021-08-09 09:51:35
|
i guess ill do that then
|
|
|
|
lvandeve
|
|
veluca
... I'll ask <@!768090355546587137> tomorrow if I remember
|
|
2021-08-09 09:55:25
|
This will make the animation more efficient in chrome. Just needs the latest jxl version merged
https://chromium-review.googlesource.com/c/chromium/src/+/2953140
|
|
|
_wb_
|
2021-08-09 10:02:52
|
Lode, can we get progressive loading in chrome too? Would be nice if both firefox and chrome can have it before the flag gets enabled by default, then it's progressive "from the start".
|
|
|
|
lvandeve
|
|
_wb_
Lode, can we get progressive loading in chrome too? Would be nice if both firefox and chrome can have it before the flag gets enabled by default, then it's progressive "from the start".
|
|
2021-08-09 10:04:19
|
what type of progressive do you mean? e.g. loading groups one by one, showing low res then high res, other forms of progressive...
|
|
|
_wb_
|
2021-08-09 10:09:59
|
Showing the upsampled DC if and when it is available, then groups as they arrive (which can be once per group or multiple times in case of progressive AC passes)
|
|
|
|
lvandeve
|
2021-08-09 10:11:12
|
the upsampled DC is marked deprecated in the API. The showing of groups should already be supported, that is, chrome may show intermediate stages if the loading goes slow, and we render the groups to the final buffer as they get decoded
EDIT: typo, meant downsampled DC
|
|
|
_wb_
|
|
lvandeve
the upsampled DC is marked deprecated in the API. The showing of groups should already be supported, that is, chrome may show intermediate stages if the loading goes slow, and we render the groups to the final buffer as they get decoded
EDIT: typo, meant downsampled DC
|
|
2021-08-09 10:13:47
|
But we only render every pixel once, right? It would be nice to also show the upsampled DC (I assume there is a new way to get it besides the deprecated api?) for groups that aren't final yet, i.e. rendering every pixel twice.
|
|
|
improver
|
2021-08-09 04:34:06
|
why is it marked deprecated? getting DC sounds like handy feature
|
|
|
|
veluca
|
2021-08-09 04:35:23
|
getting the *upsampled* DC, yes
|
|
2021-08-09 04:35:29
|
getting the raw DC, not so much
|
|
2021-08-09 04:35:38
|
it has a bunch of weird restrictions and problems
|
|
|
improver
|
2021-08-09 04:37:04
|
> the upsampled DC is marked deprecated in the API
<:Thonk:805904896879493180>
|
|
|
|
veluca
|
2021-08-09 04:37:44
|
that's a typo 😛
|
|
|
Scope
|
2021-08-09 04:42:24
|
For some reason I do not see JXL LQIP at any load percentage 🤔
<https://stan-kondrat.github.io/progressive-image-viewer/>
|
|
|
_wb_
|
2021-08-09 05:22:51
|
Libjxl needs to get some fixes before we can do before-full-DC previews again (in case of dc frames)
|
|
|
w
|
2021-08-11 09:54:26
|
<https://phabricator.services.mozilla.com/D119700#3977128> <:sadge:860304344771461130>
|
|
|
_wb_
|
2021-08-11 10:22:59
|
Is there anything we can do to help? If it's a matter of limited resources, is there a way we can add resources?
|
|
|
|
veluca
|
2021-08-11 10:24:12
|
I am not sure, but I suspect that accepting a MR is not really a question of resources... I rather suspect there's politics involved
|
|
|
_wb_
|
2021-08-11 10:28:52
|
Oh ok, so the "limited resources" is just a polite way to say "no"?
|
|
|
improver
|
2021-08-11 10:32:52
|
"not right now". I guess reviewing takes time, and if no one gets assigned that...
|
|
2021-08-11 10:35:27
|
kinda silly reasoning, but I guess that's what happens when project isn't community-ran but commercial
|
|
|
|
veluca
|
|
_wb_
Oh ok, so the "limited resources" is just a polite way to say "no"?
|
|
2021-08-11 10:37:51
|
I think so, yes
|
|
|
improver
"not right now". I guess reviewing takes time, and if no one gets assigned that...
|
|
2021-08-11 10:38:11
|
I'm pretty sure time is not the issue, but IDK
|
|
|
improver
|
2021-08-11 10:54:25
|
perhaps.
|
|
|
_wb_
|
2021-08-11 10:57:25
|
<@239702523559018497> is here, I guess we can just ask: is it really about time/resources or is it a political thing?
|
|
|
|
veluca
|
2021-08-11 11:15:08
|
in other news - I guess <@!693227044061839360> is the best person to bother about https://github.com/ImageMagick/ImageMagick/pull/4064 ? 😄
|
|
|
Fraetor
|
2021-08-11 02:40:27
|
Yeah, hopefully it is just that they arnt going to do it until FF92 or something.
|
|
|
|
Deleted User
|
2021-08-12 03:25:28
|
it seems the timing could be bad with AVIF support becoming default etc, so for the time being they're probably focused on getting that ready
the foreseeable future could be making sure AVIF has a stable, successful bug free launch for enabling it by default
I don't see a particular political reason to not support the format besides not impacting the release and success of another
|
|
|
Dirk
|
|
veluca
in other news - I guess <@!693227044061839360> is the best person to bother about https://github.com/ImageMagick/ImageMagick/pull/4064 ? 😄
|
|
2021-08-12 07:14:13
|
Will take a look at the PR this weekend. Did a quick check and it looks like it requires some changes. I might use your PR as a template fro my own commit if it requires too many changes. Hope you don't mind.
|
|
|
|
veluca
|
|
Dirk
Will take a look at the PR this weekend. Did a quick check and it looks like it requires some changes. I might use your PR as a template fro my own commit if it requires too many changes. Hope you don't mind.
|
|
2021-08-12 08:32:11
|
Well, it's not my commit :D I'll ask
|
|
|
_wb_
|
2021-08-13 09:35:33
|
The 12-year olds on 4chan are overanalyzing stuff again: https://boards.4channel.org/g/thread/82921898/mozilla-is-prioritizing-avif-wont-merge-jpeg-xl
|
|
|
|
Deleted User
|
2021-08-13 10:38:58
|
sigh, 4chan targeting the messenger
saschanaz made jxl-rs and winthumb; it's pretty clear there's more to this decision than one individual
|
|
|
Justin
|
|
sigh, 4chan targeting the messenger
saschanaz made jxl-rs and winthumb; it's pretty clear there's more to this decision than one individual
|
|
2021-08-13 10:45:37
|
Ye.. I mean.. this summarizes the intellect of 4chan discussions I guess. Bash the messenger on a personal level. Ugh
|
|
|
spider-mario
|
2021-08-13 11:14:43
|
Q: “Why am I not surprised?”
A: because it’s relatively common for people to have they/them as their pronouns
|
|
|
Fox Wizard
|
2021-08-13 11:43:18
|
I'll never get why people think it's an issue or a bad thing when people want to be addressed as they/them and then proceed to make fun of them <:sadge:855476349686513714>
|
|
|
w
|
2021-08-13 11:47:02
|
tbh you can say the same about the opposite, why it's a bad thing when people dont address you as you like
|
|
|
Justin
|
2021-08-13 01:07:41
|
Oh please, I didn't want to start a gender discussion 😛
|
|
|
190n
|
|
w
tbh you can say the same about the opposite, why it's a bad thing when people dont address you as you like
|
|
2021-08-13 07:58:22
|
do i really have to answer this...
|
|
2021-08-13 07:58:39
|
if someone asks to be referred to in a certain way why tf would you not honor that?
|
|
|
improver
|
2021-08-13 08:00:15
|
I don't think anyone should continue this discussion, because I have seen too much good arguments for both sides
|
|
2021-08-13 08:00:59
|
it's kinda stuff i just don't really wanna in jxl server too lol
|
|
|
|
veluca
|
2021-08-13 08:05:11
|
I'll +1 that and ask that at the very least such discussions happen in <#806898911091753051> - and that it is kept civil if it does happen
|
|
|
Dirk
|
2021-08-14 08:30:00
|
Did not realize that without this patch version 0.5 will fail to encode the image <@!179701849576833024>. Applied a slightly different patch to fix this.
|
|
|
|
veluca
|
2021-08-14 08:55:14
|
Perfect, can you link it?
|
|
|
Dirk
|
2021-08-14 09:19:48
|
Sure: https://github.com/ImageMagick/ImageMagick/commit/7fb6eda2c0ce209bacdc38d1c88c4a7d26125322. Now trying to figure out why 32 bit float encoding is broken. Using the exact same code as `encode_oneshot.cc` but colors are washed-out for some unknown reason.
|
|
|
|
veluca
|
2021-08-14 09:22:58
|
sounds like a linear-vs-srgb issue... good luck 😄
|
|
|
Dirk
|
2021-08-14 09:29:21
|
Using `JxlColorEncodingSetToLinearSRGB` instead seems to fix the issue. But also getting `enc_modular.cc:506: JXL_ASSERT: !fp` with lossless compression
|
|
|
|
veluca
|
2021-08-14 09:39:53
|
mhhhh, that ought not to happen, the assert is triggered by jxl trying to do an XYB conversion which definitely doesn't make sense with fp
|
|
2021-08-14 09:40:02
|
can you open an issue?
|
|
|
Dirk
|
2021-08-14 09:41:21
|
Trying to figure out why it is happening 😁. Want a bit more info before opening the issue first
|
|
|
|
veluca
|
2021-08-14 09:42:38
|
for reasons I don't really understand RN it's because JXL is convinced it needs to do both lossless fp *and* XYB
|
|
|
_wb_
|
2021-08-14 09:57:16
|
I think it's because xyb is an image-global decision while lossless is a frame decision
|
|
|
Dirk
|
2021-08-14 10:28:45
|
Doing this inside `JxlEncoderSetBasicInfo` seems to fix this issue:
```
enc->metadata.m.xyb_encoded = !info->uses_original_profile;
if (enc->metadata.m.bit_depth.floating_point_sample)
enc->metadata.m.xyb_encoded = false;
enc->basic_info_set = true;
```
|
|
2021-08-14 10:29:09
|
That's probably not a proper fix though
|
|
|
|
veluca
|
2021-08-14 10:32:46
|
I think it's a good idea to file a bug
|
|
2021-08-14 10:32:50
|
at this point
|
|
2021-08-14 10:33:08
|
I am not knowledgeable enough about the encode API to be able to tell you anything useful here 😛
|
|
|
Dirk
|
2021-08-14 10:33:09
|
Will do I also think I know what is causing it
|
|
2021-08-14 10:35:08
|
I don't know enough about the format but is correct that a 32 fp encoded image should not use `xyb` encoding?
|
|
|
_wb_
|
2021-08-14 10:35:42
|
Not if you want to do lossless
|
|
|
|
veluca
|
2021-08-14 10:35:43
|
I mean, you can do whatever you want, but if you want lossless 32 bit floats, you ought not to use xyb
|
|
|
Dirk
|
2021-08-14 10:39:16
|
Thanks. I noticed that the libjxl an "old issue form". You probably want to switch to issue forms when this becomes available: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
|
|
2021-08-14 10:56:22
|
There you go: https://github.com/libjxl/libjxl/issues/447
|
|
|
|
veluca
|
2021-08-14 10:58:10
|
thanks!
|
|
|
Petr
|
2021-08-23 07:13:38
|
Firefox 91.0.1, image.jxl.enabled = true and it still doesn't render jxls. Any ideas? 😕
|
|
2021-08-23 07:20:05
|
I hope it's not the case that the option is already there but the actual support not yet… 😜
|
|
|
w
|
2021-08-23 07:25:32
|
just uhh use my patch
|
|
2021-08-23 07:26:01
|
the flag only works on firefox nightly
|
|
|
Petr
|
2021-08-23 09:29:37
|
Oh, I've just found it: https://discord.com/channels/794206087879852103/803574970180829194/864517617322295337
|
|
2021-08-23 09:30:03
|
I hope that not too many users are confused with it…
|
|
|
|
Deleted User
|
|
w
just uhh use my patch
|
|
2021-08-23 12:51:22
|
How can we install your patch?
|
|
|
w
|
2021-08-23 12:54:41
|
ill uhh set something up
|
|
|
|
veluca
|
2021-08-23 01:06:27
|
I *could* make some builds perhaps... 😛
|
|
2021-08-23 01:17:16
|
is that something like FlatPak?
|
|
2021-08-23 01:17:48
|
anyway, it's probably a bit too much effort for me rn
|
|
|
_wb_
|
2021-08-23 02:11:30
|
it doesn't really, does it? well now it does if you enable a flag, but once the flag is enabled by default in a browser, the different Accept header doesn't give any extra fingerprinting besides what can already be derived from the User agent
|
|
|
Scope
|
2021-08-24 12:19:38
|
https://discord.com/channels/794206087879852103/822105409312653333/869306333999009882
|
|
|
|
xiota
|
2021-08-24 02:47:14
|
* Photo sharing and storage. Vast majority of digital cameras generate JPG which can be losslessly transcoded to JXL. Photographers can share photos at the same image quality with reduced file sizes or same file sizes with improved image quality.
* Format intermediary 1. TIF and PNG are often used in image editing workflows because they support higher bit depths. They are very large and can be slow to write.
* Format intermediary 2. User and developer time is valuable. JXL is much much faster to encode (than AVIF). Web devs could upload JXL. Then the server could transcode to other formats over a longer period of time, if it's even still desired.
* JPG replacement 1. With lossless transcoding, every JPG made during the last few decades is a potential JXL.
* JPG replacement 2. Lots of existing websites still serve only JPGs, which could be transparently transcoded to save storage and bandwidth. For older browsers that don't natively support JXL, it's conceivable that a javascript loader could be used to decode images on the client side.
* AVIF replacement 1. Even though AVIF is considered more effecient at low bitrates, it is very very slow to encode. On my computer, it takes 26x as long to encode a 24mp image into a 2MB AVIF as to a 2MB JXL (d=1). This translates to reduced carbon emissions, better battery life, etc. Maybe AVIF will get hardware acceleration, but so could JXL.
* AVIF replacement 2. Users seem to be uploading larger images. (Based on the MB of bandwidth usage required to view what I think should be simple sites.) So I don't think many people are *really* putting a lot of effort into optimizing image sizes. If they are, they're doing really poorly at it. For images with the bpp that I've seen lately on the web, JXL does just as well as AVIF. (I see no significant visual difference when flipping between the formats in a viewer.)
|
|
2021-08-24 03:24:27
|
Best practice for websites... just use JXL directly. It looks like every major browser is set to have JXL support as soon as it completes standardization. Maybe everyone still using Internet Explorer and Edge "Legacy" will finally upgrade.
|
|
|
_wb_
|
2021-08-24 05:12:54
|
Both options are also possible for jxl.
|
|
|
xiota
* Photo sharing and storage. Vast majority of digital cameras generate JPG which can be losslessly transcoded to JXL. Photographers can share photos at the same image quality with reduced file sizes or same file sizes with improved image quality.
* Format intermediary 1. TIF and PNG are often used in image editing workflows because they support higher bit depths. They are very large and can be slow to write.
* Format intermediary 2. User and developer time is valuable. JXL is much much faster to encode (than AVIF). Web devs could upload JXL. Then the server could transcode to other formats over a longer period of time, if it's even still desired.
* JPG replacement 1. With lossless transcoding, every JPG made during the last few decades is a potential JXL.
* JPG replacement 2. Lots of existing websites still serve only JPGs, which could be transparently transcoded to save storage and bandwidth. For older browsers that don't natively support JXL, it's conceivable that a javascript loader could be used to decode images on the client side.
* AVIF replacement 1. Even though AVIF is considered more effecient at low bitrates, it is very very slow to encode. On my computer, it takes 26x as long to encode a 24mp image into a 2MB AVIF as to a 2MB JXL (d=1). This translates to reduced carbon emissions, better battery life, etc. Maybe AVIF will get hardware acceleration, but so could JXL.
* AVIF replacement 2. Users seem to be uploading larger images. (Based on the MB of bandwidth usage required to view what I think should be simple sites.) So I don't think many people are *really* putting a lot of effort into optimizing image sizes. If they are, they're doing really poorly at it. For images with the bpp that I've seen lately on the web, JXL does just as well as AVIF. (I see no significant visual difference when flipping between the formats in a viewer.)
|
|
2021-08-24 05:15:10
|
Nice list!
|
|
|
xiota
Best practice for websites... just use JXL directly. It looks like every major browser is set to have JXL support as soon as it completes standardization. Maybe everyone still using Internet Explorer and Edge "Legacy" will finally upgrade.
|
|
2021-08-24 05:18:52
|
Best practice right now is not to just use jxl and only jxl, because that will show a broken image in 99.9999% of the end-users who don't enable experimental flags. Once jxl is in all major browsers, you could do that. For now, you'll have to use a fallback (e.g. jpeg or webp), and either use picture/source in html or let the server serve different files depending on Accept headers
|
|
|
|
xiota
|
|
_wb_
Best practice right now is not to just use jxl and only jxl, because that will show a broken image in 99.9999% of the end-users who don't enable experimental flags. Once jxl is in all major browsers, you could do that. For now, you'll have to use a fallback (e.g. jpeg or webp), and either use picture/source in html or let the server serve different files depending on Accept headers
|
|
2021-08-24 06:03:21
|
Yes, for now. I was describing a scenario for after the standardization process has concluded. So many browsers already have experimental support implemented. They could set a compiler flag and have it in stable builds within hours. Right now, web sites could use it behind the scenes for image storage if they wanted. I look forward to when Google Photos supports JXL. What makes JXL significantly different from previous attempts at dethroning JPG is lossless transcoding. It answers, "What do I do with all my existing photos?"
|
|
|
_wb_
|
2021-08-24 07:14:18
|
Yes, it can actually replace jpeg and not just be a format you can lossily transcode existing jpegs to while still having to keep the originals if you care about generation loss.
|
|
2021-08-24 07:23:36
|
It's also the first codec that can actually replace png.
|
|
2021-08-24 07:24:45
|
WebP cannot because it can only do 8-bit. FLIF cannot because it is inherently slow. JXL can do everything PNG can do (and a lot more).
|
|
|
fab
|
2021-08-25 07:16:07
|
https://github.com/deckerst/aves/issues/56
|
|
|
_wb_
|
2021-08-25 09:24:57
|
I don't think image viewer apps should necessarily rely on Android doing the decode — maybe they do, but it's probably not a good idea.
|
|
2021-08-25 09:25:46
|
Reason is that it will take many years before you can assume that all Android devices will have support for modern codecs like avif and jxl
|
|
2021-08-25 09:25:53
|
(at the Android system level I mean)
|
|
2021-08-25 09:31:11
|
|
|
2021-08-25 09:31:38
|
avif support is planned for Android 12, jxl support is not even planned yet
|
|
2021-08-25 09:32:14
|
if you rely on android system doing the decode, even webp isn't really supported on all android devices out there yet
|
|
2021-08-25 09:36:31
|
Lossy webp was added in Android 4.0, lossless and alpha was added in Android 4.3
|
|
2021-08-25 09:37:01
|
animated webp is afaik not supported at the android system level yet, it will show the first frame only
|
|
2021-08-25 09:37:03
|
afaik
|
|
2021-08-25 09:39:35
|
The point is: suppose avif support does indeed get added in Android 12, and suppose optimistically that jxl gets added in Android 13. When do you expect that a viewer app that just relies on Android system decoding can claim it supports these formats, knowing that there's such a long tail of devices running old Android versions?
|
|
2021-08-25 09:46:48
|
WebP was 'finalized' in 2012 (the first webp was from 2010 but that was lossy still only)
|
|
2021-08-25 09:47:35
|
WebP support was added to Android immediately
|
|
2021-08-25 09:48:31
|
Yet today there are still 1% or so of Android devices that do not (propertly) support WebP
|
|
2021-08-25 09:48:56
|
which on 3 billion Android devices would be about 30 million devices
|
|
|
Petr
|
2021-08-25 10:17:57
|
In this context it might be interesting to mention that Fairphone 3 (which I also carry in my pocket) has at least 5 major Android updates guaranteed, so keeping this device for a long time shouldn't be a stop sign for modern formats.
|
|
|
_wb_
|
2021-08-25 10:35:58
|
that's nice but I think it's pretty exceptional
|
|
2021-08-25 10:37:05
|
unfortunately, the situation in android is similar to that of windows: apps basically have to package their dependencies too, they cannot really depend on system-level libraries
|
|
|
spider-mario
|
2021-08-25 11:13:28
|
my Sony XZ2 Compact stopped receiving even security updates, not two years after I bought it 🙄
|
|
2021-08-25 11:14:21
|
https://www.aosmark.com/ has the track record for various manufacturers
|
|
|
nathanielcwm
|
|
Petr
In this context it might be interesting to mention that Fairphone 3 (which I also carry in my pocket) has at least 5 major Android updates guaranteed, so keeping this device for a long time shouldn't be a stop sign for modern formats.
|
|
2021-08-25 11:47:32
|
most are not like that <:kekw:808717074305122316>
|
|
2021-08-25 11:48:56
|
samsung generally only does 2 on their flagship s and note series
and less on the cheap phones
|
|
2021-08-25 11:49:07
|
but i heard that their newer phones are expected to get 3 now
|
|
|
Petr
|
|
nathanielcwm
most are not like that <:kekw:808717074305122316>
|
|
2021-08-25 11:51:33
|
I know. But it's getting better. EU has big plans with repairability of devices. And in France it was already launched.
|
|
|
nathanielcwm
|
|
spider-mario
https://www.aosmark.com/ has the track record for various manufacturers
|
|
2021-08-25 11:56:02
|
is the data / source code publically viewable?
on some older devices the data is a bit messy
|
|
|
spider-mario
|
|
nathanielcwm
but i heard that their newer phones are expected to get 3 now
|
|
2021-08-25 01:27:24
|
oh, yes, they recently committed to four years of security updates and three android versions for some models
https://security.samsungmobile.com/workScope.smsb
> And select devices launched in 2019 or later will be supported with firmware security updates for a minimum of four (4) years following their global launch.¹
https://news.samsung.com/global/samsung-raises-the-bar-for-mobile-experience-innovation-committing-to-three-generations-of-android-os-upgrades
> Samsung Electronics reinforced its commitment to offering the best mobile experiences possible for Galaxy users by supporting for three generations of Android operating system (OS) upgrades on millions of Galaxy devices1.
|
|
|
improver
|
2021-08-28 12:35:11
|
wow finally jxl in geeqie works
|
|
2021-08-28 12:36:22
|
actually could be because of my recent PRs because I don't see anything else what could've made it work from earlier commits
|
|
2021-08-28 12:36:42
|
feels comfy
|
|
2021-08-28 12:40:29
|
or.. oh they integrated it into git version and i was using that
|
|
2021-08-28 12:41:43
|
https://github.com/BestImageViewer/geeqie/blob/master/src/image_load_jpegxl.c
|
|
|
|
veluca
|
2021-09-01 08:33:09
|
after https://github.com/libjxl/libjxl/pull/529 goes in, eog should support animated JXL 🙂
|
|
|
Eugene Vert
|
2021-09-02 04:29:40
|
Animated jxl images seems to work in _qimgv_ after this https://github.com/easymodo/qimgv/pull/327 w/ qt plugin
|
|
|
fab
|
2021-09-02 05:21:35
|
kiwi browser has jxl
but no adblock
|
|
2021-09-02 05:22:03
|
|
|
|
eddie.zato
|
|
Eugene Vert
Animated jxl images seems to work in _qimgv_ after this https://github.com/easymodo/qimgv/pull/327 w/ qt plugin
|
|
2021-09-03 04:14:24
|
Hmm, I built the latest `libjxl`, `qimgv` and `qt-jpegxl-image-plugin` with `msys2/mingw64` for win. Animated jxl doesn't work.
|
|
2021-09-03 04:14:28
|
But it works with `QuickViewer`, even though the animation is slowed down.
|
|
|
Eugene Vert
|
|
eddie.zato
Hmm, I built the latest `libjxl`, `qimgv` and `qt-jpegxl-image-plugin` with `msys2/mingw64` for win. Animated jxl doesn't work.
|
|
2021-09-03 09:47:42
|
Couldn't get it to work either with `mingw64`, it seems to be because of a mime-type mismatch 🥲
But luckily easymodo somehow managed to make it work https://github.com/easymodo/qimgv/pull/328#issuecomment-912741012
|
|
2021-09-03 10:10:25
|
Yep, just copy `mingw64/share/mime` folder into folder with `qimgv.exe`
|
|
|
eddie.zato
|
2021-09-04 03:01:04
|
Hehe, boi! It works. But slightly slower than the same animated webp/gif.
|
|
|
Jyrki Alakuijala
|
2021-09-07 09:47:36
|
https://opensource.googleblog.com/2021/09/using-saliency-in-progressive-jpeg-xl-images.html
|
|
|
_wb_
|
2021-09-09 10:02:56
|
I dunno what a good criterion is there, but I'd say there is "OS-level support" if in a default install, it's supported out of the box (you can just click on a jxl and it gets shown). It would be useful to also list distros that have the package in their main/stable repo, so you can install it easily.
|
|
|
fab
|
2021-09-09 03:38:51
|
what is the support for jxl in windows 11?
|
|
2021-09-09 03:39:08
|
i think it's not waiting another year only for jxl
|
|
2021-09-09 03:39:34
|
and i should not install any plugins
|
|
2021-09-09 03:39:43
|
windows 11 is easy to break
|
|
2021-09-09 03:40:10
|
also i read photos app when you cut the photo it saves as jpg
|
|
2021-09-09 03:40:16
|
is really true
|
|
|
_wb_
|
2021-09-09 03:46:34
|
I have no idea if and how Microsoft and Apple can be encouraged to add jxl support to their OS
|
|
|
fab
|
2021-09-09 03:49:24
|
the problem is at least first year of having computer i don't want to bork install external plugins
|
|
2021-09-09 03:49:52
|
i can wait another year until october 2022 and i prefer that
|
|
2021-09-09 03:49:55
|
is worth it
|
|
2021-09-09 03:50:03
|
do you think microsoft is trustworthy
|
|
2021-09-09 03:50:12
|
or me as client i should trust microsoft
|
|
2021-09-09 03:50:38
|
but is useless
|
|
2021-09-09 03:50:45
|
at least i can format
|
|
2021-09-09 03:50:54
|
or do backup
|
|
|
_wb_
|
2021-09-09 03:51:34
|
I haven't used Microsoft Windows since I stopped using Windows NT 4.0 in 1998
|
|
|
BlueSwordM
|
|
fab
what is the support for jxl in windows 11?
|
|
2021-09-09 04:04:41
|
Well, nobody seems to have asked, so it doesn't seem like there's any demand...
|
|
|
Fraetor
|
2021-09-09 05:56:50
|
I assume it is just as supported as in Windows 10.
|
|
|
Traneptora
|
2021-09-10 10:46:20
|
I spoke with the FFmpeg team and they'd be happy to accept a wrapper for libjxl in libavformat/libavcodec
|
|
2021-09-10 10:46:53
|
It's not there because it's in "patches welcome" territory
|
|
2021-09-10 10:47:27
|
I might be able to throw one together this weekend
|
|
2021-09-10 10:48:29
|
I mentioned added jpegxl support via libjxl and they suggested I write my own decoder according to the spec, since they like having internal decoders in libavcodec, but it's really outside the scope of my skill level
|
|
2021-09-10 10:48:58
|
but since an internal decoder could be added later and coexist with the libjxl one there's no issue
|
|
|
Scope
|
2021-09-10 11:11:25
|
It could be something like WebP support, although if JXL is planned as a very long term format, it might be nice to have its own internal ffmpeg codec implementation in the future (although this cannot be prioritized in any way if there is no interest from people who can do such a thing)
|
|
|
|
veluca
|
|
Traneptora
I mentioned added jpegxl support via libjxl and they suggested I write my own decoder according to the spec, since they like having internal decoders in libavcodec, but it's really outside the scope of my skill level
|
|
2021-09-10 11:11:48
|
yeah that might take a while 😛
|
|
|
Traneptora
|
2021-09-10 11:24:17
|
well
|
|
2021-09-10 11:24:27
|
I mentioned that it was outside the scope of my skills
|
|
2021-09-10 11:24:43
|
and I was told "it's a good exercise but you can always do it later."
|
|
2021-09-10 11:25:07
|
and was pointed to libopenjpeg2000, which has both an encoder/decoder, next to their internal openjpeg2000 decoder added later
|
|
|
|
veluca
|
2021-09-10 11:53:26
|
makes sense
|
|
2021-09-10 11:53:52
|
I doubt a single person can write a JXL decoder in less than a year, except perhaps if already very familiar with the codebase
|
|
|
improver
|
2021-09-10 12:11:50
|
i doubt that it's that hard, but making it performant may take additional time. not that i would want to test that
|
|
2021-09-10 12:12:48
|
was actually thinking making one in golang but my regular job eats too much time for me to attempt that
|
|
2021-09-10 12:15:31
|
now this is based
|
|
|
lithium
|
2021-09-10 12:23:31
|
oh no, for now I think cjxl d 1 e7 still not enough reach transparency quality for anime content...
|
|
|
improver
|
2021-09-10 12:25:28
|
that's for scans
|
|
|
Scope
|
2021-09-10 12:26:20
|
Yep, not always enough to be visually lossless, but I think if the choice is between Jpeg and JXL, that would also be better
|
|
|
improver
|
2021-09-10 12:26:56
|
i mean in case of scans what you're getting aint lossless either way
|
|
|
Scope
|
2021-09-10 12:29:13
|
But still, after some cleaning it would compress quite well in lossless and also any lossy compression will add more losses and artifacts
|
|
|
improver
|
2021-09-10 12:30:07
|
uhh you're not supposed to do cleaning on scans, that usually ends up kinda ugly
|
|
|
Scope
|
2021-09-10 12:34:02
|
If it is done correctly and if the content is suitable, it is possible to achieve good results very close to what it would have been in the digital format as it originally was, still some digital publications and even animations are drawn by hand and then converted to digital format (but yes, that still doesn't mean there can be poor quality scans)
|
|
|
lithium
|
2021-09-10 12:57:48
|
I think jxl vardct really need separate option for non-photo content,
for now I can find specific image have some surprise,
but I believe jxl can make better.
avif also a strong encoder, I understand avif have some detail,grain issue,
but av1 have local palette, this feature can handle some non-DCT situation.
|
|
|
_wb_
|
2021-09-10 01:04:54
|
jxl has more powerful palette options than av1, but (partially because it is more powerful) we don't have an encoder yet that actually explores such options
|
|
2021-09-10 01:06:15
|
in av1 it's just a per-block decision to use palette mode or not, and the encoder is trying different block types anyway so it's just one more to try, maybe with a few options in how many palette colors to use (but the spec only allows 8 shades of each channel, so there's not a lot to try there)
|
|
2021-09-10 01:08:36
|
in jxl we have a much more expressive modular mode and modular-encoded patches can be applied to any location (doesn't have to coincide with blocks), but atm we're only using it in very specific cases (solid background in the neighborhood and the patch has at least 2 occurrences)
|
|
|
doncanjas
|
2021-09-11 12:49:12
|
is it going to have a way to only add cli options? I'd personally prefer it that way
|
|
2021-09-11 12:52:55
|
I mean, having a way to only add commands in a text box instead of choosing the options in the gui
|
|
|
_wb_
|
2021-09-11 06:14:29
|
Would it make sense to define a syntax for encode parameter setting and have an API function to set params that way?
|
|