|
OkyDooky
|
2023-07-23 04:21:37
|
I disagree that gecko's existence is not beneficial, sepecially compared to the hegemony of blink
|
|
|
Quackdoc
|
2023-07-23 04:31:26
|
firefox's entire benefit comes from not being chrome and preventing the chrome monopoly, which they have shown again and again to fail at doing. in fact, I would go so far as to say I think it would be beneficial for firefox to diem that way peoples funding and developmental resources can go to projects that are actually largely useful like webkit and servo
|
|
|
OkyDooky
|
2023-07-23 05:05:16
|
I don't see how Webkit, which Blink was forked from and therefore has so much homogenity, is more useful than Firefox.
|
|
|
Quackdoc
|
2023-07-23 05:29:27
|
because I dont see how firefox is useful at all, at least withh webkit you can use it as a base to develop a browser around, vs firefox which simply exists on the merit of it being "not chrome"
|
|
|
190n
|
2023-07-23 07:18:22
|
yes
|
|
2023-07-23 07:18:50
|
all ios browsers have to use the os-provided webview
|
|
2023-07-23 07:19:05
|
so they all get jxl support once the os gets it
|
|
|
username
|
2023-07-23 07:20:37
|
I think recently that restriction was lifted or is going to be lifted however no browser engines have had a iOS port as of yet
|
|
|
Oleksii Matiash
|
|
Quackdoc
because I dont see how firefox is useful at all, at least withh webkit you can use it as a base to develop a browser around, vs firefox which simply exists on the merit of it being "not chrome"
|
|
2023-07-23 08:55:47
|
I'm using ff, and can not really switch to any sort of chrome because of two reasons: I can't live without hundreds of tabs (and do not want to see how chrome eats all memory), and the stupidiest impossibility to make chrome to switch tabs in recent order. While my knowledge about chrome, tabs and memory relationships can be outdated (I know about edge's sleeping tabs, etc), it's tab switching is just a stopper for me
|
|
|
w
|
2023-07-23 09:16:14
|
chrome and ff use a similar amount of memory
|
|
2023-07-23 09:17:24
|
aka any memory available
|
|
|
lonjil
|
2023-07-23 09:45:45
|
I have over 8000 tabs open and Firefox is apparently using 8 GiB of RAM ||and 14 GiB of swap but let's ignroe that||
|
|
|
w
|
2023-07-23 10:05:19
|
2 tabs 900mb
|
|
|
lonjil
|
2023-07-23 10:30:00
|
If you type % at the start in the URL box, everything after is used to search your open tabs. Also the tabs are organized into like 50 windows.
|
|
|
Quackdoc
|
|
Oleksii Matiash
I'm using ff, and can not really switch to any sort of chrome because of two reasons: I can't live without hundreds of tabs (and do not want to see how chrome eats all memory), and the stupidiest impossibility to make chrome to switch tabs in recent order. While my knowledge about chrome, tabs and memory relationships can be outdated (I know about edge's sleeping tabs, etc), it's tab switching is just a stopper for me
|
|
2023-07-23 02:59:47
|
chrome doesn't do any worse then Firefox for memory usage, in fact it handles low ram situations better then Firefox, and had for a very long time. while it's true Chrome can use more memory than Firefox. It has always been more efficient with how the memory is used
cant say I share the same with tabs since I use an external tab manager anyways, but in the end that's a small feature, that's not really a big deal like gecko versus blink. and just something that could be implemented in another browser with not a large amount of difficulty.
|
|
2023-07-23 03:00:46
|
but chrome handles hundreds of tabs just fine, and has for a long time.
|
|
|
elfeïn
|
|
lonjil
I have over 8000 tabs open and Firefox is apparently using 8 GiB of RAM ||and 14 GiB of swap but let's ignroe that||
|
|
2023-07-23 04:27:40
|
mfw this mf has a cache of the entire internet in RAM
|
|
|
OkyDooky
|
2023-07-23 05:54:46
|
I run Firefox with on-disk cache disabled (only RAM), and have thousands of tabs... but they are split across tab groups with https://addons.mozilla.org/en-US/firefox/addon/simple-tab-groups/ , and I configured it to only keep the shown group's tabs loaded in RAM, and even you can suspend unused tabs automatically with another extension on top
|
|
2023-07-23 06:00:54
|
that's how Firefox is pretty consistently using under 2 GB of RAM for me at all times
|
|
2023-07-23 06:09:26
|
Chrome is barely starting to try to play catch up in that efficiency game
|
|
|
Oleksii Matiash
|
2023-07-23 06:35:19
|
> but in the end that's a small feature, that's not really a big deal like gecko versus blink. and just something that could be implemented in another browser with not a large amount of difficulty.
It is a big deal for me, and if you know how to overcome it (tab manager, or whatever) - please share
|
|
|
Quackdoc
|
|
Chrome is barely starting to try to play catch up in that efficiency game
|
|
2023-07-23 06:42:51
|
the goal is not to use less ram, it's to use as much ram as efficiently possible, if you run 300tabs with chrome and check ram usage, you will find you have little `free` ram, but you should still have plenty `available` ram even if you have a lot of heave duty websites, chrome will still unload them when needed.
|
|
|
Oleksii Matiash
> but in the end that's a small feature, that's not really a big deal like gecko versus blink. and just something that could be implemented in another browser with not a large amount of difficulty.
It is a big deal for me, and if you know how to overcome it (tab manager, or whatever) - please share
|
|
2023-07-23 06:43:27
|
it's not something I myself have bothered to look into so I can't say for certain but ill keep an eye out
|
|
2023-07-23 06:45:05
|
ofc if you do need more aggressive page sleeping, or even unloading, you can tweak that with an extension too, but chrome's default behavior for this is a lot better when under memory pressure
|
|
|
Oleksii Matiash
|
|
Quackdoc
ofc if you do need more aggressive page sleeping, or even unloading, you can tweak that with an extension too, but chrome's default behavior for this is a lot better when under memory pressure
|
|
2023-07-23 06:59:45
|
The main show stopper for me is tab switching, really, if it could be solved - I'd be happy to give chrome second chance
|
|
|
prick
|
2023-07-23 07:06:00
|
Trying to integrate jpegli with my image viewer (over libjpeg-turbo) has been a pretty painful experience
|
|
2023-07-23 07:06:23
|
Now it's a crash during startup and I can't figure out why
|
|
2023-07-23 07:15:59
|
Oh it created a dependency on a dll for no reason, amazing
|
|
2023-07-23 07:17:12
|
actually not sure if jpegli did that
|
|
2023-07-23 07:17:16
|
this cmakelists is all over the place
|
|
2023-07-23 07:17:50
|
back to this issue
|
|
|
OkyDooky
|
2023-07-23 07:54:38
|
I raise you https://idlewords.com/talks/website_obesity.htm
(<@184373105588699137>)
|
|
2023-07-23 08:01:08
|
good luck getting any website to fit in a megabyte of RAM or something, most eat 40-50 MB at the very least it seems (and this Matrix Element tab is using something like 300-500 MB if I'm not mistaken)... also given that my eyeballs can't look at more than a few dozen websites concurrently, it makes total sense in my view to auto-suspend idle ones that don't have an interactive (forms/video/sound/unsaved changes) aspect to them
|
|
|
Quackdoc
|
2023-07-23 08:06:25
|
yes, both chrome and firefox suspend idle tabs, chrome is a bit more conservative in doing so when you have lots of ram free (also uses some available ram for it), but is a lot more agressive when you don't have a lot of ram
|
|
2023-07-23 08:07:37
|
if you enable memory saver in chrome settings, it does it a lot more aggressively, this can pose a problem when working with a lot of tabs at the same time period
|
|
2023-07-23 08:08:37
|
but again, I dont see the point in not using ram that is free and available,
|
|
|
OkyDooky
|
2023-07-23 08:16:26
|
not getting the stupid kernel OoM killer to randomly kill your other apps like the file manager, email client, or graphics editor when trying to do work
|
|
2023-07-23 08:16:57
|
also those tabs sitting around active tend to wake up the CPU constantly -\> more heat, less battery life (if on battery), etc.
|
|
|
elfeïn
|
2023-07-23 08:19:52
|
see, i don't get why the oom killer doesn't just halt programs until there's more memory or smth
|
|
|
Quackdoc
|
|
not getting the stupid kernel OoM killer to randomly kill your other apps like the file manager, email client, or graphics editor when trying to do work
|
|
2023-07-23 08:21:50
|
firefox will typically cause an OOM situation before chrome will, this is something I have tested extensively across distros and operating systems (including android). as I have said, chrome is typically a good chunk better then firefox when under memory pressure situations
|
|
2023-07-23 08:23:14
|
I will re-iterate what I did before, chrome is more efficient on average with how it uses ram, chrome has a higher ram usage ceiling but it also has a lower floor
|
|
2023-07-23 08:25:24
|
a lot of my testing was preformed on a 2 and 4gb i3 2100 system and a 2gb asus t100ta, I had tested windows, various linux distros, as well as blissOS
|
|
2023-07-23 08:25:42
|
granted I didnt test any BSDs so it could be different there
|
|
|
elfeïn
see, i don't get why the oom killer doesn't just halt programs until there's more memory or smth
|
|
2023-07-23 08:31:24
|
you have to kill them to actually free the memory, that being said, oomkiller is kinda really stupid, and sometimes instead of killing the head process, it will just go all the way up the tree and kill the compositor
|
|
|
elfeïn
|
|
Quackdoc
you have to kill them to actually free the memory, that being said, oomkiller is kinda really stupid, and sometimes instead of killing the head process, it will just go all the way up the tree and kill the compositor
|
|
2023-07-23 08:31:48
|
Why?
|
|
|
Quackdoc
|
|
elfeïn
Why?
|
|
2023-07-23 08:32:26
|
because simply stopping a program, all the memory will remain, if you forcibly take the memory it's using, it will segfault anyways
|
|
2023-07-23 08:33:24
|
keep in mind an OOM should only happen when you have no availible ram, though OOM can also be triggered when swap is getting hammered really hard, this is mainly a relic from when swap was stored on HDDs can thrashing could occur
|
|
|
elfeïn
|
|
Quackdoc
because simply stopping a program, all the memory will remain, if you forcibly take the memory it's using, it will segfault anyways
|
|
2023-07-23 08:34:36
|
sure sure but technically speaking stopping the program means it won't allocate additional memory
|
|
|
Quackdoc
|
2023-07-23 08:35:07
|
well not allocating more memory helps sure, but it doesn't make the situation actively better, it only prevents it from getting worse
|
|
|
elfeïn
|
|
Quackdoc
well not allocating more memory helps sure, but it doesn't make the situation actively better, it only prevents it from getting worse
|
|
2023-07-23 08:37:13
|
right, so use an emergency swap to ask the user what to do :p
|
|
|
Quackdoc
|
2023-07-23 08:37:55
|
I suppose that could be possible
|
|
2023-07-23 08:41:09
|
in the end, oom handling on linux is particularly stupid for some reason
|
|
|
Traneptora
|
2023-07-24 04:56:01
|
why are you guys running out of ram
|
|
2023-07-24 04:56:38
|
don't open 500 tabs that you will never look at again
|
|
|
lonjil
|
2023-07-24 05:03:35
|
Just buy more RAM
|
|
|
CrushedAsian255
|
2023-07-24 08:06:44
|
is JPEG XL an audio compression algorithm?
|
|
|
w
|
|
CrushedAsian255
|
|
derberg
|
|
Traneptora
don't open 500 tabs that you will never look at again
|
|
2023-07-24 08:12:39
|
Rather remove JS from the web.
Thousand tabs worked well on lower end devices ten years ago.
|
|
|
Quackdoc
|
|
CrushedAsian255
|
|
2023-07-24 08:16:18
|
very crunchy
|
|
|
CrushedAsian255
|
|
Quackdoc
very crunchy
|
|
2023-07-24 08:17:09
|
reconstructed audio:
|
|
|
Quackdoc
|
2023-07-24 08:17:47
|
sounds way better then what I was doing xD
|
|
2023-07-24 08:18:48
|
`>ffmpeg -i https://cdn.discordapp.com/attachments/794206170445119489/1132948126282547200/image_d01.jxl -f rawvideo - | ffmpeg -y -f u8 -ac 1 -r 48000 -i - -f wav - | mpv -`
|
|
|
CrushedAsian255
|
2023-07-24 08:23:12
|
i converted from JXL to PNG before rendering because my FFmpeg's JXL support is broken
```
djxl image_d01.jxl image_d01.png
ffmpeg -i image_d01.png -f rawvideo -pix_fmt gray - | ffmpeg -f u8 -ac 1 -ar 48000 -i - image_d01.flac
```
|
|
2023-07-24 08:23:27
|
probably colour space shenanigans
|
|
|
Traneptora
|
|
CrushedAsian255
i converted from JXL to PNG before rendering because my FFmpeg's JXL support is broken
```
djxl image_d01.jxl image_d01.png
ffmpeg -i image_d01.png -f rawvideo -pix_fmt gray - | ffmpeg -f u8 -ac 1 -ar 48000 -i - image_d01.flac
```
|
|
2023-07-24 09:43:53
|
how is it "broken"
|
|
2023-07-24 09:44:11
|
what happens when you try it
|
|
|
CrushedAsian255
|
2023-07-24 10:23:35
|
Unknown decoder or something can’t remember
|
|
|
Traneptora
|
|
CrushedAsian255
Unknown decoder or something can’t remember
|
|
2023-07-24 11:28:03
|
sounds like it's not broken, but just not compiled in
|
|
2023-07-24 11:28:21
|
ffmpeg needs to be compiled with `--enable-libjxl`
|
|
|
CrushedAsian255
|
2023-07-24 11:33:21
|
I installed using homebrew I can’t change the install parameters
|
|
|
Traneptora
|
2023-07-24 11:36:04
|
homebrew doesn't let you do that, even though it builds stuff itself?
|
|
2023-07-24 11:36:17
|
interesting
|
|
|
CrushedAsian255
|
2023-07-24 11:38:14
|
I’ll check tomorrow it’s 9pm my time
|
|
|
jonnyawsom3
|
|
CrushedAsian255
|
|
2023-07-24 12:13:17
|
What was the input command from flac to jxl (Or PNG)? Trying to do a test myself but it's either just noise or floods with errors
|
|
|
yoochan
|
2023-07-24 02:06:07
|
flac ? the audio format ?
|
|
|
jonnyawsom3
|
2023-07-24 02:57:45
|
Yeah, if you read the messages above
|
|
|
OkyDooky
|
2023-07-24 06:15:30
|
How much does Pale Moon have? 🤔
|
|
2023-07-24 06:56:16
|
Palemoon itself is about 85+ thousand lines of code AFAICT (from some old data), like Epiphany, which does not count the engine itself which is... I don't know how many lines of code
|
|
2023-07-24 07:01:12
|
It's not even clear which part between https://repo.palemoon.org/MoonchildProductions/GRE and https://repo.palemoon.org/MoonchildProductions/UXP is the Goanna engine for Palemoon, OkyDooky
|
|
2023-07-24 07:01:44
|
like is it both combined? does one include the other? I have no idea
|
|
2023-07-24 07:10:53
|
ah OK seems like GRE is abandoned, and UXP is the thing
|
|
2023-07-24 07:18:23
|
OkyDooky\: in the UXP codebase, `sloccount` sees 8.7 million lines of code, 60% of which C++ and 32% C. I wouldn't be surprised if at 8.7 million it was missing a good chunk still
|
|
2023-07-24 08:07:10
|
So, it's likely noticeably smaller than current FF, but not *that* much smaller. Amazed they get so much done with the team they have.
|
|
2023-07-24 08:36:45
|
I find it very difficult to believe such a web engine can be sustainably and securely maintained by a handful of people in their spare time
|
|
2023-07-24 08:43:41
|
I also suspect it must be unbearably slow compared to modern Electrolysis+Servo+Stylo gecko with parts written in Rust
|
|
|
CrushedAsian255
|
2023-07-25 12:56:31
|
can `cjxl` not read JPEG XL files as input?
|
|
|
What was the input command from flac to jxl (Or PNG)? Trying to do a test myself but it's either just noise or floods with errors
|
|
2023-07-25 12:57:20
|
what command are you using? there are multiple ways to
|
|
|
jonnyawsom3
|
2023-07-25 12:59:45
|
I don't really remember but I think I was just trying to rewrite your JXL to FLAC command backwards, naturally it wasn't as simple as that so thought I'd jsut wait for a real answer
|
|
|
CrushedAsian255
|
|
I don't really remember but I think I was just trying to rewrite your JXL to FLAC command backwards, naturally it wasn't as simple as that so thought I'd jsut wait for a real answer
|
|
2023-07-25 01:02:09
|
`ffmpeg -i [input] -f u8 -ac 1 -ar 48000 - | ffmpeg -f rawvideo -pix_fmt gray -s:v "[lengh of file in seconds]x48000" -i - [output].png`
|
|
2023-07-25 01:02:16
|
try this ^
|
|
|
jonnyawsom3
|
2023-07-25 01:26:54
|
`ffmpeg -hide_banner -i input.flac -f u8 -ac 1 -ar (Sample Rate) - | ffmpeg -f rawvideo -pix_fmt gray -s:v (Seconds x 10)x(Sample Rate / 10) -i - -distance 0.3 -effort 8 -y output.jxl`
I tweaked it slightly for direct JXL and more managable image resolution, but seems to work great, thanks
|
|
|
CrushedAsian255
|
|
`ffmpeg -hide_banner -i input.flac -f u8 -ac 1 -ar (Sample Rate) - | ffmpeg -f rawvideo -pix_fmt gray -s:v (Seconds x 10)x(Sample Rate / 10) -i - -distance 0.3 -effort 8 -y output.jxl`
I tweaked it slightly for direct JXL and more managable image resolution, but seems to work great, thanks
|
|
2023-07-25 01:27:56
|
i also did the x10 /10 thing on mine it was just harder to type
|
|
|
jonnyawsom3
|
2023-07-25 01:28:49
|
Yeah, I used the JXL you uploaded to figure that out
|
|
|
Traneptora
|
|
CrushedAsian255
can `cjxl` not read JPEG XL files as input?
|
|
2023-07-25 02:51:15
|
It can, if you use a recent enough version
|
|
|
CrushedAsian255
|
|
Traneptora
It can, if you use a recent enough version
|
|
2023-07-25 11:01:50
|
```% cjxl image1.jxl image2.jxl -d 1
JPEG XL encoder v0.8.2 0.8.2 [AVX2,SSE4,SSSE3]
Getting pixel data failed.```
|
|
2023-07-25 11:02:15
|
|
|
2023-07-25 11:02:28
|
im trying to compress it
|
|
2023-07-25 11:02:34
|
it is currently modular lossless
|
|
|
sklwmp
|
2023-07-25 11:20:42
|
hm, weird, seems like the latest release only includes code until ~jan, with some feb commits backported
|
|
2023-07-25 11:21:02
|
the commit adding jxl support is in main, but it's from may
|
|
|
CrushedAsian255
|
2023-07-25 11:38:44
|
should i try compiling from source?
|
|
2023-07-25 11:52:38
|
also for my weird audio to JXL project would modular lossy work better than VarDCT lossy?
|
|
|
jonnyawsom3
|
2023-07-26 01:59:48
|
You can compile from source or use the Github Actions builds, here's the most recent one https://github.com/libjxl/libjxl/actions/runs/5654098785#artifacts
|
|
|
Traneptora
|
|
CrushedAsian255
also for my weird audio to JXL project would modular lossy work better than VarDCT lossy?
|
|
2023-07-26 04:18:15
|
it's not really advisable to try to lossily encode non-perceptual data, you'll get the wrong data discarded
|
|
|
w
|
2023-07-26 04:19:24
|
audio is perceptual
|
|
|
_wb_
|
|
sklwmp
hm, weird, seems like the latest release only includes code until ~jan, with some feb commits backported
|
|
2023-07-26 05:59:07
|
That's intentional, after a `_._` release the `_._._` versions only get security updates
|
|
|
CrushedAsian255
|
2023-07-26 10:31:10
|
When’s the next single dot release
|
|
|
Traneptora
|
|
w
audio is perceptual
|
|
2023-07-26 10:49:51
|
it's not perceptual in the same way tho, just casting 16-bit PCM samples to 16-bit Grayscale image samples and then encoding is not a good idea
|
|
|
w
|
2023-07-26 10:50:46
|
bro's just trying to have fun
|
|
|
Traneptora
|
2023-07-26 11:29:55
|
what happened to `cjxl --strip`? it appears not to work anymore
|
|
|
jonnyawsom3
|
2023-07-27 01:57:47
|
``` --container=0|1
0 = Do not encode using container format (strip Exif/XMP/JPEG bitstream reconstruction data).
1 = Force using container format. Default: use only if needed.```
Does that sound like it? Because currently it doesn't actually remove original metadata, only reconstruction or forcing a container if I recall
|
|
|
MSLP
|
|
Traneptora
what happened to `cjxl --strip`? it appears not to work anymore
|
|
2023-07-27 03:30:22
|
tnere's a this bug in effect <https://github.com/libjxl/libjxl/issues/2645>
exif and friends are always force-copied
<https://github.com/libjxl/libjxl/blob/59d8f61cd7fc101c79148825c5d6dd14e73b9cd1/tools/cjxl_main.cc#L989>
<https://github.com/libjxl/libjxl/blob/59d8f61cd7fc101c79148825c5d6dd14e73b9cd1/lib/extras/enc/jxl.cc#L73>
|
|
|
CrushedAsian255
|
|
``` --container=0|1
0 = Do not encode using container format (strip Exif/XMP/JPEG bitstream reconstruction data).
1 = Force using container format. Default: use only if needed.```
Does that sound like it? Because currently it doesn't actually remove original metadata, only reconstruction or forcing a container if I recall
|
|
2023-07-27 08:43:08
|
Is the container recommended or is it fine to leave out
|
|
2023-07-27 08:43:27
|
I looked through my images and some are in the container and others aren’t
|
|
|
monad
|
2023-07-27 09:55:51
|
In the case you may want to recover an exact copy of an original JPEG file, keep it. Otherwise, if you know you'll never care about metadata, strip it. If you're sharing images, strip for better privacy or transfer efficiency.
|
|
|
jonnyawsom3
|
2023-07-27 01:49:40
|
Right now you can't disable the container, cjxl will simply never add one if there's no data to put inside it
|
|
|
_wb_
|
2023-07-27 03:02:34
|
working on improving things a bit in this regard
|
|
2023-07-27 03:34:40
|
https://github.com/libjxl/libjxl/pull/2686
|
|
|
Traneptora
|
2023-07-27 04:40:12
|
Can I use --container=0 to effectively cjxl --strip?
|
|
2023-07-27 04:40:28
|
or does that strip the jbrd and prevent reconstruction?
|
|
|
_wb_
|
2023-07-27 04:48:25
|
I think it will currently only do that if you explicitly add --jpeg_store_metadata 0 too
|
|
|
Traneptora
|
2023-07-27 05:00:20
|
if you strip JBRD is it possible to reconstruct the original jpeg, just non-bit-exactly?
|
|
2023-07-27 05:00:30
|
since the quant weights and coeffs are in the codestream
|
|
|
_wb_
|
2023-07-27 05:29:52
|
Yes, in principle
|
|
2023-07-27 05:30:51
|
All the actual image data is in the codestream, jbrd is only "the remaining stuff"
|
|
2023-07-27 05:31:40
|
We haven't implemented a "default reconstruction" though, that would work without jbrd
|
|
|
jonnyawsom3
|
|
_wb_
https://github.com/libjxl/libjxl/pull/2686
|
|
2023-07-27 05:34:03
|
I was tempted to mention PNG `iTXt`, `zTXt` and `tEXt` chunks. Currently cjxl will read XMP metadata from them, but they're also used to store raw text with a tag at the start such as `Description` or `Parameters`. If those could be turned into XMP or EXIF entries then at least the data is retained, even if not readable in the same way
|
|
2023-07-27 05:41:06
|
I know at least one example of worldwide use, Stable Diffusion embeds the prompt and settings into every image like that
And a more niche example is VRChat screenshots with a popular 'addon' called VRCX, where it embeds session data into the file so you know who was in the image
|
|
2023-07-27 05:42:17
|
Thinking about it I should just make an issue
|
|
|
_wb_
|
2023-07-27 06:05:06
|
Jxl spec defines exif, xmp and jumbf. But we could also add other boxes, they are not described in the spec except that they are to be ignored. I am half-tempted to add a `text` box that just corresponds to unrecognized png text chunks
|
|
|
jonnyawsom3
|
2023-07-27 06:28:40
|
https://github.com/libjxl/libjxl/issues/2687
|
|
2023-07-27 06:29:58
|
Two old issues were related, but one seemed to be assumed as XMP support and the other had a title that wasn't clear
|
|
|
CrushedAsian255
|
2023-07-28 12:10:55
|
just clarifying, if I convert a .jpg to a .jxl with JPEG bitstream reconstruction, then convert the .jxl back to .jpg, will the original and reconstructed be byte-for-byte identical?
|
|
2023-07-28 12:13:50
|
as long as i don't strip metadata right
|
|
2023-07-28 12:13:55
|
like i need to use the container
|
|
2023-07-28 12:14:24
|
is the jpeg reconstruction in a metadata atom?
|
|
2023-07-28 01:04:09
|
what other metadata is supported? is IPTC and TIFF metadata supported?
|
|
|
_wb_
|
2023-07-28 01:23:08
|
ICC goes in the jxl codestream, Exif and XMP go in the jxl file, everything else in terms of metadata goes in the `jbrd` box
|
|
|
CrushedAsian255
|
2023-07-28 01:34:50
|
What about converting from a PNG to a JXL?
|
|
2023-07-28 01:35:05
|
Does the metadata just get voided?
|
|
|
_wb_
|
2023-07-28 01:39:42
|
cjxl tries to keep what it recognizes (exif and xmp)
|
|
|
jonnyawsom3
|
2023-07-28 02:07:04
|
The issue I linked above is about preserving all/most of PNG metadata regardless of type
|
|
2023-07-28 05:43:15
|
Thought I'd get some input from others here on the formatting and verbosity of cjxl. Wb already worked on it and I had made suggestions that got implemented, but tailoring it to just what I think obviously isn't ideal
Current default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.449 MP/s [1.45, 1.45], 1 reps, 16 threads.```
Proposed default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding 3840 x 2160 [Lossless, effort: 5 | Exif]
2311.8 KB compressed to 3552.2 KB (3.508 bpp) 1.449 MP/s```
Removes more detailed info for verbose output, changes kB to KB to keep in line with OS displayed size (Could adjust to MB too), shows original size for easy comparison, moves resolution to the encoding line and encode speed to the compressed line
Current Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840x2160 image, 2367327 bytes, 475.8 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Proposed Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840 x 2160 image, 2367327 bytes, 475.843 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637451 bytes including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Changes sizes back to bytes for accurate results, makes formatting of resolution and MP/s between read and compressed identical, shows the info removed by default
|
|
|
Traneptora
|
|
Thought I'd get some input from others here on the formatting and verbosity of cjxl. Wb already worked on it and I had made suggestions that got implemented, but tailoring it to just what I think obviously isn't ideal
Current default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.449 MP/s [1.45, 1.45], 1 reps, 16 threads.```
Proposed default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding 3840 x 2160 [Lossless, effort: 5 | Exif]
2311.8 KB compressed to 3552.2 KB (3.508 bpp) 1.449 MP/s```
Removes more detailed info for verbose output, changes kB to KB to keep in line with OS displayed size (Could adjust to MB too), shows original size for easy comparison, moves resolution to the encoding line and encode speed to the compressed line
Current Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840x2160 image, 2367327 bytes, 475.8 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Proposed Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840 x 2160 image, 2367327 bytes, 475.843 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637451 bytes including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Changes sizes back to bytes for accurate results, makes formatting of resolution and MP/s between read and compressed identical, shows the info removed by default
|
|
2023-07-28 09:06:39
|
strictly speaking kB is more correct, and I don't believe cjxl should mimic whatever some specific file browser uses
|
|
|
jonnyawsom3
|
2023-07-28 09:20:21
|
Oh, I thought KB was most common for filesystems, but this is why I posted here instead of straight to Github
|
|
|
spider-mario
|
2023-07-28 09:52:47
|
KB is how Windows displays it but it matches no standard
|
|
2023-07-28 09:53:36
|
SI: powers of 1000, kB, MB, GB, TB
IEC: powers of 1024, KiB, MiB, GiB, TiB
Windows: powers of 1024, KB, MB, GB, TB (confusable with SI except for the first one)
|
|
2023-07-28 09:54:59
|
I would personally oppose using the Windows way
|
|
2023-07-28 09:57:38
|
it seems macOS uses SI
|
|
2023-07-28 09:57:53
|
(well, the GUI apps do)
|
|
|
gb82
|
2023-07-28 10:00:58
|
GNOME uses SI as well I believe
|
|
|
spider-mario
|
2023-07-28 10:01:26
|
I vaguely remember KDE (Dolphin) using IEC but it’s been a while so I’m not sure
|
|
|
jonnyawsom3
|
2023-07-28 10:04:21
|
From what I could find everything was IEC (1024) until IOS 10 where apple changed for SI
|
|
|
spider-mario
|
2023-07-28 10:05:18
|
maybe they were getting tired of people complaining that their 500GB drives didn’t actually contain 500GB
|
|
|
jonnyawsom3
|
2023-07-28 10:07:05
|
God this is confusing, now it's saying everything is SI apart from Windows
|
|
|
gb82
|
|
God this is confusing, now it's saying everything is SI apart from Windows
|
|
2023-07-28 10:08:46
|
I'm sure there are linux distros/DEs using IEC
|
|
|
jonnyawsom3
|
2023-07-28 10:10:26
|
I guess stick with SI since with the original size listed too people can see the difference whatever their OS reads
|
|
|
Traneptora
|
2023-07-28 11:03:58
|
Caja uses 1024
|
|
|
OkyDooky
|
2023-07-29 12:00:28
|
GNOME switched to SI units circa 2010, and Apple since 2009 with Mac OS Snow Leopard (and later iOS 10 in 2016)
|
|
2023-07-29 12:00:46
|
if you find remaining inconsistencies in GNOME apps, I'd be interested to know
|
|
|
Traneptora
|
2023-07-29 07:58:12
|
apparently it's configurable in caja, I discovered
|
|
|
monad
|
|
if you find remaining inconsistencies in GNOME apps, I'd be interested to know
|
|
2023-07-29 08:27:30
|
surely System Monitor is inconsistent with reason
|
|
2023-07-29 08:30:27
|
also, how does GNOME UI keep getting worse with time
|
|
|
Thought I'd get some input from others here on the formatting and verbosity of cjxl. Wb already worked on it and I had made suggestions that got implemented, but tailoring it to just what I think obviously isn't ideal
Current default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.449 MP/s [1.45, 1.45], 1 reps, 16 threads.```
Proposed default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding 3840 x 2160 [Lossless, effort: 5 | Exif]
2311.8 KB compressed to 3552.2 KB (3.508 bpp) 1.449 MP/s```
Removes more detailed info for verbose output, changes kB to KB to keep in line with OS displayed size (Could adjust to MB too), shows original size for easy comparison, moves resolution to the encoding line and encode speed to the compressed line
Current Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840x2160 image, 2367327 bytes, 475.8 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Proposed Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840 x 2160 image, 2367327 bytes, 475.843 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637451 bytes including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Changes sizes back to bytes for accurate results, makes formatting of resolution and MP/s between read and compressed identical, shows the info removed by default
|
|
2023-07-29 08:39:05
|
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Would you like to encode an image?```
|
|
|
lonjil
|
2023-07-29 08:46:05
|
I prefer 1000 but don't mind 1024 as long as you actually use the IEC prefixes.
|
|
|
OkyDooky
|
2023-07-29 12:37:08
|
I'm not going to bother answering a biased vague subjective statement like that other than by "Works great for me."
(<@263300458888691714>)
|
|
|
VcSaJen
|
|
spider-mario
SI: powers of 1000, kB, MB, GB, TB
IEC: powers of 1024, KiB, MiB, GiB, TiB
Windows: powers of 1024, KB, MB, GB, TB (confusable with SI except for the first one)
|
|
2023-07-29 05:39:57
|
>powers of 1024, KB, MB, GB, TB
That's how it was originally. KiB, etc is a recent invention that's pretty much useless in clarifying between real KBs (1024 bytes) and commercial KBs (1000 bytes).
|
|
|
190n
|
2023-07-29 05:42:24
|
how is it useless?
|
|
|
VcSaJen
|
2023-07-29 05:42:50
|
Because commercial KBs are still ambiguous.
|
|
|
190n
|
2023-07-29 05:42:53
|
"real KB" always should have meant 1000 bytes; the K prefix long predates its use in measuring data capacity
|
|
|
VcSaJen
Because commercial KBs are still ambiguous.
|
|
2023-07-29 05:43:06
|
sure, but if i see KiB i know exactly what it means
|
|
|
VcSaJen
|
2023-07-29 05:43:24
|
That's how HDD manufacturers justify themselves, sure.
|
|
|
190n
|
|
jonnyawsom3
|
2023-07-29 05:53:18
|
I'm fairly sure sector sizes of partitions are always IEC unless something drastic changed the past few years, so a 1 kB file is always 1 KiB, right?
|
|
|
190n
|
2023-07-29 05:54:12
|
filesystems might use even larger blocks like 4 KiB
|
|
2023-07-29 05:54:56
|
but it makes a difference when files are big enough; the difference between 1 GB and 1 GiB is 18,004 4 KiB blocks
|
|
|
jonnyawsom3
|
2023-07-29 05:59:50
|
Yeah, was just using 1 KiB as an example
|
|
|
_wb_
|
2023-07-29 06:08:47
|
Maybe KiB makes sense if that aligns things to sector sizes or whatever. But I don't really see why you would need to keep using powers of two beyond that.
|
|
|
joppuyo
|
2023-07-29 06:21:07
|
MB/MiB is close enough for me most of the time. What really trips me up is that network transfer speeds are measured in bits instead of bytes
|
|
|
_wb_
|
2023-07-29 06:49:19
|
1 kibibyte = 1.024 kilobyte
1 mebibyte ≈ 1.049 megabyte
1 tebibyte ≈ 1.100 terabyte
1 exbibyte ≈ 1.153 exabyte
|
|
2023-07-29 06:53:03
|
What was a 2-5% difference in the 1980s back when a megabyte was a large amount of data, is more like a 10-15% difference for today's storage capacities...
|
|
|
jonnyawsom3
|
2023-07-29 08:24:17
|
235 kB turns into 230 KiB, probably best to just stick with kB but also show original size like in my draft, then no matter the OS or software, you see the difference in the output
|
|
|
lonjil
|
2023-07-29 08:48:39
|
transfer speeds are traditionally measured in "symbols" per second
|
|
2023-07-29 08:48:50
|
and the dominant symbol ended up being a bit :)
|
|
2023-07-29 08:49:46
|
the definition of "baud" is "symbols per second", but of course with 1 bit symbols you get "bits per second"
|
|
|
OkyDooky
|
2023-07-29 08:54:25
|
Thankfully, I can change the settings on my KDE desktop widget to show bytes instead of bits, so I don't have to approximate in my head.
I usually don't like aggressive homogeneity via "standards" being enforced, but data measurements are one area I'd be fine with making an exception. All the definitions above make my head hurt, thinking about them in practice.
(<@189835259242741760>)
|
|
|
lonjil
|
2023-07-29 09:00:31
|
I recall reading something from I think the 60s where someone was complaining about some fancy new 1024 byte memory module being marketed as "1 kilobyte" and saying that an alternative to the SI prefixes should be found. Of course, back then, it really was just plain rounding, 1000 and 1024 being close enough that a bit of rounding was OK.
|
|
|
spider-mario
|
|
VcSaJen
That's how HDD manufacturers justify themselves, sure.
|
|
2023-07-29 10:13:48
|
I’m not going to blame manufacturers for following what “kilo-” has meant for centuries to all but a few engineers who later thought “eh, 1024 is close enough” and wrote it in uppercase
|
|
2023-07-29 10:14:00
|
the only ones who make it ambiguous are those who cling to that non-standard interpretation
|
|
2023-07-29 10:14:07
|
I’d rather just kill it for good
|
|
|
VcSaJen
|
2023-07-30 02:27:25
|
It's not "a few engineers". It was a whole damn IT world. It's kinda weird accusing Windows of being "non-standard" when it was following de-facto standard when it was implemented.
|
|
|
joppuyo
|
2023-07-30 03:24:22
|
Well, ISO exists for a reason 😅
|
|
2023-07-30 03:25:34
|
I’m glad everyone agreed on a date format we should use so we are not stuck with whatever some engineer came up with in the 60s
|
|
|
w
|
2023-07-30 04:03:12
|
we're stuck with whatever some engineer came up with in the 70s
|
|
|
Traneptora
|
|
joppuyo
I’m glad everyone agreed on a date format we should use so we are not stuck with whatever some engineer came up with in the 60s
|
|
2023-07-30 04:11:03
|
unix time superiority
|
|
2023-07-30 04:11:16
|
seconds since 1970 began UTC
|
|
|
lonjil
|
|
Traneptora
seconds since 1970 began UTC
|
|
2023-07-30 06:33:39
|
Unix time is not that, unfortunately. It's the number of seconds since that date, *minus* the number of leap seconds since then. This makes it really annoying and terrible.
|
|
|
VcSaJen
It's not "a few engineers". It was a whole damn IT world. It's kinda weird accusing Windows of being "non-standard" when it was following de-facto standard when it was implemented.
|
|
2023-07-30 06:34:28
|
Except networking and storage :p
|
|
|
jonnyawsom3
|
|
_wb_
Jxl spec defines exif, xmp and jumbf. But we could also add other boxes, they are not described in the spec except that they are to be ignored. I am half-tempted to add a `text` box that just corresponds to unrecognized png text chunks
|
|
2023-07-30 07:54:06
|
Adding on to that `text` box idea, I wonder if djxl could then restore it into new PNGs
|
|
|
_wb_
|
2023-07-30 08:02:29
|
Everything can be done, it's all just chunks and boxes. In practice I don't know if cjxl/djxl matter much — it's what applications like imagemagick, libvips, ffmpeg, gimp, photoshop etc do that matters. Libjxl only gives an api to write and read boxes, whether you use that and what you put inside of them is up to you...
|
|
|
jonnyawsom3
|
2023-07-30 08:14:04
|
Yeah, just thinking of legacy programs that still want PNGs with 'custom' text chunks, then you still get the savings of JXL with relative ease of use
|
|
|
spider-mario
|
|
VcSaJen
It's not "a few engineers". It was a whole damn IT world. It's kinda weird accusing Windows of being "non-standard" when it was following de-facto standard when it was implemented.
|
|
2023-07-30 09:00:17
|
I mean, it’s also a bit weird to say that “kilo” for 1024 was how it was “originally” (and that 1000 is “commercial”), when the kilo- prefix for 1000 (itself from the Ancient Greek word for 1000) dates back to the 18th century and was standardised internationally in 1875
|
|
|
w
|
2023-07-30 09:03:17
|
and people use 4k for UHD when it's not even 4k
|
|
2023-07-30 09:03:51
|
and dci 4k is also 4096
|
|
|
gb82
|
|
Thought I'd get some input from others here on the formatting and verbosity of cjxl. Wb already worked on it and I had made suggestions that got implemented, but tailoring it to just what I think obviously isn't ideal
Current default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.449 MP/s [1.45, 1.45], 1 reps, 16 threads.```
Proposed default
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Encoding 3840 x 2160 [Lossless, effort: 5 | Exif]
2311.8 KB compressed to 3552.2 KB (3.508 bpp) 1.449 MP/s```
Removes more detailed info for verbose output, changes kB to KB to keep in line with OS displayed size (Could adjust to MB too), shows original size for easy comparison, moves resolution to the encoding line and encode speed to the compressed line
Current Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840x2160 image, 2367327 bytes, 475.8 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637.5 kB including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Proposed Verbose
```JPEG XL encoder v0.9.0 c3a4f9c [AVX2,SSE4,SSSE3,SSE2]
Read 3840 x 2160 image, 2367327 bytes, 475.843 MP/s
Encoding [Container | Modular, lossless, effort: 5 | 982-byte Exif]
Compressed to 3637451 bytes including container (3.508 bpp).
3840 x 2160, 1.469 MP/s [1.47, 1.47], 1 reps, 16 threads.```
Changes sizes back to bytes for accurate results, makes formatting of resolution and MP/s between read and compressed identical, shows the info removed by default
|
|
2023-07-30 04:07:13
|
I think it'd be cool to have somewhere in there a percentage number for how much smaller/larger the file became after encoding
|
|
|
kkourin
|
|
w
and people use 4k for UHD when it's not even 4k
|
|
2023-07-30 04:49:09
|
imo the more egregious one is 1440p monitors being commonly referred to as "2K" by stores
|
|
2023-07-30 04:50:23
|
as if to separate them from 1080p
|
|
|
spider-mario
|
2023-07-30 05:46:18
|
which are _also_ roughly 2K if 16:9 or wider (1920×1080)
|
|
|
Traneptora
|
2023-07-30 05:46:46
|
2560x1440 is a bit off from 2k IMO
|
|
|
spider-mario
|
2023-07-30 06:00:06
|
yes, if anything, it’s 2.5K 😁
|
|
|
joppuyo
|
2023-07-30 06:09:44
|
Anybody know how to make a HDR .jxl file? Wide gamut should be simple enough if you just embed an ICC profile but I’m not sure how to add extended dynamic range
|
|
2023-07-30 06:10:55
|
Maybe I need to try adobe camera raw, according to the docs it supports HDR jxl and avif out of the box
|
|
|
190n
|
2023-07-30 06:11:27
|
i would imagine color profile + floating point input would be needed, so you can just provide samples above 1.0
|
|
|
joppuyo
|
2023-07-30 06:12:45
|
Are you talking about cjxl? I don’t have enough skills to use libjxl API directly
|
|
|
190n
|
2023-07-30 06:14:26
|
that works in cjxl if your input is floating point
|
|
2023-07-30 06:14:47
|
i just compressed an openexr file i have and the resulting jxl has samples above 1.0
|
|
2023-07-30 06:32:03
|
|
|
|
Traneptora
|
|
190n
i would imagine color profile + floating point input would be needed, so you can just provide samples above 1.0
|
|
2023-07-30 06:33:43
|
HDR works in int16 as well, it doesn't have to be float
|
|
2023-07-30 06:34:12
|
the primary difference between HDR and SDR is that HDR transfers (e.g. PQ) are in absolute light levels and SDR is referred
|
|
2023-07-30 06:34:40
|
that's what the intensity target is primarily for
|
|
|
190n
|
2023-07-30 06:35:55
|
so like, in int16 you specify how many nits 65535 is and in float you specify the level for 1.0?
|
|
|
Traneptora
|
2023-07-30 06:40:19
|
yea
|
|
2023-07-30 06:40:21
|
basically
|
|
2023-07-30 06:40:41
|
float can go above 1.0, but you can always use int16 and set the 65535 level in nits to be something higher than the peak brightness of the image
|
|
2023-07-30 06:40:50
|
and then the inability to go above 1.0 is not an issue
|
|
|
spider-mario
|
2023-07-30 07:17:22
|
(HLG is relative like SDR, but the exact transfer function varies with peak luminance)
|
|
|
gb82
|
|
joppuyo
Anybody know how to make a HDR .jxl file? Wide gamut should be simple enough if you just embed an ICC profile but I’m not sure how to add extended dynamic range
|
|
2023-07-31 12:00:28
|
https://www.reddit.com/r/jpegxl/comments/wnf0ou/comment/iks1z3o/
|
|
|
190n
|
|
2023-07-31 12:03:47
|
here's my attempt:
|
|
|
190n
|
2023-07-31 12:05:27
|
on my phone, what's different? higher distance?
|
|
2023-07-31 12:06:17
|
does jxl support 16 bit float? the jxl i sent was actually encoded from a 32 bit float exr, not 16, but idk if that would've made a difference in encoding
|
|
|
gb82
|
|
190n
on my phone, what's different? higher distance?
|
|
2023-07-31 12:07:16
|
this one has actual HDR metadata & displays the full dynamic range
|
|
2023-07-31 12:07:44
|
I used `exr_to_pq` & copied the target luminance info for the cjxl encode
|
|
|
190n
|
2023-07-31 12:15:52
|
interesting, what was that info? i don't think i set a target luminance
|
|
|
gb82
|
2023-07-31 12:18:08
|
`exr_to_pq -l max=1000 final16.exr final16.png`
|
|
2023-07-31 12:18:21
|
`cjxl final16.png final16.jxl --intensity_target=1206.76 -e 9 -p -v -d 1.0`
|
|
2023-07-31 12:19:11
|
What color profile was the original exported in?
|
|
|
190n
|
|
Quackdoc
|
|
gb82
`exr_to_pq -l max=1000 final16.exr final16.png`
|
|
2023-07-31 12:53:41
|
https://cdn.discordapp.com/emojis/654081052108652544.webp
|
|
|
gb82
|
2023-07-31 12:54:36
|
10k nits
|
|
|
diskorduser
|
|
Quackdoc
|
2023-07-31 12:55:55
|
try doing white=1000?
|
|
|
gb82
|
2023-07-31 12:59:32
|
`[1] 195464 illegal hardware instruction (core dumped)` lmao
|
|
2023-07-31 12:59:55
|
with max=8k it looks like a mess
|
|
|
CrushedAsian255
|
2023-07-31 07:51:50
|
just wondering what's the chance that software can still read JPEG XL in 20-30 years? Is it a good archival format?
|
|
|
_wb_
|
2023-07-31 07:55:24
|
That's the goal, yes.
|
|
|
CrushedAsian255
|
2023-07-31 07:57:45
|
so should i archive images using JXL or use something like JPEG (legacy) or TIFF
|
|
|
Traneptora
|
|
CrushedAsian255
so should i archive images using JXL or use something like JPEG (legacy) or TIFF
|
|
2023-07-31 09:40:42
|
I would strongly recommend against using legacy JPEG to archive images unless they *already are* legacy JPEG
|
|
2023-07-31 09:40:49
|
since it's lossy
|
|
2023-07-31 09:41:04
|
if you don't mind that, JXL is still significantly better
|
|
|
CrushedAsian255
|
2023-07-31 09:46:06
|
As in they’re currently in legacy, should I lossless into JXL?
|
|
|
spider-mario
|
2023-07-31 09:52:30
|
it seems like it should be safe to do, if they currently reconstruct properly
|
|
2023-07-31 09:52:53
|
(I can be slightly paranoid with this sort of thing so I would still make sure that this is the case before deleting the originals)
|
|
|
CrushedAsian255
|
2023-07-31 09:53:03
|
But will the format still work in 20+ years ?
|
|
2023-07-31 09:53:14
|
Like will jpeg xl be obsolete
|
|
|
spider-mario
|
2023-07-31 09:54:17
|
I can’t give a 100% sure answer, but the more people use it, the less likely it is to die
|
|
|
CrushedAsian255
|
2023-07-31 09:54:33
|
Fair point
|
|
|
spider-mario
|
2023-07-31 09:54:39
|
there will be more people with an incentive to keep it working
|
|
|
CrushedAsian255
|
2023-07-31 09:54:48
|
Also I’ll keep a PDF of the spec just in case
|
|
|
w
|
2023-07-31 09:55:19
|
yeah but waht about jpeg xl 2
|
|
2023-07-31 09:55:22
|
jpeg xxl
|
|
|
CrushedAsian255
|
2023-07-31 09:55:47
|
JPEG - 2100?
|
|
|
w
yeah but waht about jpeg xl 2
|
|
2023-07-31 09:56:06
|
Hopefully would be backwards compatible
|
|
|
spider-mario
|
2023-07-31 10:00:51
|
jpeg 2xl4me
|
|
|
_wb_
|
2023-07-31 10:04:52
|
I think the likelihood that you will not be able to open a jxl in 20 years is low. Even if adoption-wise it becomes a complete flop, I think it's already sufficiently established to assume that at least in some software it will still work in some software. E.g. ImageMagick can still open way more obscure formats from 20+ years ago...
|
|
|
CrushedAsian255
|
2023-07-31 10:05:27
|
Ok cool 😎
|
|
|
jonnyawsom3
|
2023-07-31 12:16:55
|
Worst case, you'll still have the reference implementation while making the archive, so either windows will still have 30 year backwards compatibility or you could compile the Github code into whatever platform we're using
|
|
|
spider-mario
|
2023-07-31 12:31:57
|
yeah, just make sure to keep a copy of your own if you want to be on the safe side
|
|
2023-07-31 12:32:20
|
waking up in 30 years: “I’ll just grab libjxl from githu… wait, where _is_ github?”
|
|
2023-07-31 12:32:38
|
“anyone has a djxl.exe around?”
|
|
|
jonnyawsom3
|
2023-07-31 12:33:38
|
"Anyone remember C++?"
|
|
|
lonjil
|
2023-07-31 12:43:34
|
one time I needed an old minecraft mod and the only place I could find it was inside a single obscure mod pack whose original hosting no longer existed
|
|
|
jonnyawsom3
|
2023-07-31 01:19:36
|
God, you reminded me when I spent a week trying to find an old mod from 2011, now that was a pain in the arse
|
|
|
username
|
2023-07-31 02:42:24
|
it seems like the minecraft community has/is done/doing a very very awful job of archiving older mods which is leading to more and more mods disappearing each day
|
|
|
OkyDooky
|
2023-07-31 02:46:42
|
It's standardized, open source, and supported natively on Linux. You can't really get more future-proof than that, since Linux will probably outlive any other platform.
(<@386612331288723469>)
|
|
|
monad
|
|
CrushedAsian255
As in they’re currently in legacy, should I lossless into JXL?
|
|
2023-07-31 05:32:26
|
~~By design, JPEG recompression will be lossy in some cases, so~~ you must perform a round trip and verification on every file if you care about preserving data.
|
|
|
_wb_
|
2023-07-31 05:40:29
|
In principle libjxl should return an error if it cannot losslessly recompress a JPEG. There might be bugs that cause it not to roundtrip, but it is designed to either roundtrip or return error.
|
|
|
gb82
|
2023-07-31 09:08:19
|
I hear that Instagram & Facebook Reels are being served as HDR if a source video is HDR only on Apple devices that support it currently - could this mean Facebook tries to do something similar with image delivery? JXL supports HDR, they'd be able to transcode existing JPEGs for iPhone users, & suddenly the iOS experience is far ahead
|
|
|
monad
|
2023-07-31 11:24:41
|
Oh, I guess this behavior was dropped, which is good https://github.com/libjxl/libjxl/pull/358
|
|
|
jonnyawsom3
|
|
gb82
I hear that Instagram & Facebook Reels are being served as HDR if a source video is HDR only on Apple devices that support it currently - could this mean Facebook tries to do something similar with image delivery? JXL supports HDR, they'd be able to transcode existing JPEGs for iPhone users, & suddenly the iOS experience is far ahead
|
|
2023-08-01 12:02:18
|
I remember a vague quote from Facebook saying they had the JXL support ready years ago but just needed to flip the switch
|
|
|
OkyDooky
|
2023-08-01 12:45:54
|
or https://bugs.chromium.org/p/chromium/issues/detail?id=1178058#c16
|
|
|
jonnyawsom3
|
|
gb82
|
2023-08-01 02:34:38
|
spider mario, what is the difference between `-l white=XXX` & `-l max=XXX` in `exr_to_pq`
|
|
|
spider-mario
|
|
gb82
spider mario, what is the difference between `-l white=XXX` & `-l max=XXX` in `exr_to_pq`
|
|
2023-08-01 08:00:02
|
`-l white=x` means that (1, 1, 1) in the EXR is `x` cd/m², `-l max=x` means that whatever brightest pixel is actually found in the EXR (not necessarily (1, 1, 1)) is `x` cd/m²
|
|
2023-08-01 08:01:44
|
so, for an EXR that goes up to (7, 7, 7), `-l white=100` and `-l max=700` would be equivalent
|
|
|
gb82
|
2023-08-01 12:41:49
|
Gotcha. Is there any way to parse EXR metadata to look for those values? I'm not sure how high mine might go
|
|
2023-08-01 12:42:00
|
Also, <@184373105588699137> this might explain things
|
|
|
Quackdoc
|
2023-08-01 12:43:50
|
ah, I thought it was applied on output not input, that can indeed explain things
|
|
2023-08-01 12:49:33
|
wait, then `-l max=` should still properly equate the peak nits right?
|
|
2023-08-01 12:52:05
|
unless my script is bunged up, could be mapping error I suppose?
|
|
|
OkyDooky
|
2023-08-01 01:12:35
|
hi <@794205442175402004>, does the JXL project have a particular release schedule? Having this information can be handy for downstreams like desktop environments and distros
|
|
|
_wb_
|
2023-08-01 01:13:33
|
I agree it would be practical to have a schedule, but currently we don't have one — it's ready when it's ready...
|
|
|
OkyDooky
|
2023-08-01 01:14:12
|
ah I guessed so \:)
|
|
|
_wb_
|
2023-08-01 01:14:30
|
we could probably at least anticipate and announce some time in advance when the next release will be, when we are sufficiently close to it....
|
|
2023-08-01 01:15:47
|
for now, as far as I understand, for 0.9 we still want to get the decode-cms thing and the no-aborts thing done. Possibly also chunked encode, if that is ready.
|
|
|
Quackdoc
|
2023-08-01 01:46:12
|
what form of tonemapping does `exr_to_pq` use? im getting nit peaks far higher then what is set by `-l max=700` when using ocio's python tools
|
|
|
spider-mario
|
2023-08-01 01:55:17
|
no tone mapping, but very chromatic highlights might be throwing off the max calculation
|
|
2023-08-01 01:55:30
|
I would generally favour `white=`, it should be more predictable
|
|
2023-08-01 01:55:43
|
less dependent on the exact image content and more on how it was produced
|
|
|
Quackdoc
|
2023-08-01 01:56:09
|
ahhh I see
|
|
|
spider-mario
|
|
gb82
Gotcha. Is there any way to parse EXR metadata to look for those values? I'm not sure how high mine might go
|
|
2023-08-01 01:56:16
|
exrstats from exrtools is an option if packaged for your system
|
|
|
Quackdoc
|
2023-08-01 01:58:49
|
hmmmm, I wonder how hard it would be to add jxl to oiio...
|
|
|
spider-mario
|
2023-08-01 02:06:32
|
<@703028154431832094> I now see that openimageio’s `iinfo` tool with the `--stats` flag is also a viable option, thanks <@184373105588699137> for pointing me to it 😁
|
|
|
Quackdoc
|
2023-08-01 02:08:18
|
yeah, oiio is typically what I use for working with still exr images, so having native jpegxl support for that is quite tempting, I may work on it should I find the time but it would be quite low priority sadly
|
|
2023-08-01 02:09:39
|
that being said, it shouldn't be too hard to work with since iirc it's mostly just standard affair, example for jpeg is here https://github.com/OpenImageIO/oiio/tree/master/src/jpeg.imageio
|
|
2023-08-01 02:10:47
|
though colorspace stuff would be nice to support in ocio too im not sure how necessary it would be?
|
|
|
Traneptora
|
2023-08-01 04:10:38
|
looks like placebo bug in SDR -> SDR contrast ratio got fixed
|
|
2023-08-01 04:10:53
|
which means this works again:
`ffmpeg -i xyb.jpg -vf libplacebo=color_primaries=bt709:color_trc=iec61966-2-1:format=gbrp rgb.png`
|
|
2023-08-01 04:18:51
|
er, not necessarily
|
|
2023-08-01 04:18:52
|
hm
|
|
2023-08-01 04:21:05
|
ah it is, I had forgotten to recompile placebo <:kek:857018203640561677>
|
|
|
_wb_
|
2023-08-03 09:30:53
|
Can anyone help with https://github.com/libjxl/libjxl/pull/2704 ? We're looking for JPEG encoders (hardware or software) that produce bitstreams with empty DHT segments, i.e. containing the sequence `0xFFC40002FF`
|
|
2023-08-03 09:32:02
|
this is rare/unusual/useless behavior but apparently it does exist, we just don't know how common it is
|
|
|
OkyDooky
|
2023-08-03 02:39:52
|
lots of mentions of JPEG XL in https://news.ycombinator.com/item?id=36982507
|
|
|
Traneptora
|
2023-08-03 11:47:31
|
so I tried searching for the CDN for that image to try to find its source
|
|
2023-08-03 11:47:33
|
|
|
2023-08-03 11:47:34
|
hm
|
|
2023-08-04 05:45:20
|
Is there a firefox fork that follows Firefox development and regularly merges in patches, similar to how Thorium does with Chromium
|
|
2023-08-04 05:45:24
|
Preferably with JXL support
|
|
2023-08-04 05:45:36
|
iirc some firefox forks like Pale Moon are based on older versions of firefox and have sort of diverged
|
|
|
w
|
2023-08-04 05:49:08
|
i would do it except mozbuild breaks every week
|
|
|
Traneptora
|
2023-08-04 06:04:22
|
I looked at waterfox, dunno if they are what I'm looking for tho
|
|
|
Quackdoc
|
2023-08-04 06:07:15
|
waterfox tracks ESR pretty closely, but they dont do a lot of patches, but they certainly do some, librewolf maybe? IIRC at one point they had jxl support at least,
|
|
|
Traneptora
|
2023-08-04 06:26:38
|
Tested waterfox. It passes: https://jpegxl.info/test-page/
|
|
2023-08-04 06:26:52
|
dunno if they merged W's patches or not but the animation works, so I suppose yes?
|
|
|
Quackdoc
|
2023-08-04 06:28:57
|
I believe so yes,
|
|
2023-08-04 06:29:22
|
yes they did, forgot about it myself lol https://github.com/WaterfoxCo/Waterfox/pull/2938
|
|
|
VcSaJen
|
2023-08-05 01:55:24
|
Waterfox crashed on CMYK JXL images last I checked. I dunno if they fixed that or not.
|
|
|
gb82
|
|
Traneptora
Is there a firefox fork that follows Firefox development and regularly merges in patches, similar to how Thorium does with Chromium
|
|
2023-08-05 05:17:51
|
Mercury. https://thorium.rocks/mercury
|
|
|
Traneptora
|
|
gb82
Mercury. https://thorium.rocks/mercury
|
|
2023-08-05 06:12:00
|
aren't Mercury and Waterfox by the same guy
|
|
2023-08-05 06:13:25
|
oh wait nvm I'm misremembering something
|
|
|
gb82
|
2023-08-05 06:30:32
|
Mercury & Thorium are by the same guy
|
|
|
elfeïn
|
2023-08-05 06:40:01
|
wha
|
|
2023-08-05 06:40:24
|
|
|
2023-08-05 06:40:37
|
|
|
2023-08-05 06:40:59
|
um actually
|
|
|
FuriousFields
|
2023-08-05 10:27:41
|
<:PepeOK:805388754545934396>
|
|
|
Traneptora
|
2023-08-06 12:25:12
|
I just adopted the AUR package for waterfox-current-bin
|
|
2023-08-08 04:15:53
|
Are extensions designed to be forward-compatible like unknown PNG chunks?
|
|
2023-08-08 04:16:04
|
i.e. are decoders required to ignore extensions they do not recognize without erroring?
|
|
2023-08-08 04:18:50
|
If so, why not have a Text extension in the codestream, which contains an entropy-coded stream of UTF8-encoded text?
|
|
2023-08-08 04:19:11
|
Or rather, it contains an entropy-coded stream of Unicode Codepoints
|
|
2023-08-08 04:19:31
|
Unless that's more difficult than doing 8-bit UTF-8?
|
|
2023-08-08 04:20:05
|
not sure which would be harder to do, but I wonder if it would make sense to have a text-extension like the equivalent of PNG's `zTXt` chunks
|
|
|
Tirr
|
2023-08-08 04:21:15
|
extension bits are read and ignored
|
|
|
Traneptora
|
2023-08-08 04:21:20
|
ah so it does say that
|
|
|
Tirr
|
2023-08-08 04:21:26
|
> Extensions for ImageMetadata, FrameHeader, and RestorationFilter are not currently defined, so the decoder reads and ignores any extension bits specified there.
|
|
|
Traneptora
|
2023-08-08 04:26:03
|
Maybe something like:
```
u(8) | "und" | country_code[3]
U64() | 0 | compressed_length
```
("und" for unspecified language, and "zxx" for the "encoded text has no linguistic content")
If the `compressed_length` is nonzero, a decoder then reads an entropy-coded stream with one pre-clustered distribution, and then it reads `compressed_length` symbols from that entropy-coded stream, using `0` as the context each time. Each symbol has a value between 0 and 255 (inclusive), and the concatenation of all symbols forms a UTF8-encoded text stream.
|
|
2023-08-08 04:27:37
|
If `compressed_length` is zero, then no entropy stream is read. Instead, this extension tags the linguistic content of the image data itself.
|
|
2023-08-08 04:30:04
|
I'm thinking that since the extensions bundle itself has a size, there's no need to tag the uncompressed length of the entropy stream
|
|
|
_wb_
|
|
Traneptora
If so, why not have a Text extension in the codestream, which contains an entropy-coded stream of UTF8-encoded text?
|
|
2023-08-08 06:48:50
|
That's better done as file format boxes imo. Codestream should be for things that have rendering impact.
|
|
2023-08-08 06:53:28
|
One possible use for codestream extensions would be some new kind of gaborish/epf filter (which if ignored, still gives you a reasonable image), or maybe some extra index/toc that could help to speed up decoding in some way.
|
|
|
yoochan
|
2023-08-08 07:10:52
|
The capability to contain clipping path (with existing splines) would be a nice extension
|
|
|
Traneptora
|
|
_wb_
That's better done as file format boxes imo. Codestream should be for things that have rendering impact.
|
|
2023-08-08 08:39:02
|
perhaps. maybe add `tEXt` boxes? and maybe allow them to be embedded in `brob`
|
|
|
_wb_
|
2023-08-08 08:43:19
|
See also: https://github.com/libjxl/libjxl/issues/2641 and https://github.com/libjxl/libjxl/issues/2687
|
|
|
Traneptora
|
2023-08-08 09:16:34
|
Arbitrary text makes sense, though I don't think we should just use all PNG chunks
|
|
2023-08-08 09:16:38
|
since JXL is not a PNG recompressor
|
|
2023-08-08 09:17:00
|
stuff like `tEXt` is generic enough that plaintext and brob boxes could cover it
|
|
2023-08-08 09:17:31
|
but I see no need for arbitrary PNG chunks like bKGD or hIST or tRNS
|
|
2023-08-08 09:17:43
|
etc.
|
|
2023-08-08 09:18:42
|
but text-based metadata is low-overhead, especially when the brob mechanic exists already
|
|
2023-08-08 09:26:10
|
It's less about "PNG recompression" and more about "text metadata makes sense to have as a thing"
|
|
|
jonnyawsom3
|
2023-08-08 09:46:15
|
Would be nice to have lossless be lossless, instead of throwing away the text
|
|
|
CrushedAsian255
|
2023-08-08 09:46:27
|
Agreed
|
|
2023-08-08 09:48:13
|
Wait what is usually put in those chunks other than XMP?
|
|
2023-08-08 09:48:19
|
Application specific things?
|
|
|
_wb_
|
2023-08-08 09:55:26
|
ImageMagick uses it for plaintext creation/modification timestamps
|
|
2023-08-08 09:55:47
|
Some genAI uses it to store the prompt
|
|
2023-08-08 09:57:27
|
In general I think it would be better to avoid generic plaintext where only humans can make sense of the semantics, and use something like XMP instead so standard field names can be used when possible (and new ones added otherwise)
|
|
|
Traneptora
|
2023-08-08 09:09:39
|
problem is XML is terrible
|
|
|
OkyDooky
|
2023-08-08 11:05:33
|
Just out of curiosity, has anyone tried using cjxl on Android using something like Termux?
|
|
2023-08-08 11:07:32
|
I got sent down that rabbithole a bit after trying to find some app that would encode JPEGs using MozJPEG and someone suggested I try using Tetmux + ffmpeg. It turned into a bit too big of an ordeal, but I thought I might try seeing if I could play around with encoding JXL files before unistalling Termux.
|
|
|
190n
|
|
Just out of curiosity, has anyone tried using cjxl on Android using something like Termux?
|
|
2023-08-08 11:12:43
|
yes, it works
|
|
2023-08-08 11:14:07
|
https://media.discordapp.net/attachments/808742092213715034/947437547854909490/android-users-viewing-a-jxl.mp4
|
|
|
w
|
2023-08-08 11:17:16
|
bro charge your phone
|
|
|
190n
|
2023-08-08 11:17:44
|
i don't even use that phone anymore
|
|
2023-08-08 11:18:18
|
18 month old video
|
|
|
OkyDooky
|
2023-08-08 11:34:36
|
So, is installing the same as on a Debian distro? Or do I have to build it?
|
|
|
190n
|
2023-08-08 11:40:52
|
install libjxl-progs from their repos
|
|
2023-08-08 11:41:02
|
idk if it's up to date but it exists
|
|
|
Fraetor
|
2023-08-08 11:48:14
|
And cjxl works fine too. I use it a fair amount inside of Termux.
|
|
|
OkyDooky
|
2023-08-09 12:09:35
|
Found the repo listing. It looks fairly up to date (July 2023). Should I go with regular libjxl or the progs one?
|
|
|
190n
|
2023-08-09 12:10:56
|
i'm guessing regular libjxl is only the library and -progs includes the cjxl and djxl programs
|
|
|
OkyDooky
|
2023-08-09 12:34:57
|
Thanks for the help! It installed fine. One more question\: is there a beginners guide for commands? The libjxl Github shows a few starter commands, but I'm super new to using CLI tools to work with files, media or otherwise.
|
|
|
DZgas Ж
|
|
190n
https://media.discordapp.net/attachments/808742092213715034/947437547854909490/android-users-viewing-a-jxl.mp4
|
|
2023-08-09 03:27:53
|
<:megapog:816773962884972565>
|
|
|
Tumby
|
2023-08-09 03:54:14
|
so i just learned about jxl today
|
|
2023-08-09 03:55:20
|
i have some images i rendered in blender that are 48bpp and end up needing 130MB as png
|
|
2023-08-09 03:57:05
|
i found out that Krita can read/write jxl, so i tried converting one of those images. I compared the png and jxl images and they aren't exactly the same! does krita have a bug or does jxl not like 48bpp images?
|
|
|
|
Lucas Chollet
|
2023-08-09 03:59:05
|
Are sure that you're using lossless JXL?
|
|
|
190n
|
2023-08-09 04:00:21
|
^^^ how did you convert them image
|
|
|
Tumby
|
2023-08-09 04:00:27
|
lossless was checked when i exported
|
|
2023-08-09 04:03:03
|
i opened the original png and the converted jxl in krita, set one of the layers to Difference, merged them, and then used the color sampling tool to check if everything is 0,0,0. but no, most pixels are like 1,0,0 or 0,2,3 etc.
|
|
2023-08-09 04:04:26
|
its not the worst error in the world, since its just off by like 3 out of 65535. but still, lossless should be lossless so whats going on here?
|
|
2023-08-09 04:07:03
|
is there a different program i can use, so that i can eliminate the possibility that its just a Krita thing?
|
|
|
jonnyawsom3
|
2023-08-09 04:19:26
|
I know Krita has a few bugs with JXL that are being fixed in the next release, but if you want to be certain then you can use the reference software from Github
Either from Releases https://github.com/libjxl/libjxl
Or you can get the most recent from here https://artifacts.lucaversari.it/libjxl/libjxl/latest/
|
|
|
_wb_
|
2023-08-09 04:21:54
|
You can try using cjxl/djxl to see if things are different
|
|
|
Tumby
|
2023-08-09 04:32:23
|
i will report back with results later
|
|
|
jonnyawsom3
|
|
Tumby
lossless was checked when i exported
|
|
2023-08-09 05:13:35
|
If it's a 130MB PNG, then I assume it's fairly high resolution. On effort 9 it can use a *lot* of RAM so I'd be a bit wary of that
|
|
|
elfeïn
|
|
If it's a 130MB PNG, then I assume it's fairly high resolution. On effort 9 it can use a *lot* of RAM so I'd be a bit wary of that
|
|
2023-08-09 05:20:34
|
130MB 😳
|
|
|
jonnyawsom3
|
2023-08-09 05:21:55
|
I've had 150+ before :P
|
|
|
elfeïn
|
2023-08-09 05:22:08
|
150+MB 😳
|
|
|
Tumby
|
|
_wb_
You can try using cjxl/djxl to see if things are different
|
|
2023-08-09 05:32:31
|
using these tools, the jxl file is 100% lossless. so yeah, krita is dum dum
|
|
|
If it's a 130MB PNG, then I assume it's fairly high resolution. On effort 9 it can use a *lot* of RAM so I'd be a bit wary of that
|
|
2023-08-09 05:32:53
|
i got plenty of ram. it does take 41 minutes to compress though
|
|
|
jonnyawsom3
|
2023-08-09 05:34:38
|
Yeah, that sounds about right. How big was the resulting file by the way?
|
|
|
Tumby
|
2023-08-09 05:35:11
|
81 MB
|
|
2023-08-09 05:36:21
|
the original png was made with blender, which has the best png compression i have ever seen. the converted-back png is 134 MB
|
|
|
jonnyawsom3
|
2023-08-09 05:38:26
|
Yeah, Blender is one of the few programs that compresses PNGs 'Properly', I know there was mention of changing the djxl PNG encoder too
|
|
|
Tumby
|
2023-08-09 05:40:19
|
im just glad to see that jxl is in fact lossless as advertised
|
|
2023-08-09 05:41:19
|
is there something i can install to see thumbnails of jxl files in the windows explorer?
|
|
|
_wb_
|
2023-08-09 05:41:50
|
It can do even more than 16 bit per sample losslessly, but probably applications that can handle that properly will be rare
|
|
2023-08-09 05:42:23
|
I think there's a WIC thingie somewhere, no idea how well it works though
|
|
2023-08-09 05:43:29
|
I haven't used Windows since 1998 or so, when I finally removed that Windows NT 4 partition
|
|
|
jonnyawsom3
|
|
Tumby
is there something i can install to see thumbnails of jxl files in the windows explorer?
|
|
2023-08-09 05:49:12
|
https://github.com/saschanaz/jxl-winthumb
I mentioned it to a friend in a voice call while they were screen sharing a while ago, they installed it live in about a minute and we both watched the file explorer fill with color haha
|
|
|
Tumby
|
2023-08-09 05:52:23
|
how do i install this
|
|
2023-08-09 05:52:42
|
its just a dll?
|
|
|
jonnyawsom3
|
2023-08-09 05:54:26
|
Huh, I could've sworn it had install instructions before...
|
|
2023-08-09 05:58:04
|
Download the DLL from releases, put it somewhere safe (Maybe a JXL folder under Program Files), open cmd there, run `regsvr32 jxl_winthumb.dll` then it should start generating previews (`regsvr32 -u xl_winthumb.dll` to uninstall)
|
|
2023-08-09 05:59:53
|
Ah yeah, the instructions were on the initial release
> How to use:
>
> Download the dll file
> Open a terminal window as administrator
> Move to your download directory
> `regsvr32 jxl_winthumb.dll`, or to uninstall, `regsvr32 /u jxl_winthumb.dll`.
|
|
|
Tumby
|
2023-08-09 06:05:42
|
doesnt looks like my computer wants this
|
|
2023-08-09 06:05:46
|
|
|
2023-08-09 06:06:21
|
the file was found and loaded, but DllRegisterServer failed with error code 0x80004005
|
|
|
jonnyawsom3
|
2023-08-09 06:06:33
|
Huhh....
|
|
2023-08-09 06:07:15
|
First thing I get searching that is no Administrator privileges
|
|
|
Tumby
|
2023-08-09 06:07:26
|
ah makes sense
|
|
2023-08-09 06:08:03
|
works now
|
|
|
jonnyawsom3
|
|
Tumby
|
2023-08-09 06:28:24
|
the colors of the thumbnails are off though. left is jxl, right is png
|
|
|
jonnyawsom3
|
2023-08-09 06:31:41
|
Yeah, that was an open issue on the github
|
|
|
yoochan
|
2023-08-09 08:02:51
|
It would be nice to have a fully working and easy to install windows solution! Even if this discord is full of bearded geeks, windows users still represent a huge part of the potential users
|
|
|
jonnyawsom3
|
2023-08-09 08:28:56
|
There was a bat file in the old version that ran the DLL register and modified registry so Microsoft Photos would work too, but not sure if it's up to date
|
|
2023-08-09 08:30:07
|
Oh wait, apparently that was to make an executable that would do it all for you, but never put in releases
https://github.com/mirillis/jpegxl-wic/blob/main/installator_setup.iss
|
|
|
Traneptora
|
|
Tumby
i opened the original png and the converted jxl in krita, set one of the layers to Difference, merged them, and then used the color sampling tool to check if everything is 0,0,0. but no, most pixels are like 1,0,0 or 0,2,3 etc.
|
|
2023-08-10 06:16:29
|
What does `jxlinfo -v` report for the encoded JXL? If I had to guess, it's probably setting the distance to zero but isn't disabling XYB.
|
|
|
Kampidh
|
2023-08-10 07:40:52
|
hmm interesting, I can't reproduce it myself even on krita 5.1.5
|
|
|
jonnyawsom3
|
2023-08-10 08:11:36
|
From the sounds of it, it was 16 bit per channel if that makes a difference
|
|
|
Kampidh
|
2023-08-10 09:37:25
|
Yep, tried roughly the same.. exporting 16bpc RGB (48bpp) from blender, open in krita and export it to lossless jxl
|
|
|
jonnyawsom3
|
|
Tumby
lossless was checked when i exported
|
|
2023-08-10 10:10:49
|
Did you have animated checked as well? Could be something weird going on there
|
|
|
Tumby
|
2023-08-10 01:56:03
|
animated is checked by default and i didn't touch it
|
|
|
Traneptora
What does `jxlinfo -v` report for the encoded JXL? If I had to guess, it's probably setting the distance to zero but isn't disabling XYB.
|
|
2023-08-10 03:04:39
|
```
box: type: "JXL " size: 12
JPEG XL file format container (ISO/IEC 18181-2)
box: type: "ftyp" size: 20
box: type: "jxll" size: 9
box: type: "jxlc" size: 85018837
JPEG XL image, 8192x6144, (possibly) lossless, 16-bit RGB+Alpha
num_color_channels: 3
num_extra_channels: 1
extra channel 0:
type: Alpha
bits_per_sample: 16
alpha_premultiplied: 0 (Non-premultiplied)
have_preview: 0
have_animation: 0
Intrinsic dimensions: 8192x6144
Orientation: 1 (Normal)
Color space: RGB, D65, sRGB primaries, sRGB transfer function, rendering intent: Perceptual
```
|
|
|
_wb_
|
2023-08-10 03:13:00
|
So xyb is not the issue... Might be something like passing buffers in a different format or colorspace
|
|
|
Tumby
|
2023-08-10 03:16:15
|
doing some experimentation
|
|
2023-08-10 03:16:37
|
so i converted the png to jxl using krita, and then i converted that back to png using djxl
|
|
2023-08-10 03:16:51
|
i opened the two pngs in krita and compared. no difference
|
|
2023-08-10 03:17:16
|
this means that krita doesnt read jxl files correctly
|
|
2023-08-10 03:20:04
|
next test: open original png and the jxl made by cjxl in krita. compare. different
|
|
2023-08-10 03:20:40
|
yeah krita is doing something wrong while decoding
|
|
|
_wb_
|
2023-08-10 03:24:51
|
It might be doing some unnecessary color transform that is slightly lossy
|
|
|
Kampidh
|
|
Tumby
next test: open original png and the jxl made by cjxl in krita. compare. different
|
|
2023-08-10 05:10:40
|
can you try another test: re-export the original blender png to krita png (make sure to embed the profile), and then compare the new png to the jxl one?
|
|
|
Tumby
|
2023-08-10 05:14:25
|
im gonna be honest, at this point i dont have the actual original file anymore. i can at best use the png made by djxl
|
|
2023-08-10 05:19:07
|
how do i make the god damn bot stop pinging me, i hate level-up bots so much
|
|
|
Kampidh
can you try another test: re-export the original blender png to krita png (make sure to embed the profile), and then compare the new png to the jxl one?
|
|
2023-08-10 05:20:55
|
no difference between krita's png and djxl's png
|
|
|
Kampidh
|
2023-08-10 05:24:42
|
I'm still can't reproduce it on krita by difference layer and color picking yet, but testing with DSSIM tells another story.. I'm gonna make a guess it's the krita's png decoder that might be slightly off when dealing with cicp instead of icc on png
|
|
2023-08-10 05:26:17
|
seems like blender's export didn't seem to use icc on png?
|
|
2023-08-10 05:43:59
|
oh right, one thing as well that krita 5.1.x do try to store lossless jxl with cicp enum as well instead of icc.. which is might be also a contributing factor..
|
|
|
username
|
|
Tumby
how do i make the god damn bot stop pinging me, i hate level-up bots so much
|
|
2023-08-10 05:47:04
|
you could probably block it, I assume doing so prevents pings.
|
|
|
OkyDooky
|
2023-08-10 06:42:16
|
hi <@794205442175402004>, you might be interested in https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/698#note_1801107 where it turns out GNOME needs to temporarily revert the JXL addition to OS, due to the lcms support not being in a released version of libJXL \:(
|
|
2023-08-10 06:45:00
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6886 too which seems at least in big part related to libjxl's dynamic noise feature
|
|
|
_wb_
|
2023-08-10 07:06:23
|
Interesting that noise makes that much of a difference
|
|
2023-08-10 07:09:29
|
For synthetic wallpapers I think they should just disable noise if they only use it as a dithering method so they can use 8-bit output without banding. We will probably have an option to let libjxl do the dithering. They could also use 16-bit buffers and do their own dithering
|
|
2023-08-10 07:11:46
|
That said, perhaps there is a performance bug in noise synthesis? Maybe only in the specific callback codepath they use? Worth investigating... Could someone open an issue at libjxl for it?
|
|
|
yoochan
|
2023-08-10 07:34:03
|
Could it be that they wanted to add synthetic noise as an artistic filter/effect ? Is it even possible?
|
|
|
OkyDooky
|
2023-08-10 07:35:52
|
<@794205442175402004>\: do you think it would be possible for your library to be introspectable by [Sysprof](https://wiki.gnome.org/Apps/Sysprof) (I've no idea if it isn't already, but I would think Christian would have pointed an exact culprit already if that was the case... or maybe he didn't have the time)
|
|
2023-08-10 07:40:16
|
could be one more tool in your arsenal
|
|
|
_wb_
|
2023-08-10 07:58:45
|
No idea what has to be done for that besides, I assume, building with debug symbols
|
|
|
Tumby
how do i make the god damn bot stop pinging me, i hate level-up bots so much
|
|
2023-08-10 08:01:38
|
I guess you can mute that bot or something in your discord? I understand it's annoying, but it's also kind of nice to see who are the more active people on the discord - though of course game-ification of chatting is kind of silly
|
|
|
spider-mario
|
2023-08-10 10:03:30
|
do we not want to advise trying out the faster_decoding flag (or whatever it is) as well?
|
|
|
|
veluca
|
|
_wb_
I guess you can mute that bot or something in your discord? I understand it's annoying, but it's also kind of nice to see who are the more active people on the discord - though of course game-ification of chatting is kind of silly
|
|
2023-08-10 10:30:20
|
you can mute the channel
|
|
|
hi <@794205442175402004>, you might be interested in https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/698#note_1801107 where it turns out GNOME needs to temporarily revert the JXL addition to OS, due to the lcms support not being in a released version of libJXL \:(
|
|
2023-08-10 10:32:39
|
this seems to suggest we should do 0.9 before september
|
|
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6886 too which seems at least in big part related to libjxl's dynamic noise feature
|
|
2023-08-10 10:36:03
|
that's odd... I could understand it being related to lcms, but noise ought not to be *that* slow
|
|
|
novomesk
|
|
veluca
this seems to suggest we should do 0.9 before september
|
|
2023-08-11 06:40:55
|
Or to backport relevant changes into 0.8.3
|
|
|
Gizus
|
|
_wb_
Some genAI uses it to store the prompt
|
|
2023-08-12 08:30:36
|
How to store the prompt from png text chunks in .jxl file?
|
|
|
_wb_
|
2023-08-12 08:35:00
|
I'd move the text from a raw text chunk to a field in XMP or exif.
|
|
|
Traneptora
|
|
Gizus
How to store the prompt from png text chunks in .jxl file?
|
|
2023-08-18 07:50:59
|
> an XMP packet is embedded in a PNG graphic file by adding a chunk of type `iTXt` with the keyword `'XML:com.adobe.xmp'`
|
|
2023-08-18 07:51:21
|
You can use a tool like TweakPNG to do so
|
|
2023-08-18 07:51:37
|
https://github.com/jsummers/tweakpng
|
|
2023-08-18 07:51:47
|
It's windows only, but it works in Wine
|
|
|
_wb_
I'd move the text from a raw text chunk to a field in XMP or exif.
|
|
2023-08-18 07:53:45
|
out of curiosity, how does `cjxl` work with `iTXt` fields tagged with `XML:com.adobe.xml`
|
|
2023-08-18 07:54:07
|
does it take the XML data inside and verify it or pass it as-is?
|
|
2023-08-18 07:54:52
|
if so, you might be able to embed non-xml data in JXL's xml section
|
|
|
_wb_
|
2023-08-18 08:54:38
|
No, just takes it as a blob without verifying
|
|
|
Traneptora
|
2023-08-18 11:16:20
|
how is XMP embedded in jxl?
|
|
2023-08-18 11:16:55
|
Is there a box for XMP specifically? what about IPTC
|
|
|
_wb_
|
2023-08-18 11:39:48
|
There is the `xml ` box and the `Exif` box that are specifically mentioned in the spec, where XML boxes are typically used only for XMP but in principle it could be anything xml
|
|
2023-08-18 11:41:47
|
For iptc we didn't put anything in spec since iptc fields should be written as xmp or exif but not using the legacy iptc thing
|
|
|
Traneptora
|
2023-08-18 12:06:16
|
Can it be non-XML?
|
|
2023-08-18 12:06:53
|
it seems a bit odd if text based metadata can only be XML, given how bad XML is
|
|
|
joppuyo
|
2023-08-18 04:15:14
|
It’s industry standard 🙃
|
|
|
_wb_
|
2023-08-18 04:21:00
|
Well there is `jumb` which can have payload boxes in various formats
|
|
2023-08-18 04:21:49
|
What is so bad about XML? It's verbose, but with `brob` that's not a big problem... Anything else?
|
|
|
yurume
|
2023-08-19 01:22:52
|
XML proper is almost fine, associated "technologies" aren't
|
|
2023-08-19 01:24:24
|
the biggest problem with XML proper is an overdependence on textual format
|
|
|
Traneptora
|
|
_wb_
What is so bad about XML? It's verbose, but with `brob` that's not a big problem... Anything else?
|
|
2023-08-19 02:30:28
|
a lot of things are terrible about XML, namely that trying to parse it leads to a bajillion security vulnerabilities
|
|
2023-08-19 02:33:58
|
libxml2 has two active CVEs in the current version on Debian, for context
|
|
|
joppuyo
It’s industry standard 🙃
|
|
2023-08-19 02:34:58
|
much of the industry has moved to JSON if they can
|
|
|
joppuyo
|
2023-08-19 07:52:29
|
I think for metadata, it’s mostly just an implementation detail. You probably don’t have to directly interact with XML since libraries will return the data in a data structure native to the programming language
|
|
|
awawa
|
2023-08-20 09:41:56
|
i like XML
|
|
|
Traneptora
|
2023-08-21 04:03:25
|
clearly you haven't tried to parse it then
|
|
2023-08-21 04:07:05
|
https://www.computerworld.com/article/2582828/the-threat-of-xml.html
|
|
2023-08-21 04:07:20
|
Here's an article explaining how bad it is from the year 2001
|
|
2023-08-21 04:07:24
|
https://cheatsheetseries.owasp.org/cheatsheets/XML_Security_Cheat_Sheet.html
|
|
2023-08-21 04:07:36
|
https://www.opswat.com/blog/depth-look-xml-document-attack-vectors
|
|