|
_wb_
|
|
Pieter
It seems by default cjxl and djxl statically link libjxl, so that's no issue. In other libraries you sometimes see libtool trickery, where the produced "binary" is really a shell script that sets LD loading path correctly to find the libs, and then invokes the real binary.
|
|
2021-05-09 04:37:20
|
Worse: they do not use the library api at all yet. They predate the library...
|
|
|
|
veluca
|
2021-05-09 07:10:03
|
Of course I use it from the compiled sources π€£
|
|
|
diskorduser
|
2021-05-09 02:43:12
|
`>cxl cmpk.jpg 16A.jxl -j -d 0.5 -s 7
[v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
Read 3456x4608 image, 27.2 MP/s
Encoding [Container | VarDCT, d0.500, squirrel | 402-byte Exif], 2 threads.
Compressed to 1571659 bytes (0.790 bpp).
3456 x 4608, 2.54 MP/s [2.54, 2.54], 1 reps, 2 threads.`
|
|
2021-05-09 02:43:40
|
`>identify -verbose 16A.jxl | ag Format
Format: JXL (JPEG XL Lossless JPEG1 Recompression)
`
|
|
2021-05-09 02:43:54
|
Possible imagemagick bug?
|
|
|
_wb_
|
2021-05-09 02:49:29
|
It might confuse "uses container" with "is losslessly recompressed jpeg", which is not the same thing
|
|
|
spider-mario
|
2021-05-09 02:58:35
|
ah, right, I have noticed that bug in GNU file as well
|
|
2021-05-09 02:58:39
|
but wasnβt sure how to report it
|
|
2021-05-09 02:58:54
|
someone, somewhere, must have assumed that the container was only for losslessly-recompressed JPEGs
|
|
2021-05-09 02:59:18
|
we might have miscommunicated somewhere
|
|
|
_wb_
|
2021-05-09 03:29:31
|
Lossless-recompressed jpeg implies container, but not the other way around
|
|
2021-05-09 03:30:11
|
Need to check for a `jbrd` box in the isobmf if you want to make that distinction...
|
|
2021-05-09 03:30:54
|
(not sure if it is a distinction really worth making)
|
|
2021-05-10 05:07:43
|
I don't think the api gives that info atm. The api is still evolving.
|
|
2021-05-10 08:24:50
|
Yes
|
|
2021-05-10 08:26:20
|
And also the `file` magic should be updated
|
|
2021-05-10 08:30:33
|
Ah that is ok
|
|
2021-05-10 09:02:47
|
π
|
|
2021-05-10 01:58:54
|
https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion
|
|
2021-05-10 01:59:42
|
<@!710762823986446367> do you think it would make sense to interpret `prefers-reduced-motion` to also avoid progressive repaints?
|
|
2021-05-10 02:01:47
|
I'm searching for a way to have nice progressive loading by default, while still allowing those who really don't like progressive loading to have a way to disable it, ideally without introducing new user preference flags (since I understand that chrome devs don't like adding those)
|
|
|
Jake Archibald
|
2021-05-10 02:03:36
|
<@794205442175402004> My gut feeling is no, but it might depend on how many passes there are. Even with reduced motion, you'd still have motion if it was required to make sense of the page. It's mostly for prevent unnecessary transitions, and I don't think JXL's progressive rendering is particularly obtrusive
|
|
|
_wb_
|
2021-05-10 02:04:03
|
I think some basic progression (1 fast preview, followed by eventually the final image) is actually "less motion" than the flash that happens when an image instantly appears out of nowhere.
|
|
2021-05-10 02:06:45
|
But several repaints might be more obtrusive because with many repaints the image would (subtly but noticeably) change several times while loading, possibly in weird middle-out ways (progressive passes can be re-ordered in e.g. a spiral shape in jxl)
|
|
|
Jake Archibald
|
2021-05-10 02:06:53
|
<@!794205442175402004> it might depend on whether the switch is more distracting than the progression JXL would use otherwise
|
|
|
_wb_
|
2021-05-10 02:10:23
|
I think two-step progression (e.g. DC followed by final image, or blurhash followed by final image, or avif preview followed by final image) is uncontroversially less distracting than "blank spot followed by final image"
|
|
|
Jake Archibald
|
2021-05-10 02:11:08
|
agreed
|
|
|
_wb_
|
2021-05-10 02:11:51
|
But many-step progression (e.g. a JPEG with 10 scans like what mozjpeg produces) is somewhat more controversial: the image keeps changing subtly and you don't know when it is done loading
|
|
2021-05-10 02:12:49
|
In JXL we can always do two-step progression but we can also optionally do many-step progression.
|
|
2021-05-10 02:14:30
|
Perhaps it would make sense to do only the first step (which would be an upscaled 1:8 image) and then wait for the final image in case `prefers-reduced-motion=true`, but show more intermediate results (assuming the connection is slow enough to do that in the first place) in the default case of `prefers-reduced-motion=false`?
|
|
|
Jake Archibald
|
2021-05-10 02:16:18
|
<@!794205442175402004> might be good to reach out to someone who works with a11y stuff, like https://twitter.com/rob_dodson. If JXL is made to be 2-pass for this reason, seems like we should do it for JPEG too
|
|
|
_wb_
|
2021-05-10 02:21:15
|
For JPEG already some stuff happened in that respect: the "green martian" effect from showing DC with YCb with Cr still missing is no longer something that can happen.
|
|
2021-05-10 02:22:17
|
There is no way to do the AC of a progressive JPEG in a single pass though, you have to use at least 3 passes after the DC (one for each component).
|
|
|
Jake Archibald
<@!794205442175402004> might be good to reach out to someone who works with a11y stuff, like https://twitter.com/rob_dodson. If JXL is made to be 2-pass for this reason, seems like we should do it for JPEG too
|
|
2021-05-10 02:28:50
|
Rob doesn't have his twitter DMs open, so I'd have to reach out via public tweet which I don't really like to do. Could you ping him and ask him to dm me? (or to join this discord, even better π )
|
|
|
Jake Archibald
|
2021-05-10 02:29:51
|
<@!794205442175402004> what's your twitter handle again?
|
|
|
_wb_
|
2021-05-10 02:32:50
|
yes that's me
|
|
2021-05-10 02:33:13
|
here's a discord link if you want to get him here: https://discord.gg/DqkQgDRTFu
|
|
|
nmkd
|
2021-05-10 02:33:21
|
that's where we are
|
|
2021-05-10 02:33:40
|
oh nvm
|
|
2021-05-10 02:33:43
|
that's what you meant
|
|
|
_wb_
|
|
bobdod
|
2021-05-10 02:41:36
|
π
|
|
2021-05-10 02:42:03
|
Oh haha I still have my shadowrun character profile for discord. This is Rob. Let me change that π
|
|
|
_wb_
|
2021-05-10 02:42:47
|
Hi Rob!
|
|
|
_wb_
https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion
|
|
2021-05-10 02:43:54
|
we had a little discussion here about the possible connection between `prefers-reduced-motion` and progressive rendering of images
|
|
2021-05-10 02:44:55
|
your thoughts on this would be very welcome π
|
|
|
bobdod
|
2021-05-10 02:47:28
|
oh ok, taking a look now
|
|
2021-05-10 02:48:30
|
<@!794205442175402004> for progressive repaints I'm assuming it sort of paints in a bit pixelated, then paints in again with higher resolution, and so on until the picture is at its final resolution?
|
|
2021-05-10 02:48:46
|
or is it more like a choppy partial painting where the top third paints in, then the middle, then the bottom
|
|
|
_wb_
|
2021-05-10 02:49:59
|
well it's not really pixelated, more blurry
|
|
2021-05-10 02:50:14
|
but yes, the first thing
|
|
2021-05-10 02:50:46
|
the choppy partial painting is not progressive but sequential or incremental rendering
|
|
2021-05-10 02:51:04
|
which is also something that may or may not have a connection with `prefers-reduced-motion`
|
|
|
|
veluca
|
2021-05-10 02:52:18
|
(for that matter, a JPEG XL image might even do choppy partial painting in a weirder order, like middle -> bottom -> top)
|
|
2021-05-10 02:52:55
|
(it's an encode-time decision)
|
|
|
bobdod
|
2021-05-10 02:56:02
|
hm it's an interesting question.. I don't know enough about vestibular disorders to know what kinds of screen actions can be triggering for folks, with the exception of things like parallax... Let me send a quick email to some Chrome a11y folks I work with to see if they know who we could ask.
|
|
2021-05-10 02:59:59
|
do y'all happen to have a video of what the progressive loading looks like?
|
|
|
|
veluca
|
2021-05-10 03:02:59
|
something like this? https://www.youtube.com/watch?v=inQxEBn831w
|
|
2021-05-10 03:03:24
|
(you can assume that the "black squares" part will be skipped in a browser)
|
|
|
|
paperboyo
|
2021-05-10 03:04:02
|
For mozJPEG, this article is my favourite: https://cloudinary.com/blog/progressive_jpegs_and_green_martians (look for _Here is a comparison of an image encoded with MozJPEG as a nonprogressive JPEG_). So: it may look different.
|
|
|
_wb_
|
2021-05-10 03:07:05
|
these videos are "slow motion" simulations of what could be done on a very slow connection when the browser is doing a lot of repaints when new data arrives - in reality browsers will not do that many repaints
|
|
|
bobdod
|
2021-05-10 03:08:40
|
ok great, thank you! I'm sending this over with the note about the slow motion bit
|
|
|
Crixis
|
2021-05-10 06:15:02
|
gthumb have a strange bug with jxl
|
|
2021-05-10 06:15:23
|
view very low definition
|
|
2021-05-10 06:15:35
|
|
|
2021-05-10 06:15:45
|
eog
|
|
2021-05-10 06:16:39
|
|
|
|
fab
|
2021-05-10 06:20:06
|
|
|
2021-05-10 06:20:07
|
monospace legible font
|
|
|
|
veluca
|
|
fab
|
|
2021-05-10 06:26:43
|
got strong Mattino vibes here xD
|
|
2021-05-10 06:28:33
|
(well, Ungaretti in general, I guess)
|
|
|
bobdod
|
2021-05-10 10:13:21
|
<@794205442175402004> here is the feedback I got from the chrome a11y team.
```
I'd need to understand more about why users don't like progressive loading. prefers-reduced-motion would have a lot more impact than that (though I'm not sure how well supported it is). It's also not obvious to me that that's how I'd stop progressive loading, if that were my goal as a user. I'm trying to think about what the settings UX would look like, and I'm coming up with something pretty confusing.
```
And another teammate chimed in:
```
I don't feel like an expert on this at all, but my initial thoughts are that it might be very one-directional.
People who already have prefers-reduced-motion *might* benefit from avoiding progressive repainting. Most likely they'd be fine with it, even if progressive painting didn't bother them.
However, people who dislike progressive painting aren't as likely to be happy with enabling "prefers reduced motion" since it makes a bunch of other changes too, like eliminating smooth scrolling.
This is tough - it is a challenge to add another setting, and I also worry that this setting could be yet another way to fingerprint users.
```
|
|
|
_wb_
|
2021-05-11 05:10:13
|
Fingerprinting: valid concern, and would be a reason not to expose this preference in any (easily) observable way: e.g. don't add a http header that asks servers to send a progressive or non-progressive image, don't make it something that can be queried in css or js, just make the progressive rendering of images have more or less repaints.
|
|
2021-05-11 05:12:51
|
The one-directional aspect of it I agree with: if you are fine with motion in general but you just dislike progressive loading, you'd have to "kill a mosquito with a bazooka"...
|
|
2021-05-11 05:16:05
|
Why users don't like progressive loading is a good question. I think the vast majority of users **do** like progressive loading (90% or more). But apparently there are some who don't like it, and I don't really know their reasons.
|
|
|
190n
|
2021-05-11 05:19:15
|
afaik the only way to read pixels from an image is to draw it to a canvas and read image data from there. that api might already be disabled if the browser is trying hard to resist fingerprinting. otherwise they could probably make it so that (if this is not already the case) drawing an image to the canvas will only draw anything if the image has been fully downloaded and decoded
|
|
2021-05-11 05:19:26
|
i should try this out actually
|
|
|
_wb_
|
2021-05-11 05:21:47
|
Two reasons why people might not like it: (but I am mostly just hypothesizing here)
- the image goes from blurry to sharp in a series of updates, which adds cognitive load because the screen is updating more, but also because they first thought there was a blurry image there but then it turns out to be a sharp image
- not knowing when the image is actually fully loaded (do I see all detail now? Or is it still loading?) can be uncomfortable
|
|
2021-05-11 05:26:15
|
The first reason could be alleviated by doing fewer repaints. The second reason could be alleviated by showing progress of loading in an additional way, e.g. by having the option to overlay a non-obtrusive little progress bar on images that haven't fully loaded yet. (For sequentially loading images, this isn't needed because the image itself **is** a kind of progress bar, but for progressively loading images it is less obvious what the loading status is)
|
|
2021-05-11 05:30:39
|
Both are possible, but it makes more sense to me as a browser-wide preference than as a page specific design choice.
|
|
|
190n
|
|
190n
i should try this out actually
|
|
2021-05-11 06:30:56
|
ok so i tested with a progressive jpeg and throttled network. if you draw an image on a canvas it only draws anything if the image is fully loaded
|
|
2021-05-11 06:31:34
|
i can't think of any other ways you could access a partial image, unless you are decoding it yourself in wasm or something (but then you decide whether to decode it progressively)
|
|
2021-05-11 06:36:01
|
just firefox
|
|
2021-05-11 06:38:48
|
chromium is the same
|
|
2021-05-11 06:39:59
|
and epiphany (based on webkit)
|
|
|
_wb_
|
2021-05-11 07:11:43
|
Yes, I don't think there is a fingerprinting issue
|
|
2021-05-11 07:14:11
|
<@!356568358407241729> feel free to send back my comments to the chrome a11y folks, or to invite them here π
|
|
|
|
paperboyo
|
|
_wb_
The first reason could be alleviated by doing fewer repaints. The second reason could be alleviated by showing progress of loading in an additional way, e.g. by having the option to overlay a non-obtrusive little progress bar on images that haven't fully loaded yet. (For sequentially loading images, this isn't needed because the image itself **is** a kind of progress bar, but for progressively loading images it is less obvious what the loading status is)
|
|
2021-05-11 08:23:04
|
_showing progress of loading in an additional way_
Isnβt the usual Stop navigation cross button in the address bar (that changes to Reload page) already in every browser not enough to indicate that the page is still loading? Adding per-image loading indicator would increase visual noise and would come with its own 77 problems IMHO.
|
|
|
_wb_
|
2021-05-11 08:29:33
|
For me it is enough, but for people who say they don't like it that they don't like progressive because it is hard to tell when an image is done loading, it might not be enough to have a global "page is loaded" indicator but they may want it per-image. In any case I agree that it does add visual noise and it should certainly not be something to do by default, but only as an optional browser ui/ux preference... just to give those who prefer incremental over progressive because incremental has a 'built-in' per-image progress bar that they're missing in the progressive case. I would do it as a small, 50% transparent overlay at the top or bottom of the image, so it doesn't add too much visual noise.
|
|
|
Crixis
|
|
_wb_
For me it is enough, but for people who say they don't like it that they don't like progressive because it is hard to tell when an image is done loading, it might not be enough to have a global "page is loaded" indicator but they may want it per-image. In any case I agree that it does add visual noise and it should certainly not be something to do by default, but only as an optional browser ui/ux preference... just to give those who prefer incremental over progressive because incremental has a 'built-in' per-image progress bar that they're missing in the progressive case. I would do it as a small, 50% transparent overlay at the top or bottom of the image, so it doesn't add too much visual noise.
|
|
2021-05-11 08:36:57
|
seem an over-complicate solution
|
|
|
_wb_
|
2021-05-11 08:38:51
|
I guess that depends on how strongly people feel about the problem.
|
|
2021-05-11 08:40:28
|
If they feel strongly enough about it to make it a reason to not do progressive rendering for anyone, then I'd rather have an over-complicated solution than to just say "too bad, let's not do progressive rendering at all".
|
|
|
Crixis
|
2021-05-11 02:19:48
|
This problem can be similiar to patch finding problem? https://en.wikipedia.org/wiki/Longest_repeated_substring_problem
|
|
2021-05-11 02:20:35
|
seem O(n)
|
|
|
|
veluca
|
2021-05-11 03:36:17
|
heh, I didn't know that problem - but unfortunately a suffix tree is inherently a 1d data structure, not going to help for patches...
|
|
|
Crixis
|
|
veluca
heh, I didn't know that problem - but unfortunately a suffix tree is inherently a 1d data structure, not going to help for patches...
|
|
2021-05-11 03:43:36
|
https://link.springer.com/referenceworkentry/10.1007/978-0-387-30162-4_442, help?
|
|
|
raysar
|
|
_wb_
For me it is enough, but for people who say they don't like it that they don't like progressive because it is hard to tell when an image is done loading, it might not be enough to have a global "page is loaded" indicator but they may want it per-image. In any case I agree that it does add visual noise and it should certainly not be something to do by default, but only as an optional browser ui/ux preference... just to give those who prefer incremental over progressive because incremental has a 'built-in' per-image progress bar that they're missing in the progressive case. I would do it as a small, 50% transparent overlay at the top or bottom of the image, so it doesn't add too much visual noise.
|
|
2021-05-11 03:45:02
|
That the same for me, even for lightroom. A cool solution is the decoder add information on partial decoded picture, like a 2px green frame, or something like that ^^
|
|
|
|
veluca
|
2021-05-11 03:45:07
|
not with those complexities π also it's useful to find "similar enough" patches, not just exactly equal patches
|
|
|
Crixis
|
|
|
veluca
|
2021-05-11 03:47:54
|
there are probably some reasonable ways to do it
|
|
2021-05-11 03:48:53
|
I think with hash tables we can do better than what we do now
|
|
2021-05-11 03:49:06
|
... for detecting *similar* patches
|
|
2021-05-11 03:49:16
|
for detecting *text-like* patches, that's another story
|
|
|
raysar
|
|
_wb_
For me it is enough, but for people who say they don't like it that they don't like progressive because it is hard to tell when an image is done loading, it might not be enough to have a global "page is loaded" indicator but they may want it per-image. In any case I agree that it does add visual noise and it should certainly not be something to do by default, but only as an optional browser ui/ux preference... just to give those who prefer incremental over progressive because incremental has a 'built-in' per-image progress bar that they're missing in the progressive case. I would do it as a small, 50% transparent overlay at the top or bottom of the image, so it doesn't add too much visual noise.
|
|
2021-05-11 03:51:03
|
Other solution is the partial decoding was pixelated with no blur, only display 1:8 1:4 and 1:1 so there are no ambiguity about partial decoding ^^
|
|
|
_wb_
|
|
veluca
for detecting *text-like* patches, that's another story
|
|
2021-05-11 04:11:33
|
For detecting regions suitable for encoding with modular patches, a heuristic that works like this can be useful:
Compute residuals of some modular predictor (gradient or select would likely work well), bucketing it into three classes: equal to zero (A), non-zero but lowish amplitude (B), and high amplitude (C). Then if in some part of the image you have mostly A and some C but little B, it is likely good to segment that part into a modular frame (and investigate it for repetitive stuff).
|
|
|
Scientia
|
2021-05-12 02:08:51
|
From what I know patches can be modular, lossy modular, and vardct. A lossless image by definition should use lossless modular patches. Also a jpeg lossless transcode can't use patches because it's supposed to be able to reconstruct the original jpg
|
|
2021-05-12 02:09:29
|
Maybe jpeg lossless compression could use patches but I don't think it can without making it not reconstruct identically
|
|
|
BlueSwordM
|
2021-05-12 02:18:20
|
It might be that the computation was being done, but not applied.
|
|
2021-05-12 02:18:32
|
This might give a free efficiency boost, particularly in some type of content.
|
|
|
Pieter
|
|
Scientia
Maybe jpeg lossless compression could use patches but I don't think it can without making it not reconstruct identically
|
|
2021-05-12 02:19:00
|
No, patches are after DCT decoding... you can't output DCT coefficients if patches are to be applied afterwards.
|
|
|
Scientia
|
|
Pieter
|
2021-05-12 02:25:33
|
(this is based on my high-level understanding, I don't know the actual details)
|
|
2021-05-12 02:26:21
|
I guess patches inside the DC part of VarDCT could work... unsure.
|
|
|
monad
|
2021-05-12 04:57:07
|
0.4 may be the next release, given: https://discord.com/channels/794206087879852103/804324493420920833/840310585719652392
|
|
|
_wb_
|
2021-05-12 05:05:37
|
It was still doing some of the work, for nothing. It might get a bit slower now if it actually finds patches, not sure.
|
|
2021-05-12 05:13:28
|
Q1: Yes. At least for up to 16-bit. For higher bitdepth we are disabling patches in lossless mode because our implementation is working on floats at that point and we run into the problem that A+B-B != A can happen in floating point arithmetic (not a bitstream issue, just an implementation limitation).
Q2: Right. The old JPEG doesn't have patches so when losslessly recompressing it, we cannot use patches.
|
|
|
Pieter
|
2021-05-12 05:20:45
|
<@794205442175402004> What about patches in the DC component?
|
|
2021-05-12 05:20:59
|
Or are those restricted to full-frame end results?
|
|
|
_wb_
|
2021-05-12 05:23:05
|
You could do it with a DC frame, I suppose
|
|
2021-05-12 05:23:48
|
Not with the default "DC is part of the frame data" approach though
|
|
2021-05-12 05:24:57
|
The current encoder is not trying to find patches in DC frames (also not in the spritesheet frames created for Patches)
|
|
|
|
Deleted User
|
|
_wb_
The current encoder is not trying to find patches in DC frames (also not in the spritesheet frames created for Patches)
|
|
2021-05-12 06:56:28
|
> The current encoder is not trying to find patches [...] ([...] in the spritesheet frames created for Patches)
That'd be "patch-ception", right?
|
|
2021-05-12 07:19:42
|
<@!794205442175402004> apparently SSIMULACRA uses L\*a\*b\* color space. Do you think it'd give better results if it was rewritten to use XYB instead?
|
|
|
_wb_
|
2021-05-12 07:23:43
|
Maybe. Or maybe XYB for the high-res scale, Lab for the lower res scales.
|
|
|
> The current encoder is not trying to find patches [...] ([...] in the spritesheet frames created for Patches)
That'd be "patch-ception", right?
|
|
2021-05-12 07:25:11
|
Patch-ception is possible, bitstream-wise, but the current encoder doesn't go there (and it is likely very hard to do that in a useful way)
|
|
|
|
veluca
|
|
_wb_
Patch-ception is possible, bitstream-wise, but the current encoder doesn't go there (and it is likely very hard to do that in a useful way)
|
|
2021-05-12 07:56:08
|
it can be useful for colored text: you encode black and white letters in a first patch frame, use alpha blended patches to color it in the second patch frame, and then paint them on the main image
|
|
|
_wb_
|
2021-05-12 09:10:01
|
Yes, or to make letters from letter segments or common words from letters, if that ends up being cheaper to signal
|
|
|
bobdod
|
|
_wb_
The one-directional aspect of it I agree with: if you are fine with motion in general but you just dislike progressive loading, you'd have to "kill a mosquito with a bazooka"...
|
|
2021-05-12 03:42:17
|
My hunch is that this may be the strongest argument against making it part of prefers-reduced-motion. As a user and as a developer I think I'd be surprised that choosing this option (which I normally associate with transitions/animations) would affect the way images render.
|
|
|
_wb_
|
2021-05-12 03:48:11
|
I don't disagree. I suppose the question is: how severe is the problem that some people seem to have with progressive rendering, and does it justify adding a user preference setting to choose between two (or more) rendering behaviors?
|
|
|
bobdod
|
|
_wb_
I don't disagree. I suppose the question is: how severe is the problem that some people seem to have with progressive rendering, and does it justify adding a user preference setting to choose between two (or more) rendering behaviors?
|
|
2021-05-12 03:55:16
|
yeah that's a good question... How have users previously reported not liking it? I'm trying to sort of brainstorm a way of getting this feedback from folks.
|
|
|
_wb_
|
2021-05-12 03:55:16
|
I am personally fine with just always rendering images as progressively as possible (within reason - I don't need more than 2 repaints per second or something).
|
|
2021-05-12 03:57:39
|
I don't know many people who don't like progressive rendering. I know Pascal Massimino doesn't like it.
|
|
2021-05-12 04:03:13
|
As far as I know, it is a topic that pops up every once in a while, but there's not really a lot of data available on actual user preferences
|
|
|
bobdod
|
2021-05-12 04:04:10
|
I pinged the Chrome a11y folks to ask if they know of any sort of standards associated group that can help determine if a feature has potential accessibility issues. I guess I'd be most interested in seeing if something may affect someone because of a possible disability, versus them not liking something because they have a strong stylistic opinion.
|
|
2021-05-12 04:06:07
|
If it turns out that progressive rendering really does bother someone because they have a vestibular disorder then that would further the case that it should be gated by prefers-reduced-motion.
|
|
|
_wb_
|
2021-05-12 04:06:55
|
Yes, that makes sense.
|
|
|
bobdod
|
2021-05-12 04:08:29
|
Y'all might also try doing a survey of some kind? Or creating an open discussion thread on GitHub. I've done that in the past when we had open questions related to specs. We'd create a thread and put the word out on twitter to ask for feedback.
|
|
|
_wb_
|
2021-05-12 04:10:55
|
It would certainly be interesting to know how people think about it - both in terms of stylistic preference and in terms of actual a11y issues.
|
|
2021-05-12 04:14:14
|
Progression does of course also bring a11y benefits, in particular for people with poor or unreliable network conditions
|
|
|
spider-mario
|
|
paperboyo
_showing progress of loading in an additional way_
Isnβt the usual Stop navigation cross button in the address bar (that changes to Reload page) already in every browser not enough to indicate that the page is still loading? Adding per-image loading indicator would increase visual noise and would come with its own 77 problems IMHO.
|
|
2021-05-12 05:28:20
|
there would be ways to reduce the visual noise, for example the indicator could appear on images of at least a certain size, after at least a few seconds of loading, and with a smooth fade-in / fade-out animation instead of abruptly
|
|
|
_wb_
|
2021-05-12 05:39:11
|
Some older discussions on progressive loading: https://github.com/WICG/largest-contentful-paint/issues/68
|
|
|
diskorduser
|
2021-05-13 06:44:24
|
png and jxl are in same size. Is it a imagemagick bug? (The Input is a 16bit PNG)
|
|
|
_wb_
|
2021-05-13 06:56:34
|
Is the jxl actually a jxl?
|
|
2021-05-13 06:57:48
|
(I think if you have an imagemagick without jxl support, it might produce png files if you give it an "unknown" output extension)
|
|
2021-05-13 08:02:10
|
Strange coincidence then that the sizes are so close. I would expect a q95 jxl to be much smaller than a png... Does cjxl have the same behavior?
|
|
|
diskorduser
|
2021-05-13 08:05:40
|
File is 27mb. From file manager properties panel.
|
|
|
_wb_
(I think if you have an imagemagick without jxl support, it might produce png files if you give it an "unknown" output extension)
|
|
2021-05-13 08:09:47
|
Yeah. Your are right. It is outputting a PNG file. That's why file size is huge.
|
|
|
_wb_
|
2021-05-13 08:16:14
|
Not really, at least not as a valid jxl bitstream
|
|
2021-05-13 08:16:27
|
What are the first few bytes of the file?
|
|
2021-05-13 08:17:10
|
`hexdump bla.jxl | head` or something would be useful
|
|
|
diskorduser
|
2021-05-13 08:20:02
|
Sorry. It was my fault. Recently I updated my arch. It replaced the imagemagick compiled with jxl with Arch's non jxl imagemagick.
|
|
|
_wb_
|
2021-05-13 08:23:42
|
ff0a is a jxl codestream
|
|
2021-05-13 08:24:22
|
So I guess just a coincidence that the sizes are so close
|
|
|
diskorduser
|
2021-05-13 08:35:25
|
got another problem.
|
|
2021-05-13 08:36:28
|
no. all file sizes are same. 171kb , different quality
|
|
2021-05-13 08:38:45
|
The imagemagick is from https://build.opensuse.org/package/binaries/home:user5664536:linux/imagemagick/Arch
|
|
2021-05-13 08:40:19
|
π¦
|
|
|
Eugene Vert
|
2021-05-13 08:43:54
|
Maybe related
https://gitlab.com/wg1/jpeg-xl/-/issues/179
|
|
|
_wb_
|
2021-05-13 08:51:42
|
Probably that code predates most of the libjxl encode api. We should improve the encode api and update ImageMagick/Gimp/... integrations...
|
|
|
Dirk
|
2021-05-13 09:36:03
|
Was already reading `cjxl.cc` to figure out how the quality option works there.
|
|
|
|
veluca
|
2021-05-13 09:36:54
|
if you're using the C API then cjxl won't tell you much
|
|
2021-05-13 09:38:05
|
the relevant API function IIRC is `JxlEncoderOptionsSetDistance`
|
|
|
Dirk
|
2021-05-13 09:38:13
|
It does and it doesn't π It at least tells me that we should probably call `JxlEncoderOptionsSetDistance`
|
|
|
|
veluca
|
|
Dirk
|
2021-05-13 09:43:37
|
But it does look like we don't have access to `quality_pair` that we probably also need to set when the quality is `100`
|
|
|
_wb_
|
2021-05-13 09:44:33
|
That one is for lossy modular
|
|
|
Dirk
|
2021-05-13 09:44:50
|
`if (quality < 7 || quality == 100 || params.modular_mode)` ?
|
|
|
|
veluca
|
2021-05-13 09:45:12
|
there's a SetLossless for that
|
|
|
Dirk
|
2021-05-13 09:45:33
|
We are using that but I was wondering if we should also set the quality_pair
|
|
|
_wb_
|
2021-05-13 09:47:18
|
Yes, currently it uses lossy modular only if you do really low quality
|
|
|
Dirk
|
2021-05-13 09:50:04
|
We call `JxlEncoderOptionsSetLossless` when the `-quality` is set to `100`. That is not sufficient?
|
|
|
|
veluca
|
2021-05-13 09:51:34
|
no no, that is sufficient
|
|
2021-05-13 09:51:55
|
you only need SetLossless for q=100 or SetDistance for q < 100
|
|
2021-05-13 10:07:23
|
I don't think so, there's something like `JxlEncoderStoreJpegFrame` but I have no idea if IM can even get a JPEG frame at that point (<@693227044061839360>)
|
|
|
Dirk
|
2021-05-13 10:09:51
|
It looks we are are talking about two different things. Storing a jpeg lossless in a jxl container and storing image data lossless.
|
|
|
|
veluca
|
2021-05-13 10:10:25
|
yep, two completely separate things, agree
|
|
|
Dirk
|
2021-05-13 10:11:09
|
We cannot do the first one because we decode the jpeg and store it in our internal pixel storage. If you want that it would be better to use JXL tooling instead.
|
|
2021-05-13 10:14:01
|
This is now not possible indeed. And in theory we could do this with an "image attribute" to store the raw jpeg data but I really wonder if we should add that to ImageMagick.
|
|
|
|
veluca
|
2021-05-13 10:15:01
|
yeah, it does seem somewhat out of scope to me
|
|
|
Dirk
|
2021-05-13 10:21:58
|
Not saying we will never do that but it feels like an edge case to me. And our normal process is to decode the file to pixels first. And that will mean that we don't have the original data after the image has been read. This would mean you would need to "attach" the original data to a bogus image and then encode it. That feels super hacky and probably not something we would add.
Attaching the original JPEG data to the image when we decode it could be an option. But also something that we will not likely add very soon.
|
|
2021-05-13 10:34:18
|
Done, and also just added support for setting the Butteraugli distance using `-quality`.
|
|
|
_wb_
|
2021-05-13 10:36:31
|
I agree that IM objects are pixel data, not jpeg bitstreams. Maybe a special case could be added somehow for direct `convert foo.jpg foo.jxl` and back, but it would have to bypass the normal IM pipeline and of course cannot do any manipulation.
|
|
2021-05-14 06:32:42
|
libjxl is the name of the library
|
|
2021-05-14 06:33:01
|
So it would be a logical name for a package
|
|
2021-05-14 06:33:30
|
libjxl, libjxl-dev, libjxl-debug, jxl-tools
|
|
2021-05-14 06:34:38
|
I think that would be the most expected package names, at least for me
|
|
2021-05-14 06:48:32
|
The official name of the codec is also "JPEG XL", so with a space, not "JPEG-XL"...
|
|
2021-05-14 06:51:43
|
For the reference implementation, we go for "jxl" everywhere, since spaces are inconvenient. libjxl, cjxl, djxl, .jxl
|
|
|
raysar
|
2021-05-14 07:30:46
|
Seach engine also dislike two letter word.
|
|
|
spider-mario
|
|
_wb_
For the reference implementation, we go for "jxl" everywhere, since spaces are inconvenient. libjxl, cjxl, djxl, .jxl
|
|
2021-05-14 08:45:02
|
maybe the one exception to this is `benchmark_xl`
|
|
|
_wb_
|
2021-05-14 08:51:02
|
Yes, but it doesn't only benchmark jxl, you can also compare with webp/avif/jpeg with it, so maybe it's an extra-large benchmark tool? π
|
|
2021-05-16 07:24:49
|
https://www.reddit.com/r/compression/comments/ndule0/best_compression_method_to_store_files_on_a/
|
|
|
Scientia
|
2021-05-16 10:01:49
|
Avif could do it
|
|
2021-05-16 10:02:07
|
I think it's better suited
|
|
2021-05-16 10:02:27
|
Because of course if you are aiming to fit images into a floppy disk
|
|
2021-05-16 10:02:41
|
Lower quality is acceptable
|
|
|
improver
|
2021-05-16 10:16:50
|
if only AVIF headers wouldn't take kilobytes on their own
|
|
2021-05-16 10:18:29
|
though in some cases it could probably still come out as better trade-off so Β―\\\_(γ)\_\/Β―
|
|
|
BlueSwordM
|
|
improver
if only AVIF headers wouldn't take kilobytes on their own
|
|
2021-05-17 12:50:53
|
I mean, to be fair, it can easily be made smaller from 300 bytes down to 150-188b.
|
|
|
190n
|
2021-05-17 12:56:09
|
how?
|
|
2021-05-17 01:07:52
|
i used a usb floppy drive once to copy some stuff off floppies, must have been 7-10 years ago but suppose it would still work on anything with a type-a port
|
|
|
improver
if only AVIF headers wouldn't take kilobytes on their own
|
|
2021-05-17 01:08:43
|
depending on how much of the avif header is fixed, maybe they could see space savings from zipping up a bunch of avifs
|
|
|
Scientia
|
2021-05-17 01:14:17
|
avifz
|
|
2021-05-17 01:14:23
|
<:monkaMega:809252622900789269>
|
|
2021-05-17 01:16:57
|
I assume?
|
|
|
BlueSwordM
|
|
190n
how?
|
|
2021-05-17 01:20:29
|
Well, cavif-rs only has an 188b header, even on larger images.
|
|
|
190n
|
2021-05-17 01:21:14
|
ah interesting
|
|
|
improver
|
2021-05-17 03:11:45
|
nice to hear tbh
|
|
|
_wb_
|
|
BlueSwordM
Well, cavif-rs only has an 188b header, even on larger images.
|
|
2021-05-17 05:08:58
|
Does it produce spec-compliant avif files, or just files that happen to decode?
|
|
2021-05-17 11:32:55
|
That is an application-level choice, I suppose.
|
|
|
fab
|
2021-05-17 11:33:59
|
you're talking about an animated jxl?
|
|
|
_wb_
|
2021-05-17 11:34:54
|
I think it would be reasonable for a viewer to display it as an animation but also have an option to go through the frames and e.g. extract a single frame
|
|
2021-05-17 11:36:00
|
but it depends on the scope of the viewer, e.g. probably a browser shouldn't have that functionality (or at least not when showing it in the img tag)
|
|
2021-05-17 11:37:19
|
It might also make sense to present it in a multi-page way, like how a PDF is shown
|
|
2021-05-17 11:40:58
|
It would be good to have some convention on when to interpret it as animation (so autoplay makes sense) and when to interpret it as a multi-page thing (so manual page flipping makes sense, or even showing the pages vertically with a scrollbar). This is not something that the spec specifies, it's a bit out of scope since it's more about presentation than about decoding.
|
|
|
|
Deleted User
|
|
_wb_
but it depends on the scope of the viewer, e.g. probably a browser shouldn't have that functionality (or at least not when showing it in the img tag)
|
|
2021-05-17 04:17:55
|
How would a browser even access multiple pages in one file? Would you need html commands to trigger a change of pages? Or could you access them like: `src="/image.jxl#2"`?
|
|
|
_wb_
|
2021-05-17 04:19:08
|
I dunno, I was thinking about how a PDF gets shown
|
|
|
|
Deleted User
|
2021-05-17 04:23:26
|
Or like multipage TIFFs are shown
|
|
2021-05-17 04:24:04
|
How are they shown?
|
|
2021-05-17 04:27:16
|
Also, who is going to decide about that? Are you talking to the Chrome and Firefox devs and recommend how things should be handled or is this something every browser will do differently?
|
|
2021-05-17 04:31:50
|
This is a multipage TIFF, first converted from GIF to individual PNG frames with `ffmpeg` and then merged into TIFF with ImageMagick's `convert`.
|
|
2021-05-17 04:32:33
|
Which browser are you using?
|
|
|
Nova Aurora
|
2021-05-17 04:33:31
|
I can't even open it in my firefox
|
|
|
|
Deleted User
|
2021-05-17 04:35:14
|
Windows opens TIFFs by default in older Windows Photo Gallery and it looks like this:
|
|
|
Or like multipage TIFFs are shown
|
|
2021-05-17 04:35:22
|
So you mean how multipage TIFFs are shown in general, not in browser: Understood.
|
|
|
Nova Aurora
|
2021-05-17 04:35:36
|
Okular sees it as a multipage file, but qview, the viewer I use, doesn't acknowledge the extra pages
|
|
|
190n
|
2021-05-17 04:36:01
|
eog:
|
|
2021-05-17 04:36:26
|
in document viewer:
|
|
|
Nova Aurora
|
|
190n
in document viewer:
|
|
2021-05-17 04:36:59
|
<:kde:821845105518444625>nome
|
|
2021-05-17 04:37:31
|
Which distro?
|
|
|
190n
|
2021-05-17 04:38:13
|
arch
|
|
2021-05-17 04:38:28
|
eog and evince v40.1
|
|
|
Nova Aurora
|
2021-05-17 04:39:24
|
I've got arch
|
|
2021-05-17 04:39:49
|
The only problem I have is that it's networking is always cludgy trying to install
|
|
|
bobdod
|
2021-05-17 05:08:24
|
<@!794205442175402004> I spoke with the Chrome folks and they mentioned that there's something called the APA which is connected to the w3c. I'm not very familiar with them, but I think they usually review specs for possible accessibility issues. I'm not sure how this aligns with their work since this is more of an implementation question rather than a spec question. But one can file a spec review here: https://github.com/w3c/a11y-request/issues
|
|
|
_wb_
|
2021-05-17 05:11:18
|
Cool, that is interesting. Not sure if there's something for them to review, like you say. But might be good to ask their opinions, maybe.
|
|
|
diskorduser
|
2021-05-17 05:39:07
|
magick ref.tif -profile icc/ProPh.icc -resize 300x -profile icc/sRGB_v4_ICC_preference_displayclass.icc temp.jxl
|
|
2021-05-17 05:39:11
|
magick ref.tif -profile icc/ProPh.icc -resize 300x -profile icc/sRGB_v4_ICC_preference_displayclass.icc temp.jpg
|
|
2021-05-17 05:39:51
|
jxl colors look washed out
|
|
2021-05-17 05:41:09
|
|
|
|
_wb_
|
2021-05-17 05:43:47
|
Hm, wonder where the issue is. What happens if you first make a png and use cjxl on that?
|
|
|
diskorduser
|
|
_wb_
Hm, wonder where the issue is. What happens if you first make a png and use cjxl on that?
|
|
2021-05-17 05:45:43
|
It looks fine. png -> jxl with cjxl
|
|
|
_wb_
|
2021-05-17 05:46:10
|
And if you do png -> jxl with magick?
|
|
|
diskorduser
|
2021-05-17 05:47:08
|
washed out colors.
|
|
2021-05-17 05:50:01
|
magick ref.tif -profile icc/ProPh.icc -resize 300x -profile icc/sRGB_v4_ICC_preference_displayclass.icc temp.png
|
|
2021-05-17 05:50:25
|
magick temp.png pngtojxl.jxl
|
|
2021-05-17 05:51:44
|
I am using gwenview with this patch. https://invent.kde.org/novomeskyd/gwenview/-/commit/c0c613bf665e827f912f4a9c71384469b3ba3f7e
|
|
|
_wb_
|
2021-05-17 05:56:43
|
Hm, what if you do lossless jxl?
|
|
|
diskorduser
|
2021-05-17 05:57:17
|
Is -quality 100 on imagemagick lossless?
|
|
|
_wb_
|
2021-05-17 05:57:23
|
I think so
|
|
|
diskorduser
|
2021-05-17 05:57:51
|
JXL_ASSERT: !fp
[1] 26515 illegal hardware instruction (core dumped) magick temp.png -quality 100 pngtojxl.jxl
|
|
|
improver
|
2021-05-17 05:58:07
|
lol nice
|
|
|
Nova Aurora
|
2021-05-17 05:58:17
|
Could we get the png?
|
|
|
diskorduser
|
2021-05-17 05:58:26
|
ok
|
|
2021-05-17 05:58:56
|
|
|
|
_wb_
|
2021-05-17 05:59:35
|
Hm I remember that assert, but I don't remember if or how it was fixed
|
|
|
improver
|
2021-05-17 06:00:24
|
```
% cjxl -q 100 temp.png temp.png.jxl
J P E G \/ |
/\ |_ e n c o d e r [v0.3.7 | SIMD supported: AVX2]
Read 300x400 image, 13.0 MP/s
Encoding [Modular, lossless, squirrel], 6 threads.
Compressed to 476525 bytes (31.768 bpp).
300 x 400, 0.36 MP/s [0.36, 0.36], 1 reps, 6 threads.
```
this worked okay. do i need color profile too to trigger, or is that different ver?
|
|
|
diskorduser
|
2021-05-17 06:00:25
|
I don't understand. the png has both srgb and prophoto icc. π€
|
|
|
improver
```
% cjxl -q 100 temp.png temp.png.jxl
J P E G \/ |
/\ |_ e n c o d e r [v0.3.7 | SIMD supported: AVX2]
Read 300x400 image, 13.0 MP/s
Encoding [Modular, lossless, squirrel], 6 threads.
Compressed to 476525 bytes (31.768 bpp).
300 x 400, 0.36 MP/s [0.36, 0.36], 1 reps, 6 threads.
```
this worked okay. do i need color profile too to trigger, or is that different ver?
|
|
2021-05-17 06:01:50
|
the error happens on imagemagick. not on cjxl
|
|
|
_wb_
|
2021-05-17 06:02:13
|
Icc takes precedence then
|
|
2021-05-17 06:02:39
|
Or you mean it has two icc profiles?
|
|
|
diskorduser
|
2021-05-17 06:03:28
|
I see both srgb in colorspace and prophoto in magick identify
|
|
2021-05-17 06:05:02
|
`identify -verbose temp.png | ag colorspace
Colorspace: sRGB
exif:ColorSpace: 65535
identify -verbose temp.png | ag prophoto
icc:description: ProPhoto RGB`
|
|
|
_wb_
|
2021-05-17 06:05:51
|
Exif colorspace? π€
|
|
2021-05-17 06:06:12
|
What does the result of cjxl --strip look like?
|
|
|
diskorduser
|
2021-05-17 06:06:21
|
`identify -verbose temp.png | ag exif
exif:ApertureValue: 1.851999
exif:ColorSpace: 65535`
|
|
2021-05-17 06:07:17
|
Imagemagick is too confusing. I should stick to cjxl then.
|
|
|
_wb_
|
2021-05-17 06:07:32
|
Things are really complicated when there is both an ICC profile and Exif saying stuff about the color interpretation too
|
|
2021-05-17 06:07:57
|
cjxl by default preserves the exif, while magick might strip it atm
|
|
|
diskorduser
|
2021-05-17 06:13:35
|
It still looks washed out even with `>magick ref.tif -profile icc/ProPh.icc -resize 300x -profile icc/sRGB_v4_ICC_preference_displayclass.icc -strip temp.png
>magick temp.png pngtojxl.jxl`
|
|
|
improver
|
2021-05-17 06:15:36
|
can imagemagick in its current state even do jxl color profile stuff?
|
|
|
_wb_
|
2021-05-17 06:18:37
|
<@693227044061839360> is the expert on that
|
|
|
|
paperboyo
|
|
diskorduser
I see both srgb in colorspace and prophoto in magick identify
|
|
2021-05-17 11:05:52
|
My poor-manβs understanding:
> Colorspace: sRGB
This is meaningless and doesnβt say anything beyond that the image is RGB (ie. not CMYK). It [may indicate](https://imagemagick.org/script/command-line-options.php#colorspace) a way IM is nterpreting the default, uncalibrated, images and in which colour space it performs operations (?) if you donβt explicitly convert to intermediary space, or it may not. It changed one day, before it said just `RGB` (around the time IM started to be serious about colour management).
> exif:ColorSpace: 65535
This is Exif DCF saying _Uncalibrated_. So, basically, not sRGB. Together with [InteropIndex](https://exiftool.org/TagNames/EXIF.html) it may well mean AdobeRGB (the only two colourspaces Exif can indicate via DCF are sRGB and AdobeRGB).
Proper ICC colour profile should always take precedence over any of this (just like it should with PNG colour metadata, not sure, but hopefully, how it should also take precedence over new fancy AVIF or JXL colour metadata). Itβs the responsibility of any good software always reconcile all the colour metadata and never leave any redundant or, worse still, conflicting bits in. Donβt think I have met such software yet, though π .
|
|
2021-05-17 11:07:34
|
TL;DR: only that bit matters:
> icc:description: ProPhoto RGB
|
|
|
diskorduser
|
|
paperboyo
TL;DR: only that bit matters:
> icc:description: ProPhoto RGB
|
|
2021-05-18 05:49:24
|
colors looks dull even after using strip on imagemagick. It is very confusing π£
|
|
|
Eugene Vert
|
2021-05-18 10:02:29
|
For many transcoded jxl images in GIMP (w/ and w/o icc_profile), i'm getting
`GIMP-Error: JPEG XL image plug-in could not open image`
after `JXL_RETURN_IF_ERROR(DecodeFile(dparams, compressed, &io, &pool));`
in `file-jxl-load.cc:LoadJpegXlImage`
|
|
2021-05-18 10:05:08
|
And opening some lossy/lossles jxl images gives blank canvas
|
|
2021-05-18 10:26:18
|
Some examples https://drive.google.com/file/d/1T5X-Cp02JaC50jdKrGhUSIrAJIdHGj8X/view
|
|
|
_wb_
|
2021-05-18 10:35:50
|
oops wrong channel
|
|
2021-05-18 10:40:30
|
the SC 29 secretariat is in Japan
|
|
2021-05-18 10:40:44
|
how do you delete attached files from discord?
|
|
2021-05-18 10:42:53
|
it would be really bad for ISO's paywall if people could just download that from here
|
|
2021-05-18 10:44:35
|
got wifi trouble bbl
|
|
2021-05-18 10:49:39
|
Wifi is back
|
|
2021-05-18 10:50:24
|
Well we have a private discord channel for these things
|
|
|
fab
|
2021-05-18 10:53:27
|
delete the message
|
|
|
_wb_
|
2021-05-18 10:54:07
|
On my phone on 4G now
|
|
2021-05-18 10:54:38
|
How do you delete messages on the phone app for discord?
|
|
2021-05-18 10:56:24
|
How do I check if the link no longer works if I do that?
|
|
2021-05-18 10:56:59
|
Can someone put the link here so I can test after I delete?
|
|
2021-05-18 10:57:36
|
Thanks. Deleted the message
|
|
|
fab
|
2021-05-18 10:57:36
|
|
|
2021-05-18 10:57:52
|
still accesible
|
|
|
_wb_
|
2021-05-18 11:00:15
|
Really?
|
|
2021-05-18 11:02:17
|
Well we did what we could
|
|
2021-05-18 11:05:18
|
Yes, committee draft is public
|
|
2021-05-18 11:05:25
|
But indeed outdated
|
|
2021-05-18 11:09:07
|
What is the link again? Maybe I can ask Discord to take it offline...
|
|
|
Eugene Vert
|
2021-05-18 11:17:03
|
Maybe delete the mentions of this?
|
|
|
_wb_
|
2021-05-18 11:18:22
|
yes, I just need to find a way to ask Discord to take https://cdn.discordapp.com/attachments/794206087879852106/844161270164881428/ISO_IEC_FDIS_18181-1.pdf offline
|
|
2021-05-18 11:18:55
|
the link no longer works, it seems
|
|
2021-05-18 11:20:46
|
I get this if I click it:
|
|
2021-05-18 11:20:47
|
<Error>
<Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>Anonymous caller does not have storage.objects.get access to the Google Cloud Storage object.</Details>
</Error>
|
|
2021-05-18 11:21:31
|
so I think we're good
|
|
|
fab
|
2021-05-18 11:23:53
|
firefox still work
|
|
|
_wb_
|
2021-05-18 11:26:39
|
that means 1 to 7
|
|
2021-05-18 11:26:45
|
[ is included, ( is not included
|
|
2021-05-18 11:33:18
|
that's the same thing
|
|
|
Crixis
|
|
_wb_
yes, I just need to find a way to ask Discord to take https://cdn.discordapp.com/attachments/794206087879852106/844161270164881428/ISO_IEC_FDIS_18181-1.pdf offline
|
|
2021-05-18 11:33:34
|
I can't download
|
|
|
improver
|
2021-05-18 11:52:43
|
tfw missed standard leak :<
|
|
|
Crixis
|
|
improver
tfw missed standard leak :<
|
|
2021-05-18 11:54:29
|
Also I, i'm so sad
|
|
|
|
veluca
|
2021-05-18 12:58:10
|
#mathematicians π
|
|
|
improver
|
2021-05-18 01:01:49
|
`)` vs `]` in loop usually means `< maxval` vs `<= maxval`
|
|
|
|
veluca
|
2021-05-18 01:02:39
|
it's a standard mathematical notation
|
|
2021-05-18 01:03:01
|
`(a, b)` -> a and b excluded
|
|
2021-05-18 01:03:08
|
`[a, b]` -> a and b included
|
|
2021-05-18 01:03:21
|
`(a, b]` -> a excluded, b included
|
|
2021-05-18 01:03:23
|
and so on...
|
|
2021-05-18 01:03:41
|
some horrible, horrible people write it `]a, b[` instead of `(a, b)`
|
|
|
improver
|
2021-05-18 01:03:52
|
w-what
|
|
|
|
veluca
|
2021-05-18 01:04:15
|
https://en.wikipedia.org/wiki/Interval_(mathematics)#Notations_for_intervals
|
|
|
spider-mario
|
|
veluca
some horrible, horrible people write it `]a, b[` instead of `(a, b)`
|
|
2021-05-18 02:33:30
|
thatβs the notation we use in France
|
|
2021-05-18 02:33:39
|
I had never heard of the () notation before emigrating
|
|
|
Crixis
|
2021-05-18 02:34:11
|
in italy all two are in use
|
|
2021-05-18 02:34:42
|
[a,b[ = [a,b)
|
|
|
|
veluca
|
|
spider-mario
thatβs the notation we use in France
|
|
2021-05-18 02:41:15
|
as I said, horrible people π
|
|
|
spider-mario
|
2021-05-18 02:41:46
|
I should add that we use ; as the separator rather than ,
|
|
2021-05-18 02:41:50
|
since , is already the decimal separator
|
|
2021-05-18 02:41:52
|
:p
|
|
2021-05-18 02:42:08
|
]1,5β―; 4,5[
|
|
|
Eugene Vert
|
2021-05-18 03:32:17
|
Oh, there are issues on gitlab already
https://gitlab.com/wg1/jpeg-xl/-/issues/234
https://gitlab.com/wg1/jpeg-xl/-/issues/186
|
|
|
diskorduser
|
2021-05-18 05:04:44
|
Is it okay to open a GitHub issue on imagemagick jxl related bugs ? is it too early?
|
|
|
_wb_
|
2021-05-18 05:24:59
|
I dunno, I guess it doesn't hurt?
|
|
|
diskorduser
|
2021-05-18 05:53:19
|
I found that It doesn't properly convert any 16bit PNG to jxl.
|
|
|
Dirk
|
|
improver
can imagemagick in its current state even do jxl color profile stuff?
|
|
2021-05-18 07:38:40
|
We read the ICC profile of the image. We don't write color profiles at the moment.
|
|
|
improver
|
2021-05-18 07:40:48
|
so would work okay if transform to srgb happened i guess
|
|
|
Dirk
|
2021-05-18 07:41:48
|
I have seen that assert before and we had that issue with an older version of the jpeg-xl library. Haven't seen it afterwards
|
|
2021-05-18 07:42:08
|
<@!260412131034267649> If you transform to sRGB it should work.
|
|
2021-05-18 07:44:39
|
Not sure what you mean here. Maybe open a discussion on GitHub with a bit more info and the versions of ImageMagick and jpeg-xl that you are using?
|
|
|
diskorduser
Is it okay to open a GitHub issue on imagemagick jxl related bugs ? is it too early?
|
|
2021-05-18 07:45:18
|
You can open issues on GitHub or start a discussion if you have a question about ImageMagick and jxl.
|
|
|
|
Deleted User
|
|
_wb_
Well we have a private discord channel for these things
|
|
2021-05-19 03:53:22
|
Private Discord channel just for JPEG XL core devs?
|
|
|
spider-mario
I had never heard of the () notation before emigrating
|
|
2021-05-19 03:57:35
|
In higher education in Poland we use [a, b) "international" notation, but below college/uni, in primary and secondary schools we use <a, b). We also use a comma as a separator despite it being used for decimals too, so I personally use semicolon as a separator instead and keep commas just for decimals.
|
|
|
Pieter
|
2021-05-19 04:03:40
|
At school we used [a,b[. At university it was [a,b) I think.
|
|
|
_wb_
|
|
Private Discord channel just for JPEG XL core devs?
|
|
2021-05-19 04:46:11
|
Yes. There's also a gitlab-dev channel btw
|
|
|
Dirk
|
2021-05-19 05:21:14
|
I am unable top open your `temp.png` file it looks like your 1mb zst file only contains a 0.5mb png (using 7-zip 19.0).
And the other one is not a bug but an unsupported feature. Currently we only support writing 8 or 32 bit jxl files. And because the input file is 16 bit it will be "upgraded" to 32 bit. We will probably add support for `JXL_TYPE_UINT16` in the future but I don't know when that will happen.
|
|
2021-05-19 05:32:35
|
I can reproduce your assert issue. I don't know what is causing this though. It does seem to be related to the bit depth. Doing a convert with `logo:` (8-bit) does not reproduce the problem. Can your produce the issue the cjxl if you force it to use 32-bit instead of 16-bit? I suspect that this is a problem in the encoder.
|
|
2021-05-19 05:36:28
|
Do you also get an assert error when you do -q 100 (lossless)? Or is -q 99 lossless?
|
|
2021-05-19 05:51:55
|
Could you open up an issue on GitHub <@456226577798135808> ? This will probably take a lot more time to investigate why there is a difference between `cjxl` and ImageMagick.
|
|
|
_wb_
|
2021-05-19 05:52:12
|
There are some weird things in how jxl deals with 32-bit
|
|
2021-05-19 05:52:22
|
It can do lossless 32-bit float
|
|
|
Dirk
|
2021-05-19 05:53:00
|
And it also looks like we have a problem with 32-bit alpha because it looks like the alpha channel is a half float then? There is no 32-bit alpha support <@!794205442175402004> ?
|
|
|
_wb_
|
2021-05-19 05:53:26
|
There is
|
|
2021-05-19 05:53:37
|
Internally everything is a 32-bit float
|
|
|
Dirk
|
2021-05-19 05:53:45
|
``` switch (info->alpha_bits) {
case 0:
break;
case 32:
case 16:
enc->metadata.m.SetAlphaBits(16);
break;```
|
|
|
_wb_
|
2021-05-19 05:54:26
|
Hm, is that in the api?
|
|
|
Dirk
|
2021-05-19 05:54:33
|
`JxlEncoderSetBasicInfo`
|
|
|
_wb_
|
2021-05-19 05:55:14
|
That doesn't seem right
|
|
|
Dirk
|
2021-05-19 05:55:16
|
Probably not causing the problem here because this `temp.png` file has no alpha.
|
|
|
_wb_
|
2021-05-19 05:55:56
|
Still
|
|
2021-05-19 05:56:57
|
<@768090355546587137> can you take a look at the alpha encode api? Looks like it doesn't support 32-bit alpha
|
|
2021-05-19 05:58:53
|
But what causes that assert is attempting to do XYB and lossless float at the same time, iirc
|
|
2021-05-19 05:59:22
|
When doing lossless float, it shouldn't do any color conversion because that is not going to be lossless
|
|
2021-05-19 06:00:14
|
Might be some logic in cjxl that needs to migrate to the encode api, or something
|
|
|
diskorduser
|
2021-05-19 07:10:14
|
It looks like jxl gimp plugin doesn't support exporting 32 bit jxl.
|
|
|
Petr
|
2021-05-19 07:19:18
|
Don't you have "forbidden" characters in the path? https://gitlab.com/wg1/jpeg-xl/-/issues/184
|
|
|
|
lvandeve
|
|
_wb_
<@768090355546587137> can you take a look at the alpha encode api? Looks like it doesn't support 32-bit alpha
|
|
2021-05-19 11:33:28
|
This could be reported as a bug?
|
|
|
diskorduser
|
2021-05-19 06:21:23
|
I think this
|
|
2021-05-19 06:22:07
|
Intent
|
|
2021-05-19 06:27:20
|
probably a gwenview bug. those png display fine on photoshop.
|
|
|
|
Deleted User
|
2021-05-19 06:37:09
|
Or maybe something bitdepth-related? It doesn't matter in VarDCT, but it's crucial in Modular.
|
|
|
diskorduser
|
2021-05-19 06:50:03
|
both are 8 bit pngs
|
|
|
Dirk
|
2021-05-20 01:37:56
|
The next version of ImageMagick will support reading and writing 16-bit jxl images. This can be used as a work around for the assert that you had with the "32-bit" `temp.png` file <@456226577798135808>. I think we need to wait for the jpeg-xl team for proper 32 bit support.
|
|
2021-05-20 02:13:06
|
This also "solves" https://github.com/ImageMagick/ImageMagick/issues/3699.
|
|
|
fab
|
2021-05-20 02:24:36
|
https://www.reshade.net/
|
|
2021-05-20 02:24:48
|
Do not know if is original reshade this
|
|
2021-05-20 02:25:04
|
it claims to be really free
|
|
|
spider-mario
|
2021-05-20 02:28:20
|
FYI `convert temp.png temp.icc` can also be used for extracting ICC profiles
|
|
|
diskorduser
|
|
fab
https://www.reshade.net/
|
|
2021-05-21 05:30:51
|
You can get better results with esrgan or with topaz ai
|
|
|
190n
|
2021-05-21 10:33:11
|
this came up briefly in another server... jxl's additional (beyond color/alpha) channels could be used for steganography no?
|
|
2021-05-21 10:33:57
|
either hiding arbitrary data encoded into the channel values, or having another image there encoded with jxl. like if channels 5/6/7 produced an image when interpreted as r/g/b.
|
|
|
_wb_
|
2021-05-21 10:53:48
|
Sure
|
|
2021-05-21 10:55:34
|
Can hide extra images or whatever in any codec if you want. JPEG has markers for arbitrary stuff, PNG can add arbitrary chunks, etc
|
|
|
Pieter
|
2021-05-21 10:58:53
|
Or just concatenate to the file.
|
|
|
_wb_
|
2021-05-21 11:01:29
|
That works too
|
|
|
|
veluca
|
2021-05-21 11:02:30
|
there's a lot more subtle ways to do steganography by the way π
|
|
|
190n
|
2021-05-22 12:53:09
|
if you're decoding to a format that only supports the standard color channels i assume djxl would just ignore any other channels
|
|
|
improver
|
2021-05-22 01:14:16
|
iirc one can specify whether extra channel can be ignored or must be processed
|
|
|
_wb_
|
2021-05-22 05:57:50
|
Some extra channels have render impact, like alpha and spot colors
|
|
2021-05-22 05:58:14
|
Others don't, like selection masks, depth, temperature
|
|
2021-05-22 06:04:59
|
For types of extra channels that we now don't know yet, we have 1) defined generic channel types "unknown but optional, feel free to ignore" and "unknown and non-optional, don't just ignore this", and 2) also channels can optionally have arbitrary channel names, which can be used to describe the channel semantics using some convention
|
|
|
fab
|
2021-05-22 01:28:56
|
https://distill.pub/
|
|
|
diskorduser
|
2021-05-22 01:47:03
|
What's that fabian
|
|
|
fab
|
2021-05-22 02:14:58
|
it was in video discord av1
|
|
|
_wb_
|
2021-05-23 06:07:34
|
The viewer doesn't do animation at all, we need to fix that I guess
|
|
2021-05-23 06:08:24
|
Icos4D tests for a bug that was only very recently fixed
|
|
2021-05-23 06:09:18
|
I wonder what's up with the grayscale one...
|
|
|
BlueSwordM
|
2021-05-23 06:16:52
|
Can you link to all the files?
|
|
|
_wb_
|
2021-05-23 06:24:38
|
Could be it doesn't handle grayscale color management or something
|
|
2021-05-23 08:42:29
|
No, ISOBMFF does not itself support cropping/layering/rotation etc
|
|
2021-05-23 08:42:40
|
HEIF supports that
|
|
2021-05-23 08:43:03
|
JXL is not HEIF based, so you cannot crop at the container level
|
|
2021-05-23 08:43:51
|
(you can crop etc at the bitstream level though, but that requires modifying the codestream, harder to do for external applications)
|
|
2021-05-23 08:46:12
|
ISOBMFF is a generic box container format that defines a few boxes like `ftyp`
|
|
2021-05-23 08:47:22
|
JXL and JPEG 2000 extend ISOBMFF by defining new boxes to contain j2k/jxl codestream payloads
|
|
2021-05-23 08:48:14
|
HEIF extends ISOBMFF by defining boxes for cropping, grids, rotation, layers, etc
|
|
2021-05-23 08:48:37
|
Yes, jbrd, jxlc, jxlp, etc
|
|
2021-05-23 08:49:08
|
If you use the HEIF-specific boxes, theoretically Nokia could sue you
|
|
2021-05-23 08:50:38
|
I personally don't think their patents are valid, I would argue prior art: image editors have containers like XCF or PSD that can do layers, cropping etc for decades, so I don't see much novelty in HEIF.
|
|
2021-05-23 08:51:02
|
But IANAL and afaik their patents have not yet been tested in court.
|
|
|
|
veluca
|
2021-05-23 08:51:21
|
but! JXL doesn't need nor use those boxes for anything
|
|
2021-05-23 08:51:36
|
and I believe exiv2 wouldn't either
|
|
|
_wb_
|
2021-05-23 08:52:24
|
JXL is not based on HEIF so it doesn't have those boxes, decoders should ignore them if anyone adds them for some bizarre reason
|
|
2021-05-23 08:52:47
|
Exiv2 may or may not want to look at those boxes in the case of heic/avif
|
|
|
|
veluca
|
2021-05-23 08:53:53
|
anyway, ISOBMFF is too old to be still covered by patents (if it ever was) AFAIU, having been published in 2000
|
|
|
_wb_
|
2021-05-23 08:53:56
|
If they want to give information on how many images there are in a sequence, how many layers, orientation/crop info, etc, then they will have to look at those boxes
|
|
2021-05-23 08:54:19
|
Yes, ISOBMFF itself is certainly OK
|
|
2021-05-23 08:54:53
|
The HEIF extension of it could be risky until 2035
|
|
2021-05-23 01:35:00
|
What issue is this?
|
|
|
|
veluca
|
2021-05-23 01:42:17
|
it's pretty amazing how patents cause problems to things that are entirely not covered by the actual subject of the patent
|
|
|
improver
|
2021-05-23 01:43:08
|
nobody likes lawyers
|
|
|
_wb_
|
2021-05-23 02:05:47
|
Well I can understand how you might want to avoid parsing heif even if you're only going to touch the boxes that are from isobmff and not from the heif spec...
|
|
2021-05-23 02:07:03
|
But jp2 (the original kind, not the part 16 "j2k in heif" one, which is also a thing for some reason) and jxl have nothing to do with heif.
|
|
2021-05-23 02:14:49
|
Well at least for HEIC, adoption does seem to be limited to the Apple ecosystem, but I think that's mostly because of the heavily patent-encumbered h265 payload, not so much because the lightly and questionably patent-encumbered container.
|
|
2021-05-23 02:20:37
|
For AVIF, I have been saying since 2017 that I don't think it's a good idea to use the heif container for a format that aims to be royalty-free, but my concerns were typically ignored or shrugged off. There's a widespread "folklore" wisdom that "containers cannot be patented" so everything "should be fine". This may be true, but it still has to be tested in court, and not everyone can afford to take that risk, since how the system works is that when they sue for bogus patent infringement, _possibly_ you can get the patent invalidated and 'win', but _certainly_ you're going to have to pay a lot of money to lawyers.
|
|
|
fab
|
2021-05-23 02:22:55
|
can you send 100e3c7e jpeg xl for windows?
|
|
2021-05-23 02:22:58
|
send it
|
|
2021-05-23 02:23:15
|
i new to do -d 4.56 -s 9 new heuristics
|
|
2021-05-23 02:23:50
|
cjxl only i need
|
|
|
_wb_
|
2021-05-23 02:26:03
|
That low quality? Is that even doing VarDCT?
|
|
2021-05-23 02:26:16
|
If it's modular, new heuristics will not affect it
|
|
|
fab
|
2021-05-23 02:27:30
|
ah i meant -d
|
|
|
diskorduser
|
2021-05-23 02:28:36
|
Still d 4 is lower quality..
|
|
|
fab
|
2021-05-23 02:29:04
|
the photo is good quality is 16 mpx
|
|
2021-05-23 02:30:11
|
i need to look as few a possible on all screens
|
|
|
diskorduser
|
2021-05-23 02:30:47
|
Just stick to d1 to d2? No?
|
|
|
BlueSwordM
|
2021-05-23 03:03:14
|
The 1st file can be decoded just fine here strangely enough.
|
|
|
_wb_
|
2021-05-23 03:07:20
|
the bug should be fixed in latest github libjxl
|
|
|
diskorduser
|
2021-05-23 05:50:20
|
Help. Compiling jxl in termux
|
|
|
|
veluca
|
2021-05-23 06:05:18
|
pass `-DJPEGXL_ENABLE_SJPEG=Off` π
|
|
|
diskorduser
|
2021-05-23 06:10:05
|
Thanks veluca
|
|
2021-05-23 06:10:36
|
Why does my phone compiles faster than my laptop lol
|
|
|
|
veluca
|
2021-05-23 06:14:56
|
same for me really (well, depends on the laptop) xD perhaps some things are easier on the phone...
|
|
2021-05-23 06:15:10
|
like, less optimization is done, or register allocation is easier
|
|
|
_wb_
|
2021-05-23 06:18:21
|
Does register allocation become harder or easier if more registers are available?
|
|
|
diskorduser
|
2021-05-23 06:28:29
|
Compiling with March armv8.2-a mtune cortex-a76. It should do optimizations. Right?
|
|
|
190n
|
2021-05-23 06:31:11
|
it should do some but maybe more if you have -O3 in there
|
|
|
|
veluca
|
2021-05-23 06:36:23
|
maybe not as many optimizations are implemented for arm as for x86 π
|
|
2021-05-23 06:36:50
|
and as for register allocation - it's certainly easier if you have an orthogonal ISA I think
|
|
2021-05-23 06:37:03
|
and not things like "shifts counts need to be in the cl register"
|
|
|
Pieter
|
|
_wb_
Does register allocation become harder or easier if more registers are available?
|
|
2021-05-23 06:56:13
|
do you mean in terms of absolute performance compared to fewer registers (more is obviously better) or in terms of proximity to optimal?
|
|
2021-05-23 06:57:12
|
register allocation in my limited (and several years old) experience is often the one reason why compiled code may be slower than handwritten assembly (special instructions/vectorization being another of course)
|
|
2021-05-23 06:58:04
|
at least a few years ago gcc would emit far more spills to memory than needed in some cases
|
|
|
_wb_
|
2021-05-23 06:58:43
|
more and less constrained registers are of course better, but does the problem of finding the best possible allocation become easier or harder with more registers?
|
|
2021-05-23 07:00:59
|
it's an NP-hard problem, right?
|
|
2021-05-23 07:01:18
|
yeah you can reduce graph coloring to it
|
|
|
|
veluca
|
2021-05-23 07:04:58
|
I think most things compilers do are NP-hard problems π some are even Turing-complete, of course...
|
|
|
Pieter
|
2021-05-23 08:03:48
|
not that it matters, they don't need to find the optimal solution
|
|
2021-05-23 08:03:57
|
just an acceptable one
|
|
|
_wb_
|
2021-05-23 08:10:26
|
sure, optimal is not really needed - getting close to optimal is nice though
|
|
|
|
veluca
|
2021-05-23 08:20:43
|
I wonder how many problems there are APX-hard --- I think graph coloring is...
|
|
|
diskorduser
|
|
Scope
|
2021-05-25 09:37:06
|
https://www.theverge.com/2021/5/24/22451607/google-photos-high-quality-storage-saver-tool-free-space-blurry-screenshots
|
|
|
Scientia
|
2021-05-25 01:45:24
|
users wouldn't see this
|
|
2021-05-25 01:45:38
|
20% = about what lossless jpeg recompression saves
|
|
2021-05-25 01:46:00
|
so they could use it and decompress a jpeg to the user transparently
|
|
2021-05-25 01:46:07
|
without much effort
|
|
|
|
veluca
|
2021-05-25 01:46:55
|
by the way - how much interest would there be in a plugin for nginx that transcodes your JPEGs on the fly to JXL? π
|
|
|
Kleis Auke
|
|
veluca
by the way - how much interest would there be in a plugin for nginx that transcodes your JPEGs on the fly to JXL? π
|
|
2021-05-25 01:59:39
|
I'm interested. It reminds me of my pet project (<https://github.com/weserv/images>), which should soon support JPEG XL load/save.
|
|
|
|
veluca
|
2021-05-25 02:01:16
|
I *almost* had it working during the weekend but then I found out our API has some problems for it
|
|
|
|
paperboyo
|
|
veluca
by the way - how much interest would there be in a plugin for nginx that transcodes your JPEGs on the fly to JXL? π
|
|
2021-05-25 02:31:36
|
We are using http://nginx.org/en/docs/http/ngx_http_image_filter_module.html. It uses LibGD, which recently got AVIF. But it doesnβt understand colour management π€¦ββοΈ (https://github.com/libgd/libgd/issues/136).
|
|
|
|
veluca
|
2021-05-25 02:33:18
|
to transcode a JPEG you first need to parse it π
|
|
|
paperboyo
We are using http://nginx.org/en/docs/http/ngx_http_image_filter_module.html. It uses LibGD, which recently got AVIF. But it doesnβt understand colour management π€¦ββοΈ (https://github.com/libgd/libgd/issues/136).
|
|
2021-05-25 02:33:34
|
this would be for lossless recompression though
|
|
|
lithium
|
|
paperboyo
We are using http://nginx.org/en/docs/http/ngx_http_image_filter_module.html. It uses LibGD, which recently got AVIF. But it doesnβt understand colour management π€¦ββοΈ (https://github.com/libgd/libgd/issues/136).
|
|
2021-05-25 02:43:14
|
If direct use libavif(--cicp 2/2/6), icc profile can keep on compressed avif image.
```https://github.com/AOMediaCodec/libavif```
|
|
|
Scope
|
2021-05-25 02:45:53
|
JXL to Jpeg transcoding can also be useful for browsers that don't support JXL, for cases when high quality source images is no longer exist or when Jpegs are uploaded by users, to save space as Lepton does: https://dropbox.tech/infrastructure/lepton-image-compression-saving-22-losslessly-from-images-at-15mbs
|
|
|
|
veluca
|
2021-05-25 02:48:17
|
yeah but this would be in the other direction π
|
|
2021-05-25 02:48:40
|
for the situation where you have a website and you don't want to think too much about it π
|
|
2021-05-25 02:48:54
|
IIRC less dense but faster
|
|
2021-05-25 02:49:17
|
and probably a few more features like progression, since AFAIU Lepton is intended to be a storage format only
|
|
|
_wb_
|
2021-05-25 02:51:42
|
lepton is anti-progressive, it predicts DC from AC...
|
|
|
lithium
|
2021-05-25 02:57:46
|
use paq8px π
|
|
|
diskorduser
|
2021-05-26 05:01:59
|
Is it possible to build a static jxl binary? If yes, how?
|
|
2021-05-26 05:02:11
|
On Linux
|
|
|
|
veluca
|
2021-05-26 05:02:14
|
there's a flag in cmake somewhere
|
|
2021-05-26 05:04:51
|
it might be the default cmake flag even
|
|
|
Jim
|
2021-05-26 05:07:32
|
Not default on Windows. Maybe it is on Linux?
|
|
|
diskorduser
|
2021-05-26 05:08:49
|
this?
|
|
|
|
veluca
|
2021-05-26 05:15:18
|
ah, probably
|
|
2021-05-26 05:15:54
|
by "default cmake flag" I meant that maybe there is a flag in CMake that makes everything static, but apparently not π or at least it's not the one we use
|
|
|
diskorduser
|
2021-05-26 05:23:28
|
[` 79%] Built target jxl_enc-obj
[ 79%] Linking CXX static library libjxl.a
[ 79%] Built target jxl-static
[ 80%] Building CXX object examples/CMakeFiles/encode_oneshot.dir/encode_oneshot.cc.o
[ 80%] Building CXX object tools/box/CMakeFiles/box.dir/box.cc.o
[ 80%] Building C object examples/CMakeFiles/jxlinfo.dir/jxlinfo.c.o
[ 80%] Building CXX object lib/CMakeFiles/jxl_extras-static.dir/extras/codec.cc.o
[ 80%] Linking CXX executable jxlinfo
/usr/bin/ld: attempted static link of dynamic object `/usr/lib/libtcmalloc_minimal.so'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/CMakeFiles/jxlinfo.dir/build.make:104: examples/jxlinfo] Error 1
make[1]: *** [CMakeFiles/Makefile2:939: examples/CMakeFiles/jxlinfo.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 81%] Building CXX object lib/CMakeFiles/jxl_extras-static.dir/extras/codec_jpg.cc.o
[ 81%] Linking CXX executable encode_oneshot
/usr/bin/ld: attempted static link of dynamic object `/usr/lib/libtcmalloc_minimal.so'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/CMakeFiles/encode_oneshot.dir/build.make:105: examples/encode_oneshot] Error 1
make[1]: *** [CMakeFiles/Makefile2:908: examples/CMakeFiles/encode_oneshot.dir/all] Error 2`
|
|
|
|
veluca
|
2021-05-26 05:24:56
|
ahhhh... `-DJPEGXL_ENABLE_TCMALLOC=Off`
|
|
|
diskorduser
|
2021-05-26 05:24:58
|
Just testing that flag
|
|
|
|
veluca
|
2021-05-26 05:24:58
|
I think
|
|
|
diskorduser
|
2021-05-26 05:28:38
|
`[ 93%] Linking CXX executable djxl
/usr/bin/ld: attempted static link of dynamic object `/usr/lib/libgif.so'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/CMakeFiles/djxl.dir/build.make:136: tools/djxl] Error 1
make[1]: *** [CMakeFiles/Makefile2:1044: tools/CMakeFiles/djxl.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX executable benchmark_xl
/usr/bin/ld: attempted static link of dynamic object `/usr/lib/libjpeg.so'
collect2: error: ld returned 1 exit status`
|
|
2021-05-26 05:28:50
|
I am doing everything wrong ha ha
|
|
|
_wb_
|
2021-05-26 05:30:07
|
Why is djxl linking libgif? I don't think we do gif output... π€
|
|
|
Scope
|
2021-05-26 05:30:51
|
For decoding?
|
|
|
_wb_
|
2021-05-26 05:31:25
|
cjxl needs to decode gif as an input, but djxl shouldn't need it
|
|
|
Scope
|
2021-05-26 05:38:09
|
Have the encoder/decoder and benchmark already been separated from the shared unnecessary code?
|
|
|
_wb_
|
2021-05-26 05:40:26
|
In the library, mostly yes, I think
|
|
2021-05-26 05:41:04
|
In the tools probably not really
|
|