|
|
paperboyo
|
|
_wb_
It's a nicer solution than the previous `Content-DPR` http response header approach.
|
|
2021-10-26 07:32:52
|
Thx. I need to get my head around its implications, then, properly. And possibilities maybe too. Because, for now, I’m much more worried by the former than excited about the latter.
|
|
|
_wb_
|
2021-10-26 07:34:02
|
what implications are you worried about?
|
|
2021-10-26 07:34:31
|
there's no in-the-wild pre-existing Exif that will accidentally trigger this, if that's what you're wondering about
|
|
2021-10-26 07:36:51
|
it's basically just a way to pass the Content-DPR information with image-embedded metadata instead of having to use an external http response header for it, which relies on servers knowing what the supposed dpr is, or having to use html markup (srcset 2x etc), which adds markup bloat and puts the burden on whoever or whatever is producing the html
|
|
2021-10-26 07:37:15
|
plus it makes non-integer or non-square scaling factors possible
|
|
|
|
paperboyo
|
2021-10-26 08:00:12
|
> there's no in-the-wild pre-existing Exif
These all look like standard Exif fields to me, no? Most images I deal with have them all set (to some ancient, silly defaults, when it comes to “resolution”)
> accidentally trigger this
Luckily, images I deal with are sized explicitly by HTML/CSS. I hope! But the fact that their size will be now unpredictable when used “soute” is scary.
> having to use html markup (srcset 2x etc)), which adds markup bloat
That’s what we do now. Indeed, Picture element syntax is very verbose and the promise of less bytes there sounds cool.
> puts the burden on whoever or whatever is producing the html
Yep, but at least it’s there for everyone to see in plain sight. As opposed to reusing metadata that’s everywhere, but I bet 99% of tools don’t care about keeping it, let alone keeping it in sync with image operations. And Firefox won’t display this metadata for me even in its fancy Page Info>Media thingie.
I just cropped a larger image to 40×40 pixels in latest ImageMagick. Exif was obviously left as-is from the original. OK, did the same in latest Photoshop and was pleasantly surprised it adjusted the values. But surprised I was.
I need someone cleverer than me to explain that to me. If we would like to indeed use Exif to cut on the Picture element size (the **only** possible benefit I can imagine): would the responsibility of writing correct metadata be on our tools (good luck with that!), on image resizing CDN (again, good luck… also how to pass what we want?). And the spectre of having to rewrite metadata, or, worse, create a new set of copies with new metadata if we would want to change our dpr density steps in the future sounds…
|
|
2021-10-26 08:00:47
|
Again, as I said, there must be something fundamental I’m missing. I would vote it would be this
> there's no in-the-wild pre-existing Exif that will accidentally trigger this
|
|
|
The_Decryptor
|
2021-10-26 08:08:54
|
The metadata has to match exactly, e.g. if the Exif metadata says the image is 500x500 and the raw image dimensions are 1000x1000, then the Exif density has to be 144dpi exactly (Since the default is 72dpi, giving a 2x downscale factor)
|
|
2021-10-26 08:09:21
|
If it's off by even a pixel the behaviour doesn't kick in, and you get the "preexisting" sizing behaviour where the Exif values are ignored entirely
|
|
|
improver
|
2021-10-26 08:10:24
|
tbh sounds annoying
|
|
2021-10-26 08:10:56
|
but maybe easier to support server side than including extra header in response
|
|
2021-10-26 08:14:09
|
but eh. needs extra vary header either way
|
|
2021-10-26 08:14:20
|
sounds like worse than it was before ngl
|
|
|
|
paperboyo
|
|
The_Decryptor
The metadata has to match exactly, e.g. if the Exif metadata says the image is 500x500 and the raw image dimensions are 1000x1000, then the Exif density has to be 144dpi exactly (Since the default is 72dpi, giving a 2x downscale factor)
|
|
2021-10-26 08:29:41
|
> The metadata has to match exactly, e.g. if the Exif metadata says the image is 500x500 and the raw image dimensions are 1000x1000, then the Exif density has to be 144dpi exactly
Ah! That was the missing bit in my head! Thank you, The_Decryptor!
This is a worse case of Silicon Valley optimism than I though, then! Not only it requires rewriting all the tooling to deal, write, reconcile and display all this metadata (so that one knows WTF just happened). But also to do it incorrectly and against the spec. Hahahahaha. No way…
|
|
|
The_Decryptor
|
2021-10-26 08:38:42
|
It shows intent though, you're not going to set those values correctly by accident (At least, it's very unlikely), and the failure case is just how browsers handled the images previously anyway
|
|
2021-10-26 08:39:18
|
It's a mess, but it's a backwards compatible mess, and if you're doing it from scratch then you'd just do it the way JXL has done it
|
|
|
_wb_
|
2021-10-30 06:56:25
|
https://www.quora.com/Will-JPEG-XL-lossless-make-DNG-obsolete
|
|
|
Fraetor
|
2021-10-31 01:10:38
|
> "Secondly, DNG also contains essential colour matrices for correct colour rendition. The RAW image data mentioned are typically in camera colour space, there will be several conversions to make the image rendered in target colour space, e.g., sRGB or aRGB."
Is this just the ICC profile, or is it something else, like the camera's response curve?
|
|
|
w
|
2021-10-31 01:11:13
|
which can be mapped in an icc profile
|
|
2021-10-31 01:12:19
|
actually, can't any format be arbitrarily implemented into jpeg xl like extensions using metadata/extra channels?
|
|
|
Fraetor
|
2021-10-31 01:14:23
|
Pretty much anything I would imagine. Can you do the bayered layer? That seems the most unique bit of RAW formats. You would have to have extra space between the different pixels, or would you just leave the pixels without a sensor in that channel with a value of zero or something?
|
|
|
_wb_
|
2021-10-31 06:44:01
|
We have kCFA extrachannels for that. Just need to have some convention on how to represent what the exact layout of the bayer data is...
|
|
|
spider-mario
|
|
Fraetor
> "Secondly, DNG also contains essential colour matrices for correct colour rendition. The RAW image data mentioned are typically in camera colour space, there will be several conversions to make the image rendered in target colour space, e.g., sRGB or aRGB."
Is this just the ICC profile, or is it something else, like the camera's response curve?
|
|
2021-10-31 03:49:47
|
it’s more complicated, see https://doi.org/10.1117/1.OE.59.11.110801 for more on this
|
|
|
diskorduser
|
|
Fraetor
> "Secondly, DNG also contains essential colour matrices for correct colour rendition. The RAW image data mentioned are typically in camera colour space, there will be several conversions to make the image rendered in target colour space, e.g., sRGB or aRGB."
Is this just the ICC profile, or is it something else, like the camera's response curve?
|
|
2021-10-31 05:28:32
|
https://www.odelama.com/photo/Developing-a-RAW-Photo-by-hand/
|
|
|
Fraetor
|
2021-10-31 05:47:23
|
Thanks, I'll have a read over these.
|
|
|
diskorduser
https://www.odelama.com/photo/Developing-a-RAW-Photo-by-hand/
|
|
2021-10-31 07:29:41
|
Thanks. That was a really interesting read.
|
|
|
_wb_
|
2021-10-31 07:49:22
|
I wonder why sensors generally use Bayer patterns but displays generally don't. Capture and display is pretty much symmetric, no? I mean in what is theoretically the best subpixel layout assuming that you use some kind of filter (a single area can only capture/emit one kind of colored light)
|
|
|
improver
|
2021-10-31 07:56:17
|
>Capture and display is pretty much symmetric, no?
no. certainly not in a ways currently implemented
|
|
|
_wb_
|
2021-10-31 08:20:03
|
I don't mean how it is done (of course a sensor is not a display), but in both cases you have a 2D plane that you can divide in subpixels of various shapes and colors (typically just RGB but in principle you could add other color filters, and some sensors and displays do that)
|
|
2021-10-31 08:21:55
|
I wonder why in sensors RGBG is very common (though of course there are all kinds of variants) while in displays RGB is very common (though there are some exceptions)
|
|
|
Fraetor
|
2021-10-31 08:22:47
|
Is it because green is perceptually brighter?
|
|
2021-10-31 08:23:10
|
So you need to capture more, but the eye/human perception does the adjustment on display?
|
|
|
spider-mario
|
|
_wb_
I wonder why in sensors RGBG is very common (though of course there are all kinds of variants) while in displays RGB is very common (though there are some exceptions)
|
|
2021-10-31 08:23:31
|
the SPIE link seems to have at least a partial answer for the sensor side of things:
> The Bayer CFA uses twice as many green filters as red and blue, which means that two values G1 and G2 associated with different positions in each Bayer block will be obtained in general. This is beneficial in terms of overall signal-to noise ratio since photosites belonging to the green mosaics are more efficient in terms of photoconversion. Furthermore, the Bayer pattern is optimal in terms of reducing aliasing artifacts when three types of filters are arranged on a square grid.¹⁴
|
|
|
_wb_
|
2021-10-31 08:25:09
|
G contributes most to luma, so a Bayer pattern is kind of similar to chroma subsampling
|
|
2021-10-31 08:27:10
|
(why don't they do White instead of G? Should work too, no?)
|
|
|
Fraetor
|
2021-10-31 08:28:21
|
It might be hard to make a photoreceptor that has an even response to a large spectral range.
|
|
|
spider-mario
|
2021-10-31 08:28:44
|
I think it might have to do with:
> For example, better signal-to-noise performance is achieved by reducing the overlap of the response functions, which corresponds to a characterization matrix with smaller off-diagonal elements. [10–12]
|
|
2021-10-31 08:29:33
|
but not sure
|
|
|
Fraetor
|
|
Fraetor
It might be hard to make a photoreceptor that has an even response to a large spectral range.
|
|
2021-10-31 08:30:26
|
> "since photosites belonging to the green mosaics are more efficient in terms of photoconversion"
This seems to suggest that green is easier to collect with photoreceptors.
|
|
|
spider-mario
|
2021-10-31 08:31:45
|
https://doi.org/10.1117/3.725073 might have a word or two about this, let me check
|
|
2021-10-31 08:33:07
|
|
|
|
Fraetor
|
2021-10-31 08:35:54
|
So for the visible part there it looks light green would be well received, though it seems mostly flat.
|
|
2021-10-31 08:36:11
|
You might struggle a bit with the longest wavelengths of red though.
|
|
|
_wb_
|
2021-10-31 08:47:58
|
G is captured well by both L and M cones
|
|
|
Cool Doggo
|
|
_wb_
(why don't they do White instead of G? Should work too, no?)
|
|
2021-10-31 08:57:39
|
i thought some do RGBW?
|
|
|
_wb_
|
2021-10-31 09:22:16
|
Yes or RGBM or RGBE (where E is C)
|
|
|
Traneptora
|
2021-11-02 11:57:52
|
I just sent and updated patch to the ML for ffmpeg
|
|
2021-11-02 11:57:57
|
I'm hoping it gets merged today or tomorrow
|
|
2021-11-02 11:58:03
|
after that it'll be time to write the encoder wrapper
|
|
|
_wb_
|
2021-11-02 10:49:08
|
Cool!
|
|
2021-11-02 10:49:19
|
Got merged I heard?
|
|
|
BlueSwordM
|
|
_wb_
Got merged I heard?
|
|
2021-11-02 10:57:42
|
No, it has not been merged yet:
https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog
|
|
|
_wb_
|
2021-11-02 11:43:33
|
Oh, well I hope it will happen soon then
|
|
|
Scope
|
2021-11-03 06:11:49
|
Also, is something broken in the JXL patches for Firefox?
<https://phabricator.services.mozilla.com/D122158>
<https://phabricator.services.mozilla.com/D122159>
|
|
|
w
|
2021-11-03 07:39:51
|
i did a rebase and fixed something but im not sure how updating it works. the patch should still work
|
|
|
Traneptora
|
|
_wb_
Got merged I heard?
|
|
2021-11-04 09:41:03
|
nope, it's been sitting in the ML for a day now
|
|
2021-11-04 09:41:23
|
no comments
|
|
2021-11-04 09:43:10
|
https://www.mail-archive.com/ffmpeg-devel@ffmpeg.org/msg127081.html
https://www.mail-archive.com/ffmpeg-devel@ffmpeg.org/msg127082.html
|
|
2021-11-04 09:43:23
|
Oh, I'm a dev now? Nice
|
|
2021-11-04 09:44:29
|
I did typo the commit message but that can be fixed when it's committed
|
|
2021-11-04 09:44:42
|
since whoever applies it can simply do a git rebase -i and then rename it before they push
|
|
2021-11-04 09:44:54
|
so I won't need to send an updated patch for that
|
|
|
fab
|
2021-11-09 02:01:13
|
jpeg xl is not supported in android fo example in those apps
|
|
2021-11-09 02:01:14
|
https://mauikit.org/blog/maui-2-1-0-release/
|
|
2021-11-09 02:01:37
|
i tied index it has no jxl and avif suppot
|
|
2021-11-09 02:01:50
|
not as advetised
|
|
2021-11-09 02:02:14
|
pix said it should be on 2.1.1
|
|
2021-11-09 02:02:39
|
it has very basic functionality
|
|
2021-11-09 02:03:00
|
you can't hide you explicit folde
|
|
2021-11-09 02:35:31
|
so how i use those apps
|
|
2021-11-09 02:35:49
|
who is this maiu
|
|
2021-11-09 02:36:21
|
is a person, and english person
|
|
2021-11-09 02:37:32
|
or is just some things they do on linux, ex, a set of software ported to android or a framework that uses a similar interface and code.
|
|
2021-11-09 02:38:04
|
i installed those apps but they didn't look user friendly to me
|
|
|
_wb_
|
2021-11-11 04:01:30
|
Nice! https://github.com/libjxl/libjxl/pull/836#issuecomment-966419483
|
|
|
BlueSwordM
|
|
_wb_
Nice! https://github.com/libjxl/libjxl/pull/836#issuecomment-966419483
|
|
2021-11-11 04:13:46
|
HOLY MOLY that is one heck of a speedup for these functions.
|
|
|
Fox Wizard
|
2021-11-11 04:16:17
|
<a:FurretSpeed:832307660035850310>
|
|
|
_wb_
|
2021-11-11 04:29:51
|
Well doing things with int16 vs float32 makes quite a difference, in particular on ARM. The instructions are faster, the simd width doubles, the memory/cache halves, ...
|
|
|
|
veluca
|
2021-11-11 06:30:16
|
yeah the problem is precision with larger DCTs
|
|
2021-11-11 06:30:27
|
I think to begin with I'll only figure it out for up to 32x32
|
|
|
_wb_
|
2021-11-11 07:48:51
|
Tbh I think limiting things to 32x32 is not a very big limitation - usually those big blocks can only really be used for smooth areas anyway, and in that case likely the LF coeffs are enough, and those LF coeffs would be identically encoded regardless of whether it is done as multiple 32x32 blocks or a single 64x64 or other bigger block.
|
|
2021-11-11 07:50:09
|
(there are cases where big blocks can be useful for areas with more HF activity, but I think that's relatively rare in practice)
|
|
|
|
veluca
|
2021-11-11 08:16:00
|
well interpolation would be different
|
|
|
_wb_
|
2021-11-11 08:50:19
|
True - but if the original is basically just a simple gradient, then either way the LF coeffs alone will be more than enough info
|
|
|
190n
|
2021-11-15 09:11:11
|
any gallery/file manager on android (not firefox nightly or chrome) yet with jxl support?
|
|
|
Traneptora
|
2021-11-15 01:09:42
|
I'm not aware of it, yet
|
|
|
Scope
|
2021-11-16 10:56:01
|
<:Thonk:805904896879493180>
<https://encode.su/threads/3397-JPEG-XL-vs-AVIF?p=71536&viewfull=1#post71536>
|
|
|
Fraetor
|
2021-11-16 11:48:31
|
This got me interested so I ran some tests.
|
|
2021-11-16 11:49:43
|
So as long as you use falcon you can beat imagemagik's speed whilest getting significantly smaller files.
|
|
2021-11-16 11:50:15
|
But if you care about CPU time rather than real time you do have to drop to thunder.
|
|
2021-11-16 11:50:35
|
Still much smaller than png.
|
|
2021-11-16 11:56:16
|
Also seems to mostly hold for much smaller images, though you might need to go for thunder to definitely beat it.
|
|
2021-11-16 12:00:18
|
That said, I'm sure you could get both going much faster if you really tried.
|
|
|
_wb_
|
2021-11-16 12:39:57
|
the above example reminds me that we should make compressed exif/xmp work and do it by default
|
|
2021-11-16 12:41:23
|
(which will make encoding a bit slower, but those 10 KB of metadata probably compress to 1 KB or so)
|
|
2021-11-16 12:46:03
|
we can in principle make a faster than lightning lossless encoder too, that might still get close to PNG in compression density. But it would take quite some coding effort; atm our encoder expects input as float channels (would have to make it take int input directly, to avoid the unnecessary `* (1.f/255.f) * 255.f` conversions), and atm it buffers all tokens, computes histograms per ctx, and then writes all tokens. For better speed, it could use a fixed prefix coding per context and just start writing tokens directly (but that's code that still has to be written).
|
|
|
|
sebseb
|
|
Traneptora
nope, it's been sitting in the ML for a day now
|
|
2021-11-16 07:28:22
|
from https://github.com/thebombzen/FFmpeg
--enable-libjxl enable JPEG XL de/encoding via libjxl [no]
|
|
2021-11-16 07:28:52
|
i hope soon ...
|
|
|
Traneptora
|
2021-11-18 11:35:06
|
It's got some more work to do, unfortunately
|
|
|
Petr
|
2021-11-19 08:00:40
|
There have been some news in WebKit enhancement: https://bugs.webkit.org/show_bug.cgi?id=208235 👍
|
|
|
_wb_
|
2021-11-19 09:04:38
|
I tried to answer the question. The answer is probably going to be hard to understand though for someone who "never really understood what color management is tbh", but maybe it'll help.
|
|
2021-11-19 09:10:01
|
> I was skeptical about a new image format, but the fact that Firefox and Chrome both implemented it as an experimental feature seems reason enough for WebKit to do the same. At least it seems clearly more popular than JPEG 2000.
heh
|
|
2021-11-19 09:10:20
|
milestone reached: "clearly more popular than JPEG 2000" 😜
|
|
2021-11-19 09:15:12
|
looks like that initial webkit integration is just ignoring color management completely, just getting an uint8 buffer and passing it on without getting the icc profile
|
|
|
improver
|
2021-11-19 03:04:00
|
they don't really have color mgmt worked out for non-apple stuff it seems
|
|
|
_wb_
|
2021-11-19 04:17:37
|
the world has been "meh, everything is sRGB anyway" for too long, I guess...
|
|
|
|
Hello71
|
2021-11-19 10:02:17
|
otoh i think apple is the only vendor to attach icc profile to screenshots. could be a privacy issue though?
|
|
|
_wb_
|
2021-11-19 10:59:47
|
Apple has at least P3 screens in all of their products afaik, so they kind of have to put a profile in it, otherwise it would be interpreted as sRGB.
|
|
|
|
Hello71
|
2021-11-19 11:26:09
|
mmhmm
|
|
|
KAGAMI
|
|
_wb_
> I was skeptical about a new image format, but the fact that Firefox and Chrome both implemented it as an experimental feature seems reason enough for WebKit to do the same. At least it seems clearly more popular than JPEG 2000.
heh
|
|
2021-11-19 11:37:23
|
Is that conversation public? 👀
|
|
|
improver
|
2021-11-20 12:01:08
|
its from link from post above that message
|
|
|
monad
|
|
KAGAMI
Is that conversation public? 👀
|
|
2021-11-20 05:50:15
|
<https://bugs.webkit.org/show_bug.cgi?id=233113#c15>
|
|
|
|
CSMR
|
2021-12-07 07:52:09
|
What is needed to get JPEG XL in Photoshop? Is the org communicating with Adobe?
|
|
|
_wb_
|
2021-12-07 07:56:12
|
Leonard from Adobe has told me that it's on the roadmap for Photoshop, but I don't have a timeline - I expect they at least want the ISO standard published first
|
|
2021-12-08 06:10:03
|
Feel free to make a pull request for jpegxl.info 🙂
|
|
2021-12-08 11:09:21
|
https://forest.watch.impress.co.jp/docs/news/1372376.html
|
|
|
improver
|
2021-12-14 02:38:44
|
kimageformats with jxl support landed on archlinux repo
|
|
2021-12-14 02:47:45
|
not sure whether it works as dolphin simply refuses to show .jxl thumbnails for me but eh
|
|
|
fab
|
|
improver
kimageformats with jxl support landed on archlinux repo
|
|
2021-12-14 03:11:13
|
KDE?
|
|
|
diskorduser
|
|
improver
not sure whether it works as dolphin simply refuses to show .jxl thumbnails for me but eh
|
|
2021-12-14 06:01:58
|
Thumbnails are working for me. But I've compiled the package manually.
|
|
|
novomesk
|
|
improver
not sure whether it works as dolphin simply refuses to show .jxl thumbnails for me but eh
|
|
2021-12-14 09:46:55
|
For thumbnails in dolphin you need to edit /usr/share/kservices5/imagethumbnail.desktop
Add image/jxl; to the list.
|
|
|
improver
|
2021-12-14 09:56:24
|
I've added that already. Also shouldn't this be upstreamed considering plugin supposedly is
|
|
2021-12-14 09:57:49
|
Also it seems some files conflict with `qt5-jpegxl-image-plugin-git` package so I have that uninstalled. Was thinking that it being in kimageformats should've already made things work
|
|
|
novomesk
|
2021-12-14 10:48:26
|
The imagethumbnail.desktop was updated, it has image/* now.
But it belongs to kio-extras package which different release schedule.
|
|
2021-12-15 07:27:50
|
I think it will be in 22.04
|
|
|
improver
|
2021-12-17 04:47:31
|
no idea tbh. i know too little of insides of whatever is in kimageformats atm to tell whether it fully replaces qt5-avif-image-plugin or not
|
|
|
novomesk
|
|
improver
no idea tbh. i know too little of insides of whatever is in kimageformats atm to tell whether it fully replaces qt5-avif-image-plugin or not
|
|
2021-12-17 07:19:28
|
The plug-in in kimageformats is almost identical. The AUR package of qt5-jpegxl-image-plugin have one extra thing - it installs .desktop file for thumbnailner. Next year, after release of kio-extras, it won't be needed.
|
|
|
_wb_
|
2021-12-28 05:33:23
|
https://github.com/mozilla/standards-positions/issues/522#issuecomment-1001521329
|
|
2021-12-28 05:33:50
|
> also support JPEG XL in firefox already ffs
|
|
2021-12-28 05:33:54
|
haha
|
|
|
BlueSwordM
|
|
_wb_
https://github.com/mozilla/standards-positions/issues/522#issuecomment-1001521329
|
|
2021-12-28 06:10:52
|
`it's more of a bug than a feature, it works with SOME avif images in their software (including edge) adding anything that isn't in the video codec (like alpha channels or animated AVIF) breaks it.`
|
|
2021-12-28 06:10:57
|
`animated AVIF`
|
|
2021-12-28 06:11:06
|
Why would video AVIF break it? It's just normal AV1.
|
|
|
_wb_
|
2021-12-28 06:16:24
|
Maybe multiple av1 bitstreams doesn't work? IIRC that was the original idea in avif: intra-only, separate payloads per frame
|
|
|
gnat
|
2021-12-30 12:43:37
|
Gonna go all in on jxl the moment ff and chrome have it on by default, and just let the other browsers catch up.
|
|
|
Nova Aurora
|
|
gnat
Gonna go all in on jxl the moment ff and chrome have it on by default, and just let the other browsers catch up.
|
|
2021-12-30 07:30:56
|
What other browsers <:kekw:808717074305122316>
|
|
|
190n
|
2021-12-30 07:32:26
|
safari <:kekw:808717074305122316>
|
|
|
nathanielcwm
|
2021-12-30 08:27:33
|
internet explorer <:kekw:808717074305122316>
|
|
|
_wb_
|
2021-12-30 08:35:33
|
There are only three contemporary browsers: chrome, safari and firefox
|
|
|
Nova Aurora
|
2021-12-30 08:38:35
|
Yeah everything else is a skin over one of the three
|
|
|
The_Decryptor
|
2021-12-30 08:39:43
|
Microsoft likes to modify Chromium to keep things interesting
|
|
|
_wb_
|
2021-12-30 08:45:24
|
Chrome has 65% market share, Safari 20%, Firefox 4%, and the remaining 10% are mostly Chromium-derivatives which regarding image format support are likely to just follow Chrome.
|
|
2021-12-30 08:49:53
|
(there's also non-Safari-webkit, IE, and a long tail of exotic browsers, but these have no real influence on defining the web platform)
|
|
|
Nova Aurora
|
2021-12-30 08:50:48
|
WebKit without safari is.... GNOME Web and what else?
|
|
|
_wb_
|
2021-12-30 08:51:35
|
> WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the PS3, the Tizen mobile operating systems, and a browser included with the Amazon Kindle e-book reader.
|
|
|
Nova Aurora
|
2021-12-30 08:52:17
|
IOS browsers I guess but those are more 'safari skin' than independent codebase with independent codecs
|
|
|
_wb_
|
2021-12-30 08:53:06
|
> KDE's Rekonq web browser and Plasma Workspaces also use it as the native web rendering engine. WebKit has been adopted as the rendering engine in OmniWeb, iCab and Web (formerly named Epiphany) and Sleipnir, replacing their original rendering engines.
|
|
2021-12-30 08:53:32
|
All iOS browsers are Safari
|
|
|
190n
|
2021-12-30 08:53:47
|
there's wpe webkit which is optimized for embedded theoretically
|
|
|
_wb_
|
2021-12-30 08:55:04
|
Safari uses Apple's CoreMedia library for all image and video decoding. That means to get a new format supported in Safari, both iOS and MacOS need to be updated first to have OS-level support for it.
|
|
2021-12-30 08:58:35
|
It's an approach that slows down browser innovation, but it has the advantage that things Just Work Everywhere once they work somewhere — in big contrast to WebP which used to work in Chrome but nowhere else...
|
|
|
nathanielcwm
|
|
_wb_
> WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the PS3, the Tizen mobile operating systems, and a browser included with the Amazon Kindle e-book reader.
|
|
2021-12-30 09:01:15
|
does anyone still use a non android blackberry?
|
|
2021-12-30 09:02:25
|
|
|
2021-12-30 09:02:26
|
<:kekw:808717074305122316>
|
|
2021-12-30 09:02:46
|
Firefox vs Chrome vs Chrome vs Safari vs Chrome vs Chrome vs IE
|
|
2021-12-30 09:05:22
|
wait nvm that's ie, when did microsoft make it all blue?
|
|
2021-12-30 09:07:08
|
edge ticks all the boxes in mozillas comparison table <:kekw:808717074305122316>
|
|
|
_wb_
|
2021-12-30 09:55:58
|
Desktop+Mobile
|
|
2021-12-30 09:56:20
|
Desktop only, Safari is only 10% and everything else is more
|
|
2021-12-30 09:56:35
|
Mobile only, Safari is 26%
|
|
|
Jim
|
2022-01-01 09:39:00
|
https://twitter.com/jyzg/status/1477322811983204355
|
|
2022-01-01 09:40:09
|
So apparently Firefox devs are considering not adding any new formats and hoping AVIF will just fix their issues? 😧
|
|
|
190n
|
2022-01-01 09:51:25
|
<:Hsss:806131225278152756>
|
|
|
_wb_
|
2022-01-01 09:52:45
|
I think it's annoying that browser devs consider themselves to be the gatekeepers of what should be the image formats one should use
|
|
|
BlueSwordM
|
2022-01-01 09:53:32
|
Why is supporting JXL so difficult though? Like, there are definite advantages to supporting JXL over AVIF, the biggest one for them being the possibility of using JXL to replace the standalone libjpegturbo decoder.
|
|
|
_wb_
|
2022-01-01 09:54:11
|
On the one hand, they still support BMP even though it's 1) not as simple as it looks on first sight, and 2) it's clearly not a great codec for anything, least of all for the web
|
|
2022-01-01 09:54:39
|
On the other hand, they are very hesitant to add anything new
|
|
2022-01-01 09:59:59
|
At this point, I think the main showstopper for jxl adoption is the combination of three misconceptions:
1. There can only be one winner of the format wars.
2. AVIF can be improved (this much is true) to outperform JXL (compression-wise that is questionable, feature-wise that is false).
3. Being an AOM member (which all browser vendors are), in order to protect this important strategic alliance, everything has to be done to make AV1 successful (and by extension, AVIF), including sabotaging competing codecs.
|
|
|
190n
|
2022-01-01 10:01:06
|
why can't AOM get behind JXL? it's an _open media_ format, after all
|
|
|
_wb_
|
2022-01-01 10:01:35
|
"not developed here" syndrome, I suppose
|
|
2022-01-01 10:02:14
|
AOM was created because they were fed up with the patent bullshit
|
|
2022-01-01 10:02:57
|
... which they associate with MPEG, and I suppose ISO in general
|
|
|
gnat
|
2022-01-01 10:03:41
|
alleged AVIF dev who doesn't think the lossless performance is something they should address, and agrees that JXL is superior: <https://www.reddit.com/r/AV1/comments/rkcx0o/we_need_to_rethink_avif_lossless_mode/hp96l1l>
|
|
|
_wb_
|
2022-01-01 10:03:55
|
AOM is an alliance for open media, but it's also an alliance including many hardware companies that are now heavily invested in hw av1 implementations
|
|
2022-01-01 10:04:39
|
They likely assume that if jxl gets adopted, the value of their hw will decrease
|
|
|
190n
|
|
gnat
alleged AVIF dev who doesn't think the lossless performance is something they should address, and agrees that JXL is superior: <https://www.reddit.com/r/AV1/comments/rkcx0o/we_need_to_rethink_avif_lossless_mode/hp96l1l>
|
|
2022-01-01 10:07:13
|
TIL <@!321486891079696385> is an avif dev
|
|
2022-01-01 10:07:29
|
he's everywhere :dorime:
|
|
|
|
Deleted User
|
|
190n
TIL <@!321486891079696385> is an avif dev
|
|
2022-01-01 10:09:30
|
Wait, you DIDN'T know? Wtf
|
|
2022-01-01 10:29:05
|
So this means all your work was pointless because JPEG XL will never really be used?
|
|
|
_wb_
|
2022-01-01 10:38:28
|
I hope not. But I don't think browsers will be the quick road to adoption, unless they change their minds.
|
|
|
Jim
|
2022-01-01 10:43:34
|
Just means all of us and other supporters (Facebook/Instagram, Adobe, and others) will need to put our collective weight into pushing browser devs to support it. The division means there is a decent amount of support, it will likely just take a bit more outside encouragement to get it over the finish line. *Keep it professional, though.
|
|
|
gnat
|
2022-01-01 10:43:57
|
imo, this will not be the final time this comes up. JXL is too good and this is just one persons account of what happened internally. And it seems like JXL has advocates inside Mozilla.
|
|
|
Jim
|
2022-01-01 10:44:52
|
Chrome and Firefox have support behind a flag already, so it's not like there was no movement on it. Just that it may have stalled out.
|
|
|
Fraetor
|
|
BlueSwordM
Why is supporting JXL so difficult though? Like, there are definite advantages to supporting JXL over AVIF, the biggest one for them being the possibility of using JXL to replace the standalone libjpegturbo decoder.
|
|
2022-01-02 01:10:10
|
Has there been any work towards getting libjxl to decode jpegs?
|
|
2022-01-02 01:10:50
|
I know the internal machinery exists, but is an interface being designed for it?
|
|
|
eddie.zato
|
2022-01-02 05:47:31
|
The `enable-jxl` flag in Chromium expires in version 100, which has almost come into canary. I think someone needs to extend this flag.
|
|
|
190n
|
2022-01-02 05:49:44
|
iirc it's been extended before
|
|
|
eddie.zato
|
2022-01-02 05:51:35
|
For now in the source code it looks like this:
```{
"name": "enable-jxl",
"owners": [ "deymo", "firsching", "lode" ],
"expiry_milestone": 100
}```
|
|
|
190n
|
2022-01-02 05:53:14
|
what i'm saying is that it used to be less than 100 and they extended it before reaching the version that it would've expired on. at least, that's what i remember hearing about.
|
|
|
eddie.zato
|
2022-01-02 05:57:50
|
Yeah, so it needs to be done again 😄
|
|
2022-01-02 05:57:57
|
I personally use Chromium, currently it's v99 and soon it will be 100. Don't want to lose the flag.
|
|
|
190n
|
2022-01-02 08:47:53
|
oh yeah all i meant was that there's precedent for extending it, i don't think they actually want to remove it
|
|
|
BlueSwordM
|
|
eddie.zato
The `enable-jxl` flag in Chromium expires in version 100, which has almost come into canary. I think someone needs to extend this flag.
|
|
2022-01-02 04:06:34
|
Well, let's hope they fully enable JXL with V100 🙂
|
|
2022-01-02 04:06:39
|
I think that's their goal <:kekw:808717074305122316>
|
|
|
eddie.zato
|
2022-01-03 03:10:56
|
Crossing my fingers <:CatSmile:805382488293244929>
|
|
|
|
Deleted User
|
2022-01-03 01:23:28
|
<@!532010383041363969> Do you have any good news?
|
|
|
Kagamiin~ Saphri
|
2022-01-04 12:53:41
|
Idk if it's the right channel to ask, but I can't get jxl working in Firefox 95.0.2 even after enabling the image.jxl.enabled flag
|
|
2022-01-04 12:53:59
|
My build is from Manjaro tho, could they have disabled it at compile time?
|
|
|
w
|
2022-01-04 12:54:35
|
it only works in nightly
|
|
2022-01-04 12:55:02
|
is that manjaro build specifically FF nightly? not sure how that works
|
|
|
Kagamiin~ Saphri
|
2022-01-04 01:02:16
|
It's not nightly, but the flag is still there
|
|
2022-01-04 01:02:21
|
Hmm good to know
|
|
|
Cool Doggo
i thought some do RGBW?
|
|
2022-01-04 01:23:43
|
I thought some sensors in phone cameras were RWBW, with W capturing mostly broadband luminance and R and B being used to derive chroma coefficients as well as contributing to luminance in those zones?
|
|
|
Traneptora
|
2022-01-04 01:28:28
|
there might be an AUR package for it
|
|
|
Kagamiin~ Saphri
|
|
Traneptora
there might be an AUR package for it
|
|
2022-01-04 01:28:43
|
There is, I did test that and it worked there
|
|
2022-01-04 01:30:02
|
Which is in fact what I had done.
|
|
2022-01-04 01:30:44
|
What I use daily is the Manjaro repo version of Firefox. But I did install Nightly from AUR earlier to test it out.
|
|
2022-01-04 01:31:27
|
I don't use nightly because I don't update my system as often as I should, and I find updating AUR packages too often to be a hassle.
|
|
|
w
|
2022-01-04 01:31:41
|
it's not like you have to update nightly
|
|
2022-01-04 01:31:50
|
i only update it on an average of every 2 weeks
|
|
2022-01-04 01:34:30
|
i build my own ff because video in ff isnt color managed
|
|
|
Traneptora
|
2022-01-04 01:35:35
|
if I need color managed video I just play the URL with mpv, which is not usually
|
|
|
Kagamiin~ Saphri
|
2022-01-04 01:35:39
|
I barely ever play video in Firefox at all, I use mpv
|
|
|
Traneptora
|
2022-01-04 01:36:00
|
yea, I figured, I meant, "since you're on manjaro you probably have AUR access, try that"
|
|
|
Kagamiin~ Saphri
I don't use nightly because I don't update my system as often as I should, and I find updating AUR packages too often to be a hassle.
|
|
2022-01-04 01:36:26
|
paru makes it very nice
|
|
2022-01-04 01:36:48
|
paru is an AUR manager written in rust (yo) that is better than basically every other one I've seen
|
|
2022-01-04 01:38:28
|
we're all familiar with mpv
|
|
2022-01-04 01:38:41
|
it's just, if you care about color management then FF is kind of irritating
|
|
2022-01-04 01:38:55
|
since FF's color management is "there is none" they just throw pixels at the screen and ignore any metadata about color
|
|
2022-01-04 01:39:10
|
what would be the dream is if FF switches to a libplacebo-based renderer for images/video
|
|
|
Kagamiin~ Saphri
|
2022-01-04 02:03:15
|
Me too, I have a pre-made filterchain in my bashrc which applies pre-emphasis, compression and bass cut so I can watch videos on my TV with the volume being fairly leveled and without bothering people with videos that have unnormalized and uncompressed audio
|
|
2022-01-04 02:04:23
|
I have a mpv hotkey that adjusts the filter kernel size and a hotkey to switch to area upscaling, for those pesky low-res emulator captures... I still get compression artifacts but no blurry pixels
|
|
2022-01-04 02:04:54
|
Wish there was a way to adjust FFmpeg filters while in mpv, like add filters to the chain and adjust parameters... is there a way through Lua scripting?
|
|
2022-01-04 02:05:34
|
Also could I have a script to append files/URLs to the playlist by simply dragging/pasting them into the mpv window? This could even be a native feature itself since it'd be useful to so many people
|
|
|
Traneptora
paru makes it very nice
|
|
2022-01-04 02:22:32
|
Yup I use paru, but I'm bothered with build times and with AUR packages that fail to build.
|
|
2022-01-04 02:24:17
|
My CPU is a potato. I normally just set-and-forget but sometimes I don't even feel bothered to review PKGBUILDs and hate to see packages that fail to build and I'm usually not bothered to look for a solution.
|
|
2022-01-04 02:24:46
|
We should maybe move over to <#806898911091753051> tho
|
|
|
Jyrki Alakuijala
|
|
BlueSwordM
Why is supporting JXL so difficult though? Like, there are definite advantages to supporting JXL over AVIF, the biggest one for them being the possibility of using JXL to replace the standalone libjpegturbo decoder.
|
|
2022-01-04 04:13:19
|
I think like that, too. I tried to push on the approach/strategy of doing jpegs with libjxl. However, it didn't get support from other libjxl devs.
Currently our priority is to get '1.0' ready and less the browsers. Once 'libjxl 1.0' is ready, we will came back to thinking about browsers and how to find more support there.
|
|
2022-01-04 04:33:44
|
mostly the 1.0 relates to having a proper API to do most of the things that are available in the format
|
|
2022-01-04 04:34:09
|
this work is mostly done in Google Research
|
|
|
improver
|
2022-01-04 04:34:54
|
im not sure if replacing battle-tested performance-optimized jpeg decoder with experimental jxl one with unknown performance and security downsides will be priority for browsers anytime soon. eventually, maybe, if jxl one will be actually better, but i don't think that'll be happening soon
|
|
|
Jyrki Alakuijala
|
2022-01-04 04:35:30
|
our directors have had stronger beliefs in neural coding than incrementally improving classic approaches, so it has been a challenge to maintain investment in this area
|
|
|
improver
|
2022-01-04 04:36:43
|
i don't actually know how jxl vs jpeg-turbo compares but at least that's what id think if i were to have to decide on matter, until proven otherwise it sounds not rly strong option
|
|
|
Jyrki Alakuijala
|
2022-01-04 04:36:45
|
neknekk, yes, it is controversial -- opinion depends on mood, users temperature measured from arm pit, prioritization of quality vs. war testing etc.
|
|
2022-01-04 04:37:06
|
that exactly why we ended up not prioritizing it
|
|
2022-01-04 04:37:24
|
I would have liked it very much and also solving the HDR with classic JPEG at the same go
|
|
|
Scope
|
2022-01-04 04:55:52
|
Jpeg decoding would be very useful, it would reduce overall lib size, it would also be possible to use unified API, but yes, in order to be interested in replacing decoder, it should have some advantages over current implementations and have some additional features and maybe even be faster (or at least not slower)
Maybe it's not the highest priority, a convenient and stable API is more important in my opinion, but still, also a very necessary thing
|
|
|
Fraetor
|
2022-01-04 11:13:02
|
If the API is not yet fully stable, I can see why browsers haven't enabled jxl yet. Too much work to depend on a non stable API, especially one that is not yet mature, as it gets too many improvements between versions to just leave it on an old one.
|
|
|
improver
|
2022-01-04 11:38:52
|
browsers often vendor libs like these wholesale so i don't think it's a big problem
|
|
2022-01-04 11:39:45
|
but api instability kinda gives a bad image about ready-ness of library overall so it still can kinda be negative contributing factor
|
|
|
_wb_
|
2022-01-04 11:40:16
|
The decode api is quite stable for a while now though
|
|
|
Jyrki Alakuijala
|
2022-01-05 12:25:44
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1539075 SmugMug and Flickr give support for JXL, too
|
|
|
eddie.zato
|
|
eddie.zato
For now in the source code it looks like this:
```{
"name": "enable-jxl",
"owners": [ "deymo", "firsching", "lode" ],
"expiry_milestone": 100
}```
|
|
2022-01-05 04:06:32
|
Current state: 😄
```{
"name": "enable-jxl",
"owners": [ "deymo", "firsching", "lode" ],
"expiry_milestone": 105
}```
|
|
2022-01-05 04:07:13
|
<:SadCat:805389277247701002>
```const base::Feature kJXL{"JXL", base::FEATURE_DISABLED_BY_DEFAULT};```
|
|
|
|
Deleted User
|
|
Jyrki Alakuijala
mostly the 1.0 relates to having a proper API to do most of the things that are available in the format
|
|
2022-01-05 09:08:49
|
How much percent of the API is done or when would you roughly estimate 1.0 to be ready?
|
|
|
_wb_
|
2022-01-05 09:13:37
|
I think we're quite close to final in the api definition itself. The implementation of the render pipeline (for more optimized decoding) is the main thing left to finalize and test/fuzz that I think we want to have done before the 1.0 release. Unless I am missing something.
|
|
|
Jyrki Alakuijala
|
2022-01-05 01:40:13
|
I'm hoping for 1.0 to be ready end of February
|
|
|
novomesk
|
|
Jyrki Alakuijala
I'm hoping for 1.0 to be ready end of February
|
|
2022-01-05 01:45:39
|
Can we expect some versions before 1.0? 0.7, 0.8 or 0.9 ?
|
|
|
Jyrki Alakuijala
|
2022-01-05 02:29:22
|
I think every version is some extra work from both the team and from the field
|
|
2022-01-05 02:29:48
|
better to wait for end of Feb -- and for 1.0 -- I think
|
|
|
_wb_
|
2022-01-05 03:29:43
|
I think we should have a 1.0-alpha or 1.0-rc1 or something, without maintenance promises
|
|
2022-01-05 03:30:22
|
Adding a real 0.7 release means we have to keep backporting security fixes to it, etc
|
|
|
Jyrki Alakuijala
|
2022-01-05 03:56:15
|
0.x releases are usually not backported to security fixes
|
|
2022-01-05 03:56:22
|
1.0 and above make that promise
|
|
2022-01-05 03:56:42
|
0.7 users will be suggested to upgrade to 1.0 (or above)
|
|
2022-01-05 03:57:17
|
in my experience any release will cause two weeks of hassle, better to postpone it to 1.0 🙂
|
|
|
novomesk
|
2022-01-09 10:58:50
|
https://github.com/BestImageViewer/geeqie
Does someone know this viewer?
|
|
|
improver
|
2022-01-09 11:20:22
|
yeah i use it
|
|
|
monad
|
2022-01-10 06:26:48
|
Know it? I use it, but only for its similarity search.
|
|
|
novomesk
|
2022-01-10 07:10:06
|
geeqie supports JPEG XL, I had only to enable .jxl extension.
|
|
2022-01-11 11:26:43
|
geeqie has different UI design than gwenview. It is no problem, it is easy to use. Performance is very good.
geeqie has support for color management, that's important. I have impression that it is not supported for all formats yet. For example I think that JPEG XL files are loaded without color profile. That is probably easy to fix. Animated JXL is not played in geeqie (only first frame displayed).
|
|
|
190n
|
2022-01-13 05:45:02
|
The Guardian supports jxl in firefox (supposedly... guy did not use his work email) https://bugzilla.mozilla.org/show_bug.cgi?id=1539075#c27
|
|
2022-01-13 05:45:04
|
<:BlobYay:806132268186861619>
|
|
|
Jim
|
2022-01-13 05:50:34
|
<:JXL:805850130203934781>
|
|
|
_wb_
|
2022-01-13 06:23:09
|
<@810102077895344159> did you do that? 😉
|
|
|
|
paperboyo
|
|
_wb_
<@810102077895344159> did you do that? 😉
|
|
2022-01-13 07:17:42
|
Can't say I didn't have an idea, but also Mariot is amazing and I just happen to agree with everything he said!
Would be sad to see Firefox suddenly join Safari in the joke corner...
Obvs, FWIW – Guardian is no Facebook (thanks, Spaghetti Monster!).
|
|
|
_wb_
|
2022-01-13 07:31:17
|
TBH, I wish firefox had more market share, especially on mobile. Though I tend to use chrome myself most of the time (i have safari and firefox and the unstable versions of all three ready to test stuff, but I use stable chrome for normal use)...
|
|
|
w
|
2022-01-13 07:51:34
|
I use FF on mobile because they didn't remove the bottom url bar like chrome
|
|
|
improver
|
2022-01-13 07:54:40
|
bottom url bar is indeed comfy
|
|
|
Fraetor
|
2022-01-13 07:55:00
|
Its very nice.
|
|
2022-01-13 07:55:38
|
My only real complain about Firefox on mobile is that it unloads tabs really aggressively.
|
|
2022-01-13 07:57:04
|
So if I open five or six tabs with articles to read, then walk out of WiFi range it will be fine for the couple most recent, but then it will try and reload the tab when it gets to the older ones, so I can't read it.
|
|
|
190n
|
2022-01-14 01:12:26
|
that comment is pretty unhelpful without trying to justify why jpeg xl is "major and game-changing"
|
|
|
The_Decryptor
|
2022-01-14 01:13:12
|
https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html < Details a bit about the priority levels. but it's aimed at devs instead of end users
|
|
|
improver
|
2022-01-14 01:36:34
|
that's still a lot better than chrome not supporting extensions at all
|
|
2022-01-14 01:37:24
|
i don't really know why the hell they are restricting set of extensions what can be installed though, i mean one can always just uninstall if it's not working properly
|
|
|
bonnibel
|
2022-01-14 06:52:09
|
I think the real reason is probably something roughly along the lines of "we had to hurriedly move to the new version of ff mobile to cut costs, and we don't want everybody to be able to install any random extension yet until we're ready for it because it'll cause us more support trouble than it's worth"
|
|
2022-01-14 06:53:13
|
prolly similar reason for restricting mobiles about:config to beta/nightly channel users
|
|
|
novomesk
|
2022-01-17 04:56:51
|
Minimalistic viewer qView has out-of-box JXL support (at least in Win64 build which I tried)
qView-5.0-win64.exe from https://github.com/jurplel/qView/releases/
|
|
|
Nova Aurora
|
|
novomesk
Minimalistic viewer qView has out-of-box JXL support (at least in Win64 build which I tried)
qView-5.0-win64.exe from https://github.com/jurplel/qView/releases/
|
|
2022-01-18 08:33:07
|
<:YEP:808828808127971399> I've been using it for JXL since you released your qt JXL plugin
|
|
|
_wb_
|
2022-01-18 09:02:17
|
jxl got bumped from P5 to P3 in firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1539075
|
|
2022-01-18 10:20:36
|
https://twitter.com/JavaPDF/status/1483066411505401862?t=rdR9oKsFI2OJXQOtaF66rA&s=19
|
|
|
190n
|
2022-01-18 10:21:46
|
java encoder/decoder?? <:monkaMega:809252622900789269>
|
|
2022-01-18 10:22:18
|
they better mean libjxl bindings <:Hsss:806131225278152756>
|
|
|
_wb_
|
2022-01-18 10:30:50
|
I wouldn't mind if they would actually make a new implementation, but I doubt it's what they meant :)
|
|
|
190n
|
2022-01-19 02:39:19
|
i have the (jpeg xl, not pdf 2.0 🤦) spec pdf through certain methods. idk if it's okay to post here.
|
|
|
improver
|
2022-01-19 03:04:24
|
is it very different from FDIS
|
|
|
Fox Wizard
|
2022-01-19 03:08:13
|
Just do it™️ <a:DogeEvil:821038587176419381>
|
|
|
|
Deleted User
|
|
190n
i have the (jpeg xl, not pdf 2.0 🤦) spec pdf through certain methods. idk if it's okay to post here.
|
|
2022-01-19 11:53:33
|
My friends says that it'd be interesting to read this spec for bedtime, PM me too plz? 🙂
|
|
|
improver
|
2022-01-19 12:23:26
|
also requesting PM by anyone because lol i like having things though idk if itll be much use if its exactly the same as FDIS
|
|
2022-01-19 12:26:55
|
honestly id like some encoding things to be clarified because i ended up needing to dig into implementation. stuff like not specifying exact types for enums. also explicit mention that some types are struct would be nice too, something i probably going to bring up if v2 will be done out in open
|
|
|
_wb_
|
2022-01-19 12:29:44
|
|
|
2022-01-19 12:30:20
|
This is the most recent draft of the CD of 18181-1, 2nd edition
|
|
2022-01-19 12:31:11
|
please ping me if you find anything that is unclear or incorrect, or just phrasing that can be improved etc
|
|
2022-01-19 12:32:26
|
also please do not redistribute this pdf publicly
|
|
|
improver
|
2022-01-19 12:34:03
|
obtained. kind thanks.
|
|
2022-01-19 01:02:32
|
|
|
2022-01-19 01:02:52
|
if it's not bundle, and is blank, then what
|
|
|
|
veluca
|
2022-01-19 01:03:19
|
I don't think that happens?
|
|
|
improver
|
2022-01-19 01:03:22
|
i guess basically there should be no such fields
|
|
|
|
veluca
|
2022-01-19 01:03:28
|
but fair point
|
|
2022-01-19 01:03:41
|
<@!794205442175402004>
|
|
|
_wb_
|
2022-01-19 01:05:10
|
I think the "if default is not blank" should just be removed because that should be always true
|
|
|
improver
|
2022-01-19 01:05:21
|
could be just shortened by removing ", if default is not blank", yes
|
|
2022-01-19 01:06:41
|
i would also suggest explicitly specifying whether field is struct or enum, because when all i can see is unfamiliar field type, it's kinda unclear, until i get used to checking presence of default value
|
|
2022-01-19 01:07:29
|
not to mention that some enums are encoded different than using default enum encoding
|
|
|
_wb_
|
2022-01-19 01:07:50
|
enums should now all be explicitly have a type Enum(something)
|
|
2022-01-19 01:09:35
|
there are also "fake enums" that are encoded just using u(1) or u(2) or something, but that's basically just a field where some table defines how to interpret the numerical value of it (e.g. orientation, encoding, frame_type are fields like that)
|
|
|
improver
|
2022-01-19 01:09:59
|
yes, im talking about these
|
|
|
_wb_
|
2022-01-19 01:10:29
|
but there I think the type should now always be set to u(n)
|
|
2022-01-19 01:13:01
|
so basically the field type should now always be either Enum(something), u(n), U32(), U64(), F16(), Bool(), or if it's something else then it's always a bundle
|
|
|
190n
|
|
190n
they better mean libjxl bindings <:Hsss:806131225278152756>
|
|
2022-01-19 06:26:42
|
https://twitter.com/JavaPDF/status/1483727908443234306
|
|
2022-01-19 06:26:53
|
now i wanna test their heic library <:kekw:808717074305122316>
|
|
|
Fraetor
|
|
190n
https://twitter.com/JavaPDF/status/1483727908443234306
|
|
2022-01-19 06:30:00
|
It would be pretty neat to see an alternative implementation, especially for the decoder. Just got to make sure they implement all of the bitstream features.
|
|
|
190n
|
2022-01-19 06:34:03
|
i'd rather it were in anything other than java though
|
|
2022-01-19 06:34:10
|
well not _anything_ i guess
|
|
|
_wb_
|
2022-01-19 08:01:36
|
i don't care in what language it is, what I care about is if they can implement it from the spec (as opposed to translating the libjxl code to another language)
|
|
2022-01-19 08:02:27
|
because that's the real test for a spec, and we haven't had that test yet
|
|
|
npc5146
|
2022-01-20 06:41:06
|
I remember reading a speculation (?) that chrome would enable jxl by default starting from a certain version. Am I misremembering or...
|
|
2022-01-20 06:43:02
|
iirc it had something to do with their release types (stable, beta and such)
|
|
|
_wb_
|
2022-01-20 07:24:03
|
https://chromestatus.com/feature/5188299478007808#details
|
|
2022-01-20 07:28:43
|
I think the link to the ISO spec should be added there
|
|
2022-01-20 07:30:29
|
Also not sure if "No signal" is accurate for firefox, I would say it's at least "In Development" given that it has been available for a while now in firefox nightly behind a flag
|
|
2022-01-20 07:34:17
|
https://docs.google.com/document/d/e/2PACX-1vRikx3FbTlbAj_vkyIx4QITkMO-rnB7AV0kjzjRPPKTIBr-Ll1i3Ue5CJ5eHir-0ifmHwB8gRYisKbg/pub
|
|
2022-01-20 07:35:34
|
> There is evidence of publicly linkable positive statements of support from developers or framework authors not associated with or not speaking on behalf of a browser vendor:
>
> Online social networking sites like Twitter.
> Version control sites like GitHub.
> Discussion boards like WICG Discourse.
> Personal sites like blogs.
> Support sites like StackOverflow.
> Bug trackers like crbug (including the "star" signal[1]).
> Working Group call minutes that included industry participants like this.
> Authorized quotes from an important partner that they will try it and why like on blink-dev@.
> Client-side implementations of libraries that (in part, if not fully doable on the client-side) do what the feature proposes, like, for example, NoSleep.js for the Screen Wake Lock API.
> Feature reached TC39 stage 3.
|
|
2022-01-20 07:36:35
|
why do we have "Web Developers: No Signal"?
|
|
2022-01-20 07:38:31
|
I think we should be able to point to quite some significant web developer signals, including Cloudinary, Facebook, Adobe, Flickr, Cloudflare, The Guardian
|
|
2022-01-20 07:40:02
|
even a link to a twitter poll can be considered a signal from web developers
|
|
2022-01-20 07:42:49
|
starting a poll in that case
|
|
2022-01-20 07:42:50
|
https://twitter.com/jonsneyers/status/1484249993645076485
|
|
2022-01-22 09:40:56
|
Interesting how the proportion of "No" steadily increases as the poll starts to reach people outside my bubble
|
|
2022-01-22 09:41:27
|
https://twitter.com/jonsneyers/status/1484595211493953536?t=Y7DDGsiZewkI_f_2vYVWiw&s=19
|
|
2022-01-22 09:42:15
|
Strange how webp gets more votes than avif here. Is it because of lossless?
|
|
|
Nova Aurora
|
2022-01-22 09:43:46
|
It's also probably because webp is now widespread in production too - thus more people use/know of it
|
|
|
|
Deleted User
|
|
_wb_
Strange how webp gets more votes than avif here. Is it because of lossless?
|
|
2022-01-22 01:22:23
|
It has a great near lossless mode. (Though for photos on the Internet I would always prefer JPEG XL.)
|
|
|
_wb_
|
2022-01-27 08:21:36
|
https://twitter.com/jonsneyers/status/1484249993645076485?t=HiAEf4qABnxZ3JTHSsTgtg&s=19
|
|
2022-01-27 08:22:28
|
That's about 90% in favor of jxl, if you don't count the abstentions
|
|
2022-01-27 08:24:42
|
But of course as <@710762823986446367> pointed out, if the question is "do you want to have a new thing or not", most web devs would say yes, no matter what the new thing is, I guess
|
|
2022-01-27 08:25:22
|
So perhaps this other poll is more interesting then. It isn't finalized yet: https://twitter.com/jonsneyers/status/1484595211493953536?t=Lv9j1Qb-vDjiIT_owi4aSg&s=19
|
|
2022-01-27 08:25:58
|
Interestingly, webp is getting more votes than avif on that one
|
|
2022-01-27 08:30:45
|
Lossy webp is strictly worse than avif (vp8 is 2 generations behind av1), though maybe the faster encode is a practical advantage.
Lossless webp is better than lossless avif, but there are not that many reasons to go full lossless on the web. When it's png vs jpeg, png is used when jpeg is just ineffective (like logos with hard edges and just a few colors) and when alpha is needed - but those things can also be done well with a modern lossy codec...
|
|
|
Fraetor
|
2022-01-27 10:13:12
|
I imagine it is where people know the format, and don't want to deal with learning the intricacies of another new image format. I suspect a lot of people might still say JPEG if that was an option.
|
|
|
|
benganley
|
2022-01-29 01:37:28
|
Hi! Apologies if I'm asking this in the wrong channel. I work in the medical imaging field and am looking to use JPEG XL in a browser based image viewer. For this use case, you are scrolling through hundreds of images stacked and most will not need to be loaded beyond their first progression as the clinician isn't interested in that slice. To control the amount of data transferred/performance I'm looking to be able to index the byte ranges of the file that correspond to the progression layers so the viewer can request the number of progressions required.
From reading the API I can get the status from the decoder when it has finished decoding a full progressive step, is there a way to do a similar thing with the encoder in which I could capture the byte offsets in the codestream for each progression during encoding? The goal here is to be able to do byte range requests. Any tips or pointers would be greatly appreciated!
|
|
|
_wb_
|
2022-01-29 08:02:08
|
Imo, we should add an api function to get byte offsets from the TOC after reading the frame header, and/or a detailed encoder return status that includes the offsets of LF and each HF scan.
|
|
|
|
benganley
|
2022-01-29 09:07:18
|
Yes that sounds like a great solution. Being able to get the offsets during encoding would be extremely useful so these can then be stored in the encapsulating DICOM file as it's being streamed. What's the process for an API modification? I'd love to contribute but my c++ skills are more than a little rusty, would I be best to create a GH issue with this commentary?
|
|
2022-01-29 09:16:10
|
I have seen there is interest in the Dicom working group 4 (compression) on adopting jpeg XL into the DICOM standard as an official transfer syntax but I'm not sure how that's progressing
|
|
|
_wb_
|
2022-01-29 09:25:00
|
Pinging <@597478497367359500> and <@930856143885045771>
|
|
2022-01-29 09:26:34
|
Probably a good idea to make a GH issue with a feature request to add such api functionality
|
|
|
username
|
2022-01-30 03:50:33
|
good news someone who makes filetype plugins for paint.net (null54) is planning on making a jpeg xl plugin once libjxl's api is stable https://forums.getpaint.net/topic/119407-jxl/?do=findComment&comment=591551
|
|
|
|
Deleted User
|
|
username
good news someone who makes filetype plugins for paint.net (null54) is planning on making a jpeg xl plugin once libjxl's api is stable https://forums.getpaint.net/topic/119407-jxl/?do=findComment&comment=591551
|
|
2022-01-31 08:12:57
|
Please someone tell them not to use `.ajxl` file extension because JPEG XL is supposed to use one extension, `.jxl`.
|
|
|
_wb_
|
|
|
Deleted User
|
2022-01-31 09:35:47
|
wait... doesn't the "a" in .avif already stand for animation? "Animated Video or Image Format - AVIF" or did I just see that on some trolls teeshirt?
|
|
|
190n
|
2022-01-31 09:39:33
|
AV1 Image File Format
|
|
|
_wb_
|
2022-01-31 09:47:16
|
The A in avif stands for Alliance, I guess
|
|
2022-01-31 09:48:14
|
AVIF = AV1 Image Format
AV1 = AOMedia Video 1
AOMedia = Alliance for Open Media
|
|
2022-01-31 09:48:46
|
Alliance Video Image Format
|
|
2022-01-31 09:50:11
|
https://c.tenor.com/s8X-v3i3ioAAAAAM/wow-for-the-alliance.gif
|
|
|
|
Deleted User
|
2022-01-31 09:54:41
|
https://tenor.com/view/spinning-top-inception-movie-gif-12483894
|
|
|
Koromaru Korüko
|
2022-01-31 10:46:57
|
|
|
2022-01-31 10:46:59
|
this kills me
|
|
|
username
|
2022-01-31 11:09:49
|
yeah it's a limitation of paint.net's plugin system for example I remember back when paint.net didn't support 32-bit bmp files so someone made a plugin for 32-bit bmps that registered itself as ".bmpx"
|
|
2022-01-31 11:13:36
|
so when ever I wanted a 32-bit bmp I had to export it as a ".bmpx" and remove the x at the end
|
|
|
Scope
|
2022-01-31 11:18:32
|
It's strange that GIF also requires AGIF, because almost no one uses static GIFs
|
|
|
Fox Wizard
|
2022-02-01 05:19:01
|
Static gif... imagine using that <:KekDog:884736660376535040> ~~sadly seen people using it for screenshots of in game errors and sometimes it was very hard to even read the red error text <:KekDog:884736660376535040>~~
|
|
2022-02-01 06:37:04
|
<a:DogeScared:821038589201612820>
|
|
|
Petr
|
2022-02-25 10:52:24
|
jxl support in GIMP got improved: https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#jpeg-xl
|
|
|
Jim
|
2022-02-25 02:59:02
|
> Compression slider is disabled for lossless.
Isn't there a slightly lossy lossless output mode? 🙁
|
|
|
diskorduser
|
2022-02-25 03:04:06
|
So no lossy modular?
|
|
|
|
Deleted User
|
2022-02-25 03:34:51
|
This was never supported in GIMP and not disabling the slider was just confusing.
|
|
2022-02-25 03:36:28
|
Also, these modes aren't controlled via the distance slider in the first place.
|
|
|
|
Dingle
|
2022-02-25 05:46:30
|
I noticed on the new GIMP 2.99.10 the bit depth is selectable for lossy JXL. I though that lossy jxl doesn't have bit depth, due to not being stored as integers. So what is this selection doing for lossy jxl? <@!886264098298413078>
|
|
|
_wb_
|
2022-02-25 05:50:51
|
The bitstream still signals some nominal bit depth also for lossy, basically as metadata so you know what would be a good bit depth to decode to
|
|
2022-02-25 05:51:52
|
It's just a header field in case of lossy, without impact
|
|
|
190n
|
2022-02-25 05:52:53
|
any advantage to signaling a higher bit depth than the input was?
|
|
|
diskorduser
|
2022-02-25 06:00:16
|
Like 8bit videos encoded with ~~x265~~ hevc 10bits?
|
|
|
190n
|
2022-02-25 06:05:35
|
yeah but that's advantageous because it affects the encoding process
|
|
|
_wb_
|
|
190n
any advantage to signaling a higher bit depth than the input was?
|
|
2022-02-25 06:18:50
|
I don't think so. The other way around makes more sense to me, e.g. if you have something that can be represented well enough in 12-bit Rec.2100 PQ, but your input format (after image processing, say) is actually 16-bit half-float or 32-bit float, then it would make sense to pass the accurate input to the encoder but to signal that it's fine to decode to 12-bit integers.
|
|
|
190n
|
2022-02-25 06:22:47
|
right, makes sense
|
|
|
novomesk
|
|
Dingle
I noticed on the new GIMP 2.99.10 the bit depth is selectable for lossy JXL. I though that lossy jxl doesn't have bit depth, due to not being stored as integers. So what is this selection doing for lossy jxl? <@!886264098298413078>
|
|
2022-02-25 07:13:36
|
It also influence precision of data sent to the encoder.
|
|
|
|
Dingle
|
2022-02-25 10:17:44
|
Thanks for the info
|
|
|
DuxVitae
|
|
Dingle
I noticed on the new GIMP 2.99.10 the bit depth is selectable for lossy JXL. I though that lossy jxl doesn't have bit depth, due to not being stored as integers. So what is this selection doing for lossy jxl? <@!886264098298413078>
|
|
2022-02-26 10:59:53
|
But the Gimp exporter for 16-bit lossy jxl has the problem that you cannot preserve details in the shadow. They always set intensity_target = 256. I opened an issue here: https://gitlab.gnome.org/GNOME/gimp/-/issues/7884
Please feel free to propose a better fix than I did.
|
|
|
|
Deleted User
|
2022-02-26 01:15:46
|
you can use 16 Bit for SDR content as well, thus the intensity target should be unrelated to this setting.
|
|
|
DuxVitae
|
2022-02-26 01:53:31
|
But if you have a true 16 Bit image, it would be nice to achieve fewer artefacts in lossy compression. At the moment, there is a big gap between exporting lossless and lossy (with the highest quality) 16-bit images in Gimp 2.99.
|
|
|
_wb_
|
2022-02-26 02:02:05
|
It's probably more a question of transfer curve than of bit depth, and also what kind of brightness adjustments you are going to do when viewing or editing the image
|
|
|
|
Deleted User
|
|
you can use 16 Bit for SDR content as well, thus the intensity target should be unrelated to this setting.
|
|
2022-02-26 02:14:02
|
This. JPEG XL is a great chance to move from 8-bit to (at least) 16-bit pipeline even for SDR images.
|
|
|
novomesk
It also influence precision of data sent to the encoder.
|
|
2022-02-26 02:14:30
|
**For lossy** wouldn't it be easier (and better for the quality) to just always send 32-bit float? The bit depth slider would be then responsible for tagging the file only.
|
|
2022-02-26 02:42:25
|
E.g. if someone wants to process a raw file from camera, especially after high quality debayering and denoising (e.g. DxO PureRAW or Adobe Enhance Details + Topaz DeNoise AI), 8 bits would introduce unnecessary and totally avoidable banding. If the source is high quality to begin with, why not send it to the encoder at full internal quality (16-bit integer or 32-bit float) and tag the lossy file to be decoded at 16 bits?
|
|
|
_wb_
|
2022-02-26 02:56:29
|
The current libjxl encoder will internally use float anyway, so there is no point sending buffers using less precision (to save memory or something) since they will get converted to float anyway.
|
|
|
|
Deleted User
|
2022-02-26 03:02:29
|
While we're at it, I also encourage everyone editing images with GIMP to make more advanced editing in 32 bit float (or at least 16 bit integer) if you're going to export to JPEG XL since it enables efficiently storing that data and reduces generation loss from various effects applied to the image.
|
|
|
novomesk
|
2022-02-26 04:01:44
|
When sending 16bit integers to libjxl, values use sRGB curve but when using 32bit float, image has to be converted to linear profile first.
|
|
|
DuxVitae
But the Gimp exporter for 16-bit lossy jxl has the problem that you cannot preserve details in the shadow. They always set intensity_target = 256. I opened an issue here: https://gitlab.gnome.org/GNOME/gimp/-/issues/7884
Please feel free to propose a better fix than I did.
|
|
2022-02-26 04:37:25
|
What happens if you select "Save original profile"?
|
|
|
DuxVitae
|
2022-02-26 04:39:42
|
I had this always selected when exporting files.
|
|
|
Traneptora
|
2022-02-28 09:18:47
|
aight, I've been very busy with things like
|
|
2022-02-28 09:18:49
|
school
|
|
2022-02-28 09:18:50
|
etc.
|
|
2022-02-28 09:19:06
|
but I've finally fixed the parser for ffmpeg and sent another patch to the ML
|
|
2022-02-28 09:19:08
|
fingers crossed
|
|
|
BlueSwordM
|
2022-02-28 09:19:14
|
Please.
|
|
2022-02-28 09:19:20
|
That would be sooo awesome.
|
|
2022-02-28 09:19:32
|
Imagine getting native JXL support before the AVIF patch gets merged in.
|
|
|
|
Hello71
|
2022-02-28 10:44:40
|
seems better now, passes all conformance samples with format hint (`.jxl` or `-f jpegxl_pipe`). unfortunately it seems still broken on pipe detection; for example, `ffprobe - < grayscale/input.jxl` returns `pipe:: Invalid data found when processing input`. `ffprobe -f image2pipe grayscale/input.jxl` returns `Failed JPEG XL Signature Check` but then apparently successfully probes it?
|
|
2022-02-28 10:45:38
|
this causes `mpv grayscale/input.jxl` to return `Failed to recognize file format.`. `mpv --demuxer-lavf-format=jpegxl_pipe grayscale/input.jxl` works fine
|
|
2022-02-28 11:14:29
|
also av_log needs `\n`, which doesn't really make sense to me
|
|
2022-02-28 11:19:55
|
also let me introduce you to our lord and savior, `__VA_ARGS__`
|
|
|
Traneptora
|
|
Hello71
seems better now, passes all conformance samples with format hint (`.jxl` or `-f jpegxl_pipe`). unfortunately it seems still broken on pipe detection; for example, `ffprobe - < grayscale/input.jxl` returns `pipe:: Invalid data found when processing input`. `ffprobe -f image2pipe grayscale/input.jxl` returns `Failed JPEG XL Signature Check` but then apparently successfully probes it?
|
|
2022-03-01 03:51:12
|
where can I find `grayscale/input.jxl`
|
|
|
|
Hello71
|
2022-03-01 03:51:22
|
https://github.com/libjxl/conformance
|
|
|
Traneptora
|
2022-03-01 04:03:10
|
also what is `__VA_ARGS__`
|
|
|
|
Deleted User
|
|
Traneptora
where can I find `grayscale/input.jxl`
|
|
2022-03-01 04:06:11
|
You are at least the third person to ask this same question... please check <#822120855449894942> next time.
|
|
|
|
veluca
|
|
Traneptora
also what is `__VA_ARGS__`
|
|
2022-03-01 04:31:51
|
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
|
|
|
Traneptora
|
2022-03-01 04:32:05
|
thanks
|
|
|
Hello71
seems better now, passes all conformance samples with format hint (`.jxl` or `-f jpegxl_pipe`). unfortunately it seems still broken on pipe detection; for example, `ffprobe - < grayscale/input.jxl` returns `pipe:: Invalid data found when processing input`. `ffprobe -f image2pipe grayscale/input.jxl` returns `Failed JPEG XL Signature Check` but then apparently successfully probes it?
|
|
2022-03-01 04:32:42
|
apparently this is cause I assumed the image header was byte-aligned but it was not. the frames are, so the image header is byte aligned provided that there is no ICC profile
|
|
2022-03-01 04:32:51
|
the presence of the ICC profile is what messed up the parser
|
|
2022-03-01 04:32:54
|
thanks for pointing that out
|
|
|
veluca
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
|
|
2022-03-01 07:32:53
|
oo, this is nice, although I'm not sure if they permit `, ##__VA_ARGS__)`
|
|
2022-03-01 07:33:02
|
I'll have to ask on IRC
|
|
|
|
veluca
|
2022-03-01 07:33:20
|
where's that from?
|
|
|
Traneptora
|
2022-03-01 07:33:28
|
the page you linked <:kek:857018203640561677>
|
|
2022-03-01 07:34:29
|
apparently if you put `##` before the `__VA_ARGS__` then GCC will remove the trailing `,` if the variadic arguments are empty (i.e. zero size)
|
|
2022-03-01 07:34:35
|
so it doesn't replace it and then immediately fail
|
|
|
|
veluca
|
2022-03-01 07:35:44
|
ah I thought you found that in libjxl 😄
|
|
|
Traneptora
|
|
Hello71
seems better now, passes all conformance samples with format hint (`.jxl` or `-f jpegxl_pipe`). unfortunately it seems still broken on pipe detection; for example, `ffprobe - < grayscale/input.jxl` returns `pipe:: Invalid data found when processing input`. `ffprobe -f image2pipe grayscale/input.jxl` returns `Failed JPEG XL Signature Check` but then apparently successfully probes it?
|
|
2022-03-01 07:39:03
|
I pushed a change to my github branch `thebombzen/FFmpeg.git` branch=libjxl
|
|
2022-03-01 07:39:27
|
I believe it should work now, if you notice anything else feel free to let me know. if not I'll send an updated patch to the ML
|
|
|
|
Hello71
|
2022-03-01 07:47:35
|
probably better to do `#define jxl_parse_err(...) av_log(..., "At position %d, invalid %s\n", jxlr->gb.index, __VA_ARGS__)`, then you also save ~20 bytes per error
|
|
|
Traneptora
|
|
Hello71
probably better to do `#define jxl_parse_err(...) av_log(..., "At position %d, invalid %s\n", jxlr->gb.index, __VA_ARGS__)`, then you also save ~20 bytes per error
|
|
2022-03-01 07:50:30
|
then how do you pass arguments, like, `invalid width and height`
|
|
2022-03-01 07:51:09
|
and actually print the invalid width and height
|
|
2022-03-01 07:51:55
|
you'd need two separate macros to do it this way, since you can't overload them
|
|
|
|
Hello71
|
2022-03-01 07:52:47
|
er, right. oops
|
|
|
Traneptora
|
2022-03-01 07:53:45
|
I thought of that too but I got tripped up by the inability to overload
|
|
2022-03-01 07:54:20
|
I think it's probably fine but I'll have to check with the devs first
|
|
|
|
Hello71
|
2022-03-01 08:02:27
|
seems like alpha_nonpremultiplied, alpha_triangles, blendmodes, and spot still fail to decode from pipe? `xargs -a main_level10.txt -n1 sh -c 'ffmpeg -loglevel quiet -hide_banner -i -<$1/input.jxl -f null - && echo "OK " $1 || echo FAIL $1' --`
|
|
|
Traneptora
|
2022-03-03 05:12:07
|
lemme check
|
|
2022-03-03 05:13:33
|
level10? that might be the issue
|
|
2022-03-03 05:13:46
|
I currently do not parse jxli
|
|
2022-03-03 05:14:07
|
though if it's inside a container the prober should work anyway
|
|
|
fab
|
2022-03-06 01:51:17
|
That's what all are adopting
|
|
2022-03-06 01:51:27
|
There are like 3 mentions of this
|
|
2022-03-06 02:12:10
|
why avif and jpeg xl doesn't wok fo me
|
|
2022-03-06 02:12:13
|
im on windows
|
|
|
novomesk
|
2022-03-06 03:25:34
|
Because digiKam needs ImageMagick with jxl support or at least JPEG XL Qt plug-in (according https://invent.kde.org/graphics/digikam/-/tree/master/core/dplugins/dimg ) but Windows version was built without them.
|
|
|
BlueSwordM
|
2022-03-06 08:18:54
|
<@!853026420792360980> So, with your current patches, is it technically possible to create a video stream with libjxl in ffmpeg?
|
|
|
Traneptora
|
|
BlueSwordM
<@!853026420792360980> So, with your current patches, is it technically possible to create a video stream with libjxl in ffmpeg?
|
|
2022-03-06 09:22:03
|
No, because several jpegxl files concatenated together is a valid JXL file
|
|
2022-03-06 09:22:19
|
and it will eat the stream as the first frame
|
|
2022-03-06 09:22:37
|
I don't have an easy solution for this at this time
|
|
2022-03-06 09:26:12
|
I believe I will need to invent a way to skip an ANS stream and then it will be potentially do-able
|
|
|
Eugene Vert
|
2022-03-08 02:21:13
|
Seems like the next digiKam release (7.7.0) will include libjxl in bundles
https://invent.kde.org/graphics/digikam/-/commit/de8e399e0efdb7d45426dd726000bcc1dbbc2b92
|
|
|
novomesk
|
|
Eugene Vert
Seems like the next digiKam release (7.7.0) will include libjxl in bundles
https://invent.kde.org/graphics/digikam/-/commit/de8e399e0efdb7d45426dd726000bcc1dbbc2b92
|
|
2022-03-09 12:12:26
|
Yes, I already tested new Windows build and provided feedback how to avoid crashes I got also under MSYS2.
But it will not play animated JXL yet, it will need support in ffmpeg.
|
|
2022-03-10 02:19:11
|
digiKam development builds: https://files.kde.org/digikam/ JPEG XL should work out of box there.
|
|
|
Traneptora
|
2022-03-12 04:54:59
|
Pretty sure my now I ironed out most of the bugs in my parser
|
|
2022-03-12 04:55:08
|
it passes all of the conformance tests except `spot` which I believe is actually invalid
|
|
2022-03-12 04:55:44
|
<@!765599758559215616> you seem interested in testing this, so if you have any other tests let me know
|
|
2022-03-12 04:56:27
|
the problem with `spot` is I believe it illegally lists `modular_16bit_buffers` as `false` which is not allowed in a raw codestream (or any level 5 codestream, for that matter)
|
|
2022-03-12 04:56:47
|
we might need to wrap it in a container and up the level to 10
|
|
|
_wb_
|
|
|
Hello71
|
2022-03-12 07:29:59
|
haven't tested your new patches yet, but on the previous version i had an issue where images with large pre-codestream chunks (e.g. exif, jbrd) would spam "Invalid JPEG XL" something-or-other but still open properly. i think it is correct, but the message needs reduced log level
|
|
|
Traneptora
|
|
Hello71
haven't tested your new patches yet, but on the previous version i had an issue where images with large pre-codestream chunks (e.g. exif, jbrd) would spam "Invalid JPEG XL" something-or-other but still open properly. i think it is correct, but the message needs reduced log level
|
|
2022-03-12 08:44:11
|
it was incorrect, it was only identifying it by filename
|
|
2022-03-12 08:44:26
|
should be fixed now
|
|
2022-03-12 08:45:00
|
all the conformance now passed on pipe input at this point except for `spot` since it's bugged
|
|
|
|
Hello71
|
2022-03-12 09:14:11
|
sounds good
|
|
2022-03-12 09:29:33
|
conformance tests are fixed for me too (except spot) but i'm still getting "Failed JPEG XL Signature Check" spam when probing files with big metadata
|
|
2022-03-12 09:32:13
|
e.g. `cjxl <(curl https://upload.wikimedia.org/wikipedia/commons/2/25/An%C3%A9mona_de_mar_com%C3%BAn_%28Anemonia_viridis%29%2C_Parque_natural_de_la_Arr%C3%A1bida%2C_Portugal%2C_2020-07-21%2C_DD_07.jpg) x.jxl && ffprobe x.jxl` "Failed JPEG XL Signature Check
Last message repeated 2220 times"
|
|
2022-03-12 09:33:44
|
i think either the severity of this message should be reduced when the failure is due to EOF, or it should be reduced in general, or maybe it is possible to check if the buffer is known to be incomplete
|
|
|
Traneptora
|
|
Hello71
e.g. `cjxl <(curl https://upload.wikimedia.org/wikipedia/commons/2/25/An%C3%A9mona_de_mar_com%C3%BAn_%28Anemonia_viridis%29%2C_Parque_natural_de_la_Arr%C3%A1bida%2C_Portugal%2C_2020-07-21%2C_DD_07.jpg) x.jxl && ffprobe x.jxl` "Failed JPEG XL Signature Check
Last message repeated 2220 times"
|
|
2022-03-12 11:30:19
|
interesting. any time you see that, that's a bug
|
|
2022-03-12 11:31:02
|
at least, that's what I thought
|
|
2022-03-12 11:31:25
|
It shouldn't actually be printing ever though, to be honest.
|
|
2022-03-12 11:32:08
|
it should never get to this point
|
|
2022-03-13 03:00:28
|
<@!765599758559215616>
I believe my latest patchset fixes this
|
|
2022-03-13 03:01:57
|
```
$ cjxl <(curl https://upload.wikimedia.org/wikipedia/commons/2/25/An%C3%A9mona_de_mar_com%C3%BAn_%28Anemonia_viridis%29%2C_Parque_natural_de_la_Arr%C3%A1bida%2C_Portugal%2C_2020-07-21%2C_DD_07.jpg) x.jxl && ./ffmpeg -i ./x.jxl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0JPEG XL encoder v0.7.0 9bc1e88b [AVX2]
100 9.8M 100 9.8M 0 0 11.4M 0 --:--:-- --:--:-- --:--:-- 11.4M
Read 3385x3385 image, 11.7 MP/s
Encoding [Container | JPEG, lossless transcode, squirrel | JPEG reconstruction data | 842-byte Exif | 12091-byte XMP], 4 threads.
Compressed to 9083270 bytes (6.342 bpp).
3385 x 3385, 24.82 MP/s [24.82, 24.82], 1 reps, 4 threads.
Including container: 9096808 bytes (6.351 bpp).
ffmpeg version N-105810-g4ca37b6794 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.2.0 (GCC)
configuration: --disable-doc --disable-stripping
libavutil 57. 21.100 / 57. 21.100
libavcodec 59. 22.100 / 59. 22.100
libavformat 59. 18.100 / 59. 18.100
libavdevice 59. 5.100 / 59. 5.100
libavfilter 8. 27.100 / 8. 27.100
libswscale 6. 5.100 / 6. 5.100
libswresample 4. 4.100 / 4. 4.100
Input #0, jpegxl_pipe, from './x.jxl':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: jpegxl, rgb24, 3385x3385, 25 fps, 25 tbr, 25 tbn
At least one output file must be specified
```
|
|
|
|
Hello71
|
2022-03-13 08:00:59
|
seems to be working in my tests now, thanks
|
|
|
Traneptora
|
2022-03-19 04:43:35
|
update: just added ICCP support to both the libjxl decoder and the encoder, and tested it
|
|
2022-03-19 04:43:44
|
if I don't see anything else I'll send the patch to the ML today
|
|
|
BlueSwordM
|
|
Traneptora
if I don't see anything else I'll send the patch to the ML today
|
|
2022-03-19 05:03:31
|
Nice 🥰
|
|
|
Traneptora
|
2022-03-19 05:28:40
|
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294286.html
|
|
|
damian101
|
2022-03-21 09:31:40
|
Any decent image viewers with JPEG XL support for Linux out there?
Don't want to open them in GIMP or in browser...
|
|
|
improver
|
|
190n
|
2022-03-21 09:33:41
|
EOG if you have libjxl built with the GdkPixbuf plugin
|
|
|
BlueSwordM
|
|
Any decent image viewers with JPEG XL support for Linux out there?
Don't want to open them in GIMP or in browser...
|
|
2022-03-22 02:17:01
|
Gwenview.
|
|
|
damian101
|
|
BlueSwordM
Gwenview.
|
|
2022-03-22 03:23:46
|
That can't display JPEG XL files, can it?
|
|
2022-03-22 03:23:51
|
doesn't work for me
|
|
|
BlueSwordM
|
|
That can't display JPEG XL files, can it?
|
|
2022-03-22 03:25:08
|
It can if you have the QT libjxl plugin.
|
|
2022-03-22 03:25:17
|
https://github.com/novomesk/qt-jpegxl-image-plugin
|
|
|
damian101
|
2022-03-22 03:35:29
|
damn, that works 👍
|
|
|
|
sebseb
|
|
Traneptora
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294286.html
|
|
2022-03-22 03:44:01
|
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294431.html
|
|
|
BlueSwordM
|
|
sebseb
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294431.html
|
|
2022-03-22 03:47:46
|
Oh boy, the IRC stuff spilled into the mailing list it seems.
|
|
|
Traneptora
|
|
sebseb
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294431.html
|
|
2022-03-22 08:34:29
|
I saw this, which peeves me a little bit cause Lynne was present for the discussion about commit access
|
|
2022-03-22 08:34:37
|
where it was agreed I would not get it
|
|
2022-03-22 08:34:49
|
I'm discussing it with him now though, he's giving me solid feedback
|
|
|
|
sebseb
|
|
novomesk
|
2022-03-27 01:07:45
|
It can be disabled using JPEGXL_ENABLE_PLUGIN_MIME option. But even in duplicate registration, there won't be any problem.
For example AVIF is already in s-m-i, but libheif add another registration via another XML. It works together.
|
|
|
Traneptora
|
2022-03-30 02:57:42
|
<@!886264098298413078> it looks like ur GIMP plugin ignores the ICCP inside jxl files, unless I'm mistaken
|
|
2022-03-30 02:57:58
|
which GIMP does successfully read inside of a PNG
|
|
2022-03-30 02:58:14
|
i.e. `djxl test.jxl test.png && gimp test.png` produces the right colors, but `gimp test.jxl` directly does not
|
|
2022-03-30 02:58:33
|
|
|
2022-03-30 02:59:41
|
same is true about firefox nightly, interestingly enough
|
|
|
sebseb
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294431.html
|
|
2022-03-30 03:00:44
|
anyway, fingers crossed
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/294785.html
|
|
|
novomesk
|
|
Traneptora
<@!886264098298413078> it looks like ur GIMP plugin ignores the ICCP inside jxl files, unless I'm mistaken
|
|
2022-03-30 03:29:00
|
I will test later, but are you trying with GIMP 2.99 and not with GIMP 2.10?
|
|
|
Traneptora
|
2022-03-30 03:29:59
|
I don't know
|
|
2022-03-30 03:30:10
|
lemme check when I get home
|
|
|
novomesk
|
2022-03-30 03:33:18
|
Because those plug-ins are different and I worked only on 2.99.x version.
|
|
|
Traneptora
|
|
novomesk
I will test later, but are you trying with GIMP 2.99 and not with GIMP 2.10?
|
|
2022-03-30 03:47:44
|
2.10, so never mind
|
|
|
BlueSwordM
|
2022-03-31 03:09:17
|
JXL and AVIF are now in the nomacs image viewer for good, mainly JXL.
https://github.com/nomacs/nomacs/commit/539959ec46e1ecb594aded0d0a7f58412f05b51e
|
|