|
jonnyawsom3
|
2026-01-02 06:28:11
|
https://www.reddit.com/r/rust/comments/1q0maft/introduction_ffmpreg_a_complete_rewrite_of_ffmpeg/
|
|
|
Quackdoc
|
2026-01-02 06:31:27
|
this has to be a meme right?
|
|
|
jonnyawsom3
|
|
RaveSteel
|
2026-01-02 06:36:20
|
no way
|
|
|
HCrikki
|
2026-01-02 06:36:36
|
better start a new one with similar scope and none of the bagage or old cruft that doesnt suit modern paradigms
|
|
2026-01-02 06:37:44
|
not an impossible challenge but itll be seen as an ffmpeg 'lite' playing catchup forever
|
|
|
Quackdoc
|
2026-01-02 07:14:22
|
its real lmao
|
|
|
|
niutech
|
|
TheBigBadBoy - 𝙸𝚛
where is the 186B SVG ?
|
|
2026-01-03 10:20:56
|
This is 183B SVG: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 600"><path d="M1000 0v600H0V0z" fill="#000"/><path d="M1000 240v120H560v240H440V360H0V240h440V0h120v240z" fill="#fff"/></svg>`
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
niutech
This is 183B SVG: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 600"><path d="M1000 0v600H0V0z" fill="#000"/><path d="M1000 240v120H560v240H440V360H0V240h440V0h120v240z" fill="#fff"/></svg>`
|
|
2026-01-03 10:29:13
|
168B here: https://discord.com/channels/794206087879852103/794206087879852106/1450657702698025122
|
|
|
Shade Giving Tree
|
|
jonnyawsom3
|
2026-01-04 04:32:03
|
I still need to continue the DCT tuning...
|
|
|
DZgas Ж
|
2026-01-07 11:14:00
|
"rate_hz": 10500,
"original_length": 1580992,
"image_width": 1280,
"log_offset": 1e-06,
"log_min": -13.808087348937988,
"log_max": 2.441476821899414
—If you're bored, you can decode this dct
|
|
|
spider-mario
|
2026-01-10 03:41:20
|
https://youtu.be/dTeSv0SKlGc
we could take this instrument’s name as it is and it would be a compression project name
|
|
2026-01-10 03:41:53
|
if you were to clone `github.com/google/çifteli.git`, what kind of project would you expect
|
|
|
Quackdoc
|
2026-01-10 04:26:05
|
maybe some kind of font shaping or related project I dunno
|
|
|
Magnap
|
2026-01-10 04:44:30
|
What I'm getting from this is that the instrument is edible
|
|
|
novomesk
|
2026-01-11 08:14:59
|
https://w3techs.com/technologies/details/im-xljpeg
|
|
2026-01-11 08:16:08
|
https://w3techs.com/technologies/details/im-avif
|
|
2026-01-11 08:16:53
|
https://w3techs.com/technologies/details/im-webp
|
|
2026-01-11 08:21:39
|
Statistics of other formats:
https://w3techs.com/technologies/details/im-gif
https://w3techs.com/technologies/details/im-png
https://w3techs.com/technologies/details/im-jpeg
|
|
|
HCrikki
|
2026-01-11 08:30:44
|
they pushed it everywhere at gunpoint yet barely anything but some sites and cdns serve avif...
|
|
2026-01-11 08:32:36
|
given almost all (at least 80%) of all webps and avif served online seem to be generated for preview-tier recompressed versions of originals (png and jpg), i suspect jxl support in browsers will rapidly shrink their numbersn especially if jxl is given higher priority over other formats when supported
|
|
|
monad
|
2026-01-11 08:36:45
|
> Random selection of sites using JPEG XL
> Giannirosato.com
> Traneptora.com
Easy marketing if you get on the JXL bandwagon early
|
|
|
whatsurname
|
|
HCrikki
given almost all (at least 80%) of all webps and avif served online seem to be generated for preview-tier recompressed versions of originals (png and jpg), i suspect jxl support in browsers will rapidly shrink their numbersn especially if jxl is given higher priority over other formats when supported
|
|
2026-01-12 05:34:59
|
By that logic we should see WebP numbers decrease after AVIF became widely available in major browsers, but we didn't.
|
|
2026-01-12 05:41:37
|
https://chromestatus.com/metrics/feature/timeline/popularity/3798
Also AVIF has a higher adoption rate if you look at popular sites.
|
|
|
monad
|
2026-01-12 05:47:52
|
different metrics
|
|
|
Traneptora
|
2026-01-12 07:18:00
|
ohey that's me
|
|
|
Meow
|
2026-01-12 08:24:07
|
|
|
2026-01-12 08:27:25
|
SVG is so popular
|
|
|
chocolatkey
|
2026-01-12 09:50:51
|
Likely due to svg icon fonts, usage in certain major css frameworks, logos, certain icon formats etc. which is a really different category compared to the rest of those formats
|
|
|
mincerafter42
|
2026-01-14 01:31:10
|
svg for favicons specifically i hear is popular on account of it supports media queries
|
|
|
username
|
2026-01-14 04:15:34
|
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1605902-jpeg-xl-image-support-returns-to-latest-chrome-chromium-code?p=1605993#post1605993
<@184373105588699137>
here is the link: https://phabricator.services.mozilla.com/D119700#3977128
|
|
|
whatsurname
|
2026-01-14 04:35:53
|
Firefox nightly still uses libjxl btw, vendoring jxl-rs is blocked by infra update, let alone the actual integration
|
|
|
derberg
|
2026-01-14 04:36:35
|
I wish there was a competing format to SVG. Lottie isn't it.
|
|
|
mincerafter42
|
|
derberg
I wish there was a competing format to SVG. Lottie isn't it.
|
|
2026-01-14 06:10:10
|
.swf :p :p :p
|
|
|
derberg
|
2026-01-14 06:20:26
|
That can be brought back as well imo
|
|
|
whatsurname
|
2026-01-14 06:20:47
|
Isn't brotli pretty good at compressing SVG
|
|
|
derberg
|
|
derberg
That can be brought back as well imo
|
|
2026-01-14 06:28:15
|
But an image and animation format would suffice for a start.
People aren't sending SVGs to each other and I think the only chat client I ever saw that supports SVG displaying to some degree is Element.
(Besides that SVG animation requires either something on the website or embedded JS in the SVG – latter will be annoying the moment you don't have JS support)
On Discord you can upload Stickers in Lottie format but good luck on being able to find software for viewing locally let alone editors.
|
|
|
mincerafter42
|
2026-01-14 06:35:56
|
> (Besides that SVG animation would require either a second file or embedded JS.)
incorrect; SMIL
|
|
|
derberg
|
2026-01-14 06:36:09
|
SMIL is not a second file?
|
|
|
mincerafter42
|
2026-01-14 06:36:15
|
SMIL is the same file
|
|
2026-01-14 06:36:31
|
lookit my cool animated SVG
|
|
|
derberg
|
2026-01-14 06:36:31
|
Is that even still alive anyways?
|
|
|
mincerafter42
|
2026-01-14 06:37:50
|
i don't know anyone else who does SMIL other than me but i don't know how "alive" it has been in the past
|
|
|
derberg
|
2026-01-14 06:37:57
|
I will quickly test that on Element
|
|
2026-01-14 06:38:22
|
I think I read SMIL was dead or something or w/e.
Something held me back using it
|
|
|
mincerafter42
|
2026-01-14 06:38:25
|
i've been using the "nheko" matrix client which also displays SVGs inline
|
|
|
derberg
I think I read SMIL was dead or something or w/e.
Something held me back using it
|
|
2026-01-14 06:38:53
|
online search indicates chrome at one point claimed they would deprecate their SMIL support but then reversed their decision
|
|
|
derberg
|
2026-01-14 06:39:27
|
But thing is also that a lot of sites don't allow SVG uploads cause "oh no scripts" when they could very well limit them to media display only.
|
|
|
mincerafter42
|
2026-01-14 06:40:15
|
that is annoying when i wanna share anything i draw in inkscape yes
|
|
|
derberg
|
2026-01-14 06:44:03
|
Oh!
|
|
2026-01-14 06:44:17
|
You know what I would kind of like
|
|
2026-01-14 06:44:42
|
A working clock in a file format. So some way to get the time would be lit. But guess I will never get that.
|
|
|
mincerafter42
|
2026-01-14 06:45:41
|
ah yeah
the letter of the SVG spec allows this but in practice no browser supports the `wallclock()` syntax in the animation begin attribute
|
|
2026-01-14 06:47:42
|
https://www.w3.org/TR/SVG11/animate.html#WallclockSyncValueSyntax
|
|
|
derberg
|
2026-01-14 06:48:23
|
Somebody should propose this at interop 🤔
|
|
|
mincerafter42
|
|
mincerafter42
https://www.w3.org/TR/SVG11/animate.html#WallclockSyncValueSyntax
|
|
2026-01-14 06:49:22
|
and unchanged in the draft SVG 2 animation module (frankly they probably *should* specify the syntax better than "based on ISO 8601", like define a specific syntax or defer to RFC3339 or something)
|
|
|
derberg
Somebody should propose this at interop 🤔
|
|
2026-01-14 06:50:02
|
when, where, and what is this interop
|
|
|
derberg
|
2026-01-14 06:50:48
|
https://github.com/web-platform-tests/interop
|
|
|
mincerafter42
|
|
mincerafter42
and unchanged in the draft SVG 2 animation module (frankly they probably *should* specify the syntax better than "based on ISO 8601", like define a specific syntax or defer to RFC3339 or something)
|
|
2026-01-14 06:52:31
|
oh wait right i forgot; it *is* defined in SMIL but SVG didn't bother copying that specific bit over
(but SVG essentially goes "use SMIL (except for these changes); we've just copied bits of SMIL for your convenience")
https://www.w3.org/TR/2001/REC-smil-animation-20010904/#Timing-WallclockSyncValueSyntax
(and yeah pretty much just RFC3339 syntax)
|
|
|
derberg
|
2026-01-14 06:52:35
|
For example the JXL proposal of last year:
https://github.com/web-platform-tests/interop/issues/994
(interop results will then probably be out in February ig: <https://github.com/web-platform-tests/interop/tree/main/2026>)
|
|
|
mincerafter42
|
2026-01-14 07:00:20
|
i would love to see widespread wallclock support but i am not familiar with how to get this sort of thing started alas
(is interop the best way? that i do not know)
|
|
|
derberg
|
2026-01-14 07:01:16
|
Getting friends at Google Chromium team might be the best way
|
|
2026-01-14 07:03:43
|
But at least some people look at the proposals at interop and I think I can get at least a few people I know to vote for one proposal for that.
~~in worst case I will mass-ping train lovers about how they could have accurate DB clocks on their websites /s~~
|
|
|
derberg
I will quickly test that on Element
|
|
2026-01-14 07:11:52
|
I forgot that the desktop client doesn't allow uploading SVGs.
So it was either the web client or Schildichat that did. Or some other web client..
|
|
2026-01-14 07:12:39
|
Very cool that Schildichat desktop client redirects me to a browser and then the browser asks me if I want to open Element
(Fixed by using different home server)
|
|
2026-01-14 07:17:12
|
The animation does work correctly in Element! (But in Schildichat – based on Element – the SVG is heavily blurred)
|
|
|
derberg
But at least some people look at the proposals at interop and I think I can get at least a few people I know to vote for one proposal for that.
~~in worst case I will mass-ping train lovers about how they could have accurate DB clocks on their websites /s~~
|
|
2026-01-14 07:25:30
|
Lol. I just looked for DB clock online and found a non-working SVG on Wikipedia again:
https://upload.wikimedia.org/wikipedia/commons/4/4c/Animierte_DB_Uhr.svg
And yeah this uses this wallclock thing.
|
|
|
Mine18
|
|
novomesk
Statistics of other formats:
https://w3techs.com/technologies/details/im-gif
https://w3techs.com/technologies/details/im-png
https://w3techs.com/technologies/details/im-jpeg
|
|
2026-01-14 09:26:08
|
im glad to see gif winding down, id like it to be at 0
|
|
|
AccessViolation_
|
2026-01-14 11:21:12
|
|
|
2026-01-14 11:21:12
|
somewhat related, when you make an exception for headers, I wonder how many random bitstreams actually decode to an image
|
|
2026-01-14 11:21:52
|
because iirc, JPEG XL was designed with very little redundancy in the name of compression. i.e. there aren't many bits wasted on invalid configurations
|
|
|
_wb_
|
2026-01-14 11:45:55
|
There is only one valid final ANS state so a random bitstream has a high chance of not being valid. This is useful for error detection.
|
|
|
lonjil
|
|
derberg
I wish there was a competing format to SVG. Lottie isn't it.
|
|
2026-01-14 12:12:40
|
we do it's called PDF
|
|
|
derberg
|
2026-01-15 01:09:44
|
I meant mainly for (sharing) animation and images (in e. g. chats)...
But well regarding PDF... is there a PDF standard that actually forces the user to know that the deprecated components of the PDF can't be loaded? Cause I found PDF files with SWF inside and they just don't display anymore. Imagine having such PDF files in critical environments and suddenly some important thing can't be loaded anymore after you do a system update at some point.
|
|
2026-01-15 01:11:52
|
Ideally features inside such a format should just continue to work forever, but at the minimum I expect some kind of warning instead of just not displaying content...
|
|
|
HCrikki
|
2026-01-15 01:14:44
|
pdf readers can support all pdf revisions, not just the latest as long as theyre conformant in each - its a developper's choice as to wether they do but theres overlap between revisions
|
|
|
derberg
|
2026-01-15 01:15:44
|
Btw. tested with Adobe Reader and this tells a lot. There weren't many that supported Flash content anyways but this did (obviously).
|
|
2026-01-15 01:19:45
|
The next interesting thing will be how will PDF/A files get displayed by most readers when JXL support is added to it
|
|
2026-01-15 01:20:16
|
Or let's say you e. g. run a outdated Adobe Reader version
|
|
|
HCrikki
|
2026-01-15 01:22:40
|
told to update it or use acrobat reader
|
|
2026-01-15 01:23:31
|
later has like 2 billion installs, and the total pdf readers in circulations is at least triple that of browsers (each browser includes their own - pdf.js, pdfium and preinstalled edge ships' adobe's own)
|
|
2026-01-15 01:27:54
|
pdf's upgrade treadmill works similar to flash player's. because something requires one or an update installed (youtube required flash player before so it had a near 100% install base), users receive the updated support passively
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2026-01-15 10:02:34
|
https://sh.itjust.works/pictrs/image/b79da149-8ab9-4478-8d87-8d9e2e7b6511.png?thumbnail=1500&format=webp
|
|
|
derberg
|
2026-01-15 10:14:09
|
Looks like colors are off on Chrome canary
|
|
|
Tirr
|
2026-01-15 10:15:35
|
it should be fixed by https://chromium-review.googlesource.com/c/chromium/src/+/7459081
|
|
|
Demiurge
|
2026-01-15 04:36:39
|
gif supreme sounds like a taco bell menu item
|
|
2026-01-15 04:36:55
|
Or a character from Idiocracy
|
|
|
derberg
|
2026-01-15 05:22:41
|
SWF++
|
|
|
AccessViolation_
|
2026-01-16 09:20:54
|
> Starting with Firefox 148, HDR video on Windows is now supported in Nightly builds. This is considered experimental as we gather feedback before enabling it in regular releases. This feature works best when HDR mode is enabled in Display Settings (this may require a page refresh); otherwise, the display driver is likely to apply a tonemapping effect for non-HDR viewing. Some streaming sites may still not offer HDR video in Firefox.
https://www.firefox.com/en-US/firefox/149.0a1/releasenotes/#:~:text=1978102-,Starting,Firefox,-%2E
|
|
|
dogelition
|
2026-01-16 11:33:26
|
doesn't work on my machine
|
|
2026-01-16 11:33:48
|
the youtube player gets an hdr video but the output is very clearly sdr
|
|
|
username
|
2026-01-16 11:34:56
|
is your GPU driver providing you with MPOs in Windows?
|
|
|
dogelition
|
2026-01-16 11:35:06
|
i think it should but i'm not sure how to check
|
|
2026-01-16 11:37:07
|
well
```
MPO MaxPlanes: 1
MPO Caps: Not Supported
MPO Stretch: Not Supported
MPO Media Hints: Not Supported
MPO Formats: Not Supported
```
|
|
|
username
|
2026-01-16 11:37:51
|
Nvidia or AMD? resolution? and bitdepth?
|
|
2026-01-16 11:38:30
|
I've had to deal with trying to get drivers to provide MPOs and all those factors make a difference
|
|
|
dogelition
|
2026-01-16 11:39:01
|
|
|
2026-01-16 11:39:19
|
is the implication here that firefox will only support hdr video via MPO?
|
|
|
username
|
2026-01-16 11:39:38
|
yeah that's likely how they are doing it
|
|
|
dogelition
|
2026-01-16 11:40:37
|
well that's not good
|
|
|
username
|
2026-01-16 11:40:46
|
also oof you aren't getting MPOs because Nvidia cards only support them for 8bpc (AMD supports up to 16pbc) and also I think 4K is too high res as well but I haven't confirmed that fully
|
|
|
dogelition
|
2026-01-16 11:41:00
|
supposedly this configuration should work on w11 but i'm on 10
|
|
|
username
|
2026-01-16 11:41:38
|
if you turn down the bitdepth and res you should get MPOs
|
|
|
dogelition
|
2026-01-16 11:41:57
|
also apparently:
* if you have more than one monitor, the driver assigns all mpo planes to a single one
* if you're using DSC (or potentially only when maxing out the bandwidth of a single display head, not sure), you don't get mpo at all
|
|
|
username
|
2026-01-16 11:42:30
|
yeah there's a lot of random stuff that causes you to not have MPOs, it's annoying and so poorly documented
|
|
|
dogelition
|
2026-01-16 11:43:56
|
nothing on 1080p either
|
|
2026-01-16 11:44:03
|
8 bit
|
|
|
username
|
2026-01-16 11:46:33
|
darn either something else is causing them to get disabled OR it's possible that the res cap is based on the max supported res of the display or something like that
|
|
|
dogelition
|
2026-01-16 11:46:42
|
> On the technical side: we’re defining HDR video as video using the BT2020 colorspace with the Perceptual Quantizer (PQ) transfer function defined in BT2100. In our observations, all HDR video on the web uses this exact combination of colorspace and transfer function, so we assume all BT2020 video is PQ as a matter of convenience.
how do we tell them...
|
|
2026-01-16 11:47:57
|
wait i should try fullscreen, not sure if i did earlier (no that doesn't work either)
|
|
|
spider-mario
|
|
dogelition
> On the technical side: we’re defining HDR video as video using the BT2020 colorspace with the Perceptual Quantizer (PQ) transfer function defined in BT2100. In our observations, all HDR video on the web uses this exact combination of colorspace and transfer function, so we assume all BT2020 video is PQ as a matter of convenience.
how do we tell them...
|
|
2026-01-16 11:48:25
|
😬 where is that from
|
|
|
dogelition
|
2026-01-16 11:49:00
|
https://mozillagfx.wordpress.com/2026/01/16/experimental-high-dynamic-range-video-playback-on-windows-in-firefox-nightly-148/
|
|
|
username
|
2026-01-16 11:49:32
|
so first Mozilla/Firefox supports MKV incorrectly now HDR?
|
|
2026-01-16 11:49:40
|
what a shame
|
|
|
RaveSteel
|
2026-01-16 11:54:43
|
luckily no other standard beside PQ is used on the web ever
|
|
2026-01-16 11:54:44
|
oh wait
|
|
2026-01-16 11:55:04
|
Firefox sometimes really doesn't make it easy to remain a user
|
|
|
spider-mario
|
2026-01-16 11:55:45
|
I’m sure there is some HLG, but what’s a concrete example we could give them?
|
|
|
RaveSteel
|
2026-01-16 11:55:58
|
there are hlg hdr videos on youtube
|
|
|
dogelition
|
2026-01-16 11:56:06
|
yep
|
|
2026-01-16 11:56:09
|
e.g. https://www.youtube.com/watch?v=3ypGuk6JC6M
|
|
2026-01-16 11:56:17
|
|
|
|
RaveSteel
|
2026-01-16 11:58:21
|
Also some productions, like from the BBC, are available on streaming services that may be consumed on the web. Although that portion of users will be niche I assume
|
|
|
dogelition
|
2026-01-16 11:58:33
|
since default phone camera apps exclusively (?) record in HLG, there's also a ton of random videos with HLG that are just direct uploads from a phone
|
|
|
RaveSteel
|
2026-01-16 11:59:15
|
True, but the same goes for photos too
|
|
2026-01-16 11:59:30
|
HLG HDR is more common with high end cameras
|
|
2026-01-16 12:00:19
|
But well, supporting HDR photos on firefox will take even longer than HDR video
|
|
|
dogelition
|
2026-01-16 12:01:00
|
someone else who has MPO working tested it and it doesn't work for them either so idk what configuration is even supposed to work
|
|
|
username
|
|
dogelition
> On the technical side: we’re defining HDR video as video using the BT2020 colorspace with the Perceptual Quantizer (PQ) transfer function defined in BT2100. In our observations, all HDR video on the web uses this exact combination of colorspace and transfer function, so we assume all BT2020 video is PQ as a matter of convenience.
how do we tell them...
|
|
2026-01-16 12:05:35
|
IMO arbitrarily not supporting aspects/components of something based on assumed usage is an awful idea and just makes it so people are forced to limit how they are using/making something. This kinda feels similar to how we are stuck with a limited version of the JPEG 1 spec because people decided they didn't need or care about the full thing
|
|
|
dogelition
someone else who has MPO working tested it and it doesn't work for them either so idk what configuration is even supposed to work
|
|
2026-01-16 12:07:42
|
what does the `about:support` page say next to where it says "OverlaySupport"?
|
|
|
dogelition
|
2026-01-16 12:12:15
|
mine:
`NV12=Direct YUV2=Direct BGRA8=Software RGB10A2=None RGBA16F=None VpSR=Supported VpAutoHDR=Supported HDR=Not Supported`
theirs:
|
|
|
dogelition
> On the technical side: we’re defining HDR video as video using the BT2020 colorspace with the Perceptual Quantizer (PQ) transfer function defined in BT2100. In our observations, all HDR video on the web uses this exact combination of colorspace and transfer function, so we assume all BT2020 video is PQ as a matter of convenience.
how do we tell them...
|
|
2026-01-16 12:13:59
|
also found this:
> IsHDRTransferFunction() was added to check if a gfx::TransferFunction is
> one of the HDR ones (PQ or HLG), but currently TextureHost does not have
> any easy way to get the gfx::TransferFunction to DCLayerTree to make a
> decision to display it as HDR, so DCLayerTree code is assuming that any
> video with BT2020 colorspace is HDR (this is the same assumption we made
> on macOS, it has proven surprisingly robust) - it would be good to clean
> that up by properly plumbing TransferFunction through TextureHost, which
> could be useful for future code paths like HDR canvas and images.
|
|
|
dogelition
since default phone camera apps exclusively (?) record in HLG, there's also a ton of random videos with HLG that are just direct uploads from a phone
|
|
2026-01-16 12:30:17
|
example for that https://www.youtube.com/watch?v=WI_s2cPfzlg
|
|
|
Quackdoc
|
|
dogelition
> On the technical side: we’re defining HDR video as video using the BT2020 colorspace with the Perceptual Quantizer (PQ) transfer function defined in BT2100. In our observations, all HDR video on the web uses this exact combination of colorspace and transfer function, so we assume all BT2020 video is PQ as a matter of convenience.
how do we tell them...
|
|
2026-01-16 01:17:41
|
oh for fucks sake
|
|
2026-01-16 01:17:54
|
I really hate lazy ass devs
|
|
|
jonnyawsom3
|
|
RaveSteel
Also some productions, like from the BBC, are available on streaming services that may be consumed on the web. Although that portion of users will be niche I assume
|
|
2026-01-16 02:26:20
|
BBC iPlayer my beloved (I don't have HDR though)
|
|
|
Quackdoc
|
2026-01-16 08:36:44
|
anyone know a way you can redirect image urls on chrome? on firefox you can just use the redirector extension but it doesnt seem to work on chrome
|
|
2026-01-17 04:47:31
|
finally got fed up and made a jxr to jxl converter, but the libjxl rust bindings are kinda rough to say the least
|
|
|
whatsurname
|
2026-01-17 10:12:36
|
So JXL in HEIF is called HXL
https://github.com/webmproject/CrabbyAvif/pull/738
|
|
|
RaveSteel
|
|
Quackdoc
finally got fed up and made a jxr to jxl converter, but the libjxl rust bindings are kinda rough to say the least
|
|
2026-01-17 02:35:09
|
could you compare it to passing a JXR as EXR via magick to libjxl?
|
|
|
Quackdoc
|
|
RaveSteel
could you compare it to passing a JXR as EXR via magick to libjxl?
|
|
2026-01-17 02:36:11
|
suuuuure, gimme a few minutes but heres the code https://codeberg.org/Quackdoc/jxr_to_jxl
right now it only really works with scrgb since I cant figure out how to attach a color profile in jpegxl-rs that isnt srgb or "srgb linear"
|
|
2026-01-17 02:36:41
|
I want to bypass image-rs but it seems like it doesn't kill out of exposure data at least for now
|
|
2026-01-17 02:38:06
|
huh, libjxl on arch doesn't compile with exr support?????
|
|
2026-01-17 02:38:40
|
```
cjxl -d 0 -e 7 test-magick.exr test-magick.exr.jxl
JPEG XL encoder v0.11.1 794a5dcf [AVX2,SSE4,SSE2]
Getting pixel data failed.
```
|
|
|
RaveSteel
|
2026-01-17 02:38:40
|
you mean from the repos or if you compile yourself?
|
|
|
Quackdoc
|
2026-01-17 02:38:44
|
repos
|
|
|
RaveSteel
|
2026-01-17 02:38:51
|
You have to compile yourself
|
|
2026-01-17 02:38:53
|
sadly
|
|
|
Quackdoc
|
2026-01-17 02:38:55
|
damn it
|
|
2026-01-17 02:39:35
|
whats the cmake arg to add exr support?
|
|
2026-01-17 02:39:54
|
ah nvm
|
|
|
RaveSteel
|
2026-01-17 02:39:55
|
if you compile yourself it just compiles with EXR support, at least for me
|
|
2026-01-17 02:40:08
|
if you have the libs for exr of course
|
|
2026-01-17 02:41:46
|
when JXR support in libjxl? <:galaxybrain:821831336372338729>
|
|
|
Quackdoc
|
2026-01-17 02:41:54
|
at least in tev, the jxl file matches the exr file, when you encode tiff using the program, it looks the same as jxrdec
|
|
2026-01-17 02:42:04
|
jxrdec doesn't assign metadata so it just defaults to g2.2
|
|
2026-01-17 02:42:11
|
which is obviously wrong for a lot of reasons
|
|
|
RaveSteel
|
2026-01-17 02:43:34
|
try to compare the image hashes instead. You'll have to decode the JXL to EXR for the comparison because converting an EXR to JXL has mismatching checksums if directly compared
|
|
|
Quackdoc
|
2026-01-17 02:43:37
|
but at least that behavior matches [omegalul~1](https://cdn.discordapp.com/emojis/885026577618980904.webp?size=48&name=omegalul%7E1&lossless=true)
|
|
2026-01-17 02:44:57
|
I just opened both the exr from magick and the jxl I encoded in tev and looked at them and matched some pixels, oh, also my program doesnt save alpha, jpegxl-rs seems to break with alpha for some reason and most people probably don't even want the alpha from jxr anyways
|
|
|
RaveSteel
|
2026-01-17 02:46:09
|
Most JXRs are generated by Windows, does it even generate JXRs with alpha?
|
|
2026-01-17 02:46:25
|
At least mine don't have an alpha channel
|
|
|
Quackdoc
|
2026-01-17 02:46:28
|
it probably could but I doubt any apps would use it but something like MPV might
|
|
|
RaveSteel
At least mine don't have an alpha channel
|
|
2026-01-17 02:46:35
|
it depends on the format
|
|
2026-01-17 02:46:46
|
PQ will never have alpha, some scrgb ones will
|
|
|
RaveSteel
|
2026-01-17 02:46:52
|
MPV cannot even open JXRs for me
|
|
|
Quackdoc
|
2026-01-17 02:47:02
|
not a surprise, since jxrlib is in like, nothing
|
|
|
RaveSteel
|
2026-01-17 02:47:15
|
Yeah, I don't think libjxr was ever(?) included with FFmpeg
|
|
|
Quackdoc
|
2026-01-17 02:47:25
|
I only used rust since jpegxr-rs vendors it and makes it easy to compile even on windows
|
|
2026-01-17 02:48:16
|
also jpegxl-rs does the same, so it's literally just a cargo build with no dep management needed
|
|
|
RaveSteel
|
|
Quackdoc
|
2026-01-17 02:50:26
|
I just need a tool that can modify a jxl file in place and assign an ICC to it
|
|
2026-01-17 02:50:43
|
that or for jpegxl-rs to support it lol
|
|
|
RaveSteel
|
2026-01-17 02:52:22
|
Can you assign an ICC with exiftool?
|
|
2026-01-17 02:52:37
|
also should work in place if it does
|
|
|
Quackdoc
|
2026-01-17 02:55:15
|
I dont think exiftool works with jxl like that sadly
|
|
2026-01-17 02:56:23
|
at the very least it cant read one
```
exiftool -icc_profile -b -w icc ./test.jxl
0 output files created
```
|
|
2026-01-17 02:57:09
|
I gotta say, jxr saving in 128bpp is kinda wild
|
|
|
RaveSteel
|
2026-01-17 02:57:13
|
wait lmao
|
|
2026-01-17 02:57:24
|
it creates no output file, but if i do -v3 it does
|
|
|
Quackdoc
|
2026-01-17 02:57:30
|
[woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&name=woag&lossless=true)
|
|
|
RaveSteel
|
2026-01-17 02:57:38
|
i just wanted verbose output
|
|
2026-01-17 02:57:46
|
and all i got was an ICC
|
|
|
Quackdoc
|
2026-01-17 02:58:58
|
oh weird, it writes the verbose output to the file
|
|
|
RaveSteel
|
|
Quackdoc
|
2026-01-17 02:59:38
|
I can see whats happen, because -icc_profile writes to stdout, I guess -w just redirects stdout to a file
|
|
|
RaveSteel
|
2026-01-17 02:59:49
|
oh well
|
|
2026-01-17 03:01:29
|
hm, maybe PNG as a mezzanine format to extract the icc from is necessary
|
|
|
Quackdoc
|
2026-01-17 03:01:51
|
prolly, but if it cant read it I certainly have no hopes of writing it lol
|
|
|
RaveSteel
|
2026-01-17 03:02:13
|
another mezzanine PNG to write the ICC to <:galaxybrain:821831336372338729>
|
|
|
Quackdoc
|
2026-01-17 03:02:57
|
the RGB planes of a cjxl .jxr.exr.jxl and my jxr.jxl match so thats nice
|
|
|
jonnyawsom3
|
2026-01-17 06:27:05
|
Couldn't you just use cjxl to attach the colorspace?
|
|
|
Quackdoc
|
2026-01-17 06:40:13
|
that would be interesting, but realistically no, that is too much headache since I want this to be able to be used without the userland tools installled
|
|
|
spider-mario
|
2026-01-17 06:44:30
|
(audio) new fast implementation of the same old metric as the late “TT Dynamic Range Meter”: https://github.com/sboukortt/speedr
|
|
|
HCrikki
|
2026-01-18 12:26:15
|
on theguardian, it seems jxls not loading might not be jxl-rs or chrome specific (no load on ff stable with jxlextension or chrome canary, but does on cromite 128 with the old libjxl integration and other supporting browsers). seems it tries loading the avif versions of images and either succeeds despite jxl support or fails and displays empty placeholders
|
|
|
jonnyawsom3
|
|
HCrikki
on theguardian, it seems jxls not loading might not be jxl-rs or chrome specific (no load on ff stable with jxlextension or chrome canary, but does on cromite 128 with the old libjxl integration and other supporting browsers). seems it tries loading the avif versions of images and either succeeds despite jxl support or fails and displays empty placeholders
|
|
2026-01-18 12:29:32
|
I got served JXLs with .jpg extensions, which the browser extensions wouldn't pick up
|
|
|
HCrikki
|
2026-01-18 12:29:53
|
some browsers with jxl support correctly receive jxl, others dont
|
|
|
jonnyawsom3
|
2026-01-18 12:30:11
|
Canary not decoding is a jxl-rs bug though, I can repoduce it with my own files and a build of the jxl-rs binary
|
|
|
HCrikki
some browsers with jxl support correctly receive jxl, others dont
|
|
2026-01-18 12:32:00
|
Probably because some aren't doing MIME sniffing and rely exclusively on extension
|
|
|
_wb_
|
2026-01-18 06:43:48
|
Extension is not a good indicator, nearly all jxl served by cloudinary is with a url like .../f_auto/.../foobar.jpg
|
|
|
whatsurname
|
|
HCrikki
on theguardian, it seems jxls not loading might not be jxl-rs or chrome specific (no load on ff stable with jxlextension or chrome canary, but does on cromite 128 with the old libjxl integration and other supporting browsers). seems it tries loading the avif versions of images and either succeeds despite jxl support or fails and displays empty placeholders
|
|
2026-01-18 07:44:29
|
That's due to https://github.com/libjxl/jxl-rs/issues/609
|
|
|
spider-mario
|
2026-01-18 06:43:14
|
|
|
2026-01-18 06:43:16
|
looks promising
|
|
|
jonnyawsom3
|
|
spider-mario
|
2026-01-18 06:44:03
|
(http://uwspace.uwaterloo.ca/bitstream/10012/3867/1/thesis.pdf)
|
|
|
jonnyawsom3
|
2026-01-18 06:57:48
|
Not bad
|
|
2026-01-18 07:03:15
|
A shame it was never cited for further development, the only ones are for blue-noise dithering during raytracing
|
|
|
Exorcist
|
2026-01-18 07:31:39
|
Because it is useless for compression, add noise = add entropy
also useless for display, screen is not sigma-delta DAC
|
|
|
jonnyawsom3
|
2026-01-18 11:04:12
|
My friend sent me this as a suggestion to get JXL support into Blender https://cdn.discordapp.com/attachments/530853682678595594/1462578778071892051/stelkai_-20260118-0002.mp4?ex=696eb422&is=696d62a2&hm=b5b1c978f7189d19904af7adc67f8a979c34b335a10c3ebcf4298224d19eb1d4&
|
|
|
Adrian The Frog
|
2026-01-19 04:46:33
|
https://copyparty.adrian.place/PublicUnlisted/hubblepicture.jxl (~25 mb, lossy e7 d10 fast decoding 2)
from
https://science.nasa.gov/mission/hubble/science/explore-the-night-sky/hubble-messier-catalog/messier-31/ 42,208 x 9,870 203 mb jpeg
uses like 9gb ram on my computer, but encoding time is fairly reasonable. interestingly effort 8 uses like 22 gb of ram before erroring out from not enough memory. windows photo viewer is pretty responsive with the jpeg xl (and the jpeg, I think it decodes the whole thing and then generates mipmaps or something). imageglass is basically unusable with the jpeg xl though, taking way longer than 0.12 djxl to decode and then doing the same thing again whenever you move the viewport. chrome doesn't even try to open it
|
|
|
whatsurname
|
2026-01-19 04:55:18
|
Chromium limits max pixel count to 2^28, so yeah this is not supported
|
|
|
Adrian The Frog
|
2026-01-19 05:30:49
|
Why is that? Chrome can open the jpeg perfectly, at least on my phone
|
|
2026-01-19 05:32:33
|
Interestingly Firefox is a lot more responsive on my phone because Chrome freezes while it's decoding the jpg
|
|
|
Adrian The Frog
Why is that? Chrome can open the jpeg perfectly, at least on my phone
|
|
2026-01-19 05:36:32
|
Is the limit just a general jxl-rs thing?
|
|
|
monad
|
2026-01-19 05:41:02
|
it's a level 5 conformance thing
|
|
2026-01-19 05:43:03
|
jxl spec defines level 5 and 10, level 5 is more restrictive but allows related decode assurances/assumptions
|
|
|
jonnyawsom3
|
2026-01-19 05:44:25
|
JPEG calculates the required memory and sets the limit based on that, I suggested it for jxl-rs but a megapixel limit was already put in place to match level 5
|
|
2026-01-19 05:48:20
|
Also because currently jxl-rs uses 2-5x more memory than libjxl
|
|
|
whatsurname
|
|
Adrian The Frog
Why is that? Chrome can open the jpeg perfectly, at least on my phone
|
|
2026-01-19 06:09:19
|
The JPEG/PNG limit has bit depth taken into account (i.e. 2^29 for 8-bit and 2^28 for 16-bit), while AVIF/JXL use global 2^28 limit
|
|
|
jonnyawsom3
|
|
Adrian The Frog
https://copyparty.adrian.place/PublicUnlisted/hubblepicture.jxl (~25 mb, lossy e7 d10 fast decoding 2)
from
https://science.nasa.gov/mission/hubble/science/explore-the-night-sky/hubble-messier-catalog/messier-31/ 42,208 x 9,870 203 mb jpeg
uses like 9gb ram on my computer, but encoding time is fairly reasonable. interestingly effort 8 uses like 22 gb of ram before erroring out from not enough memory. windows photo viewer is pretty responsive with the jpeg xl (and the jpeg, I think it decodes the whole thing and then generates mipmaps or something). imageglass is basically unusable with the jpeg xl though, taking way longer than 0.12 djxl to decode and then doing the same thing again whenever you move the viewport. chrome doesn't even try to open it
|
|
2026-01-19 06:10:29
|
Also, distance 10 does resampling 2, so it's actually half the res internally. Effort 8 disables chunked encoding, so it tries to run patches
|
|
|
Adrian The Frog
|
2026-01-19 06:12:01
|
That's interesting, I tried to force resampling 1 but the output seemed very similar and almost exactly the same file size. Maybe I did something wrong, i'll try that again.
|
|
|
jonnyawsom3
|
2026-01-19 06:12:28
|
Depends on encoder version too, it's 0.12 only
|
|
|
Adrian The Frog
|
2026-01-19 06:12:44
|
yes, i'm using from https://artifacts.lucaversari.it/libjxl/libjxl/latest/
|
|
|
jonnyawsom3
|
|
JPEG calculates the required memory and sets the limit based on that, I suggested it for jxl-rs but a megapixel limit was already put in place to match level 5
|
|
2026-01-19 06:13:04
|
Here's the link to that discussion too https://discord.com/channels/794206087879852103/803574970180829194/1451557167353172039
|
|
|
Adrian The Frog
That's interesting, I tried to force resampling 1 but the output seemed very similar and almost exactly the same file size. Maybe I did something wrong, i'll try that again.
|
|
2026-01-19 06:14:22
|
It may not have much effect, I did set 10 as the threshold since it didn't look much different, and targeted the same filesize
|
|
|
Adrian The Frog
|
2026-01-19 06:15:36
|
might be it then, it was significantly <1% different iirc so i was suspicious
|
|
2026-01-19 06:18:02
|
oh also the encoding speed was very similar
|
|
2026-01-19 06:21:09
|
ok idk if it's because of faster decoding or me doing something wrong before but it was around 3 MP/s now, and I remember ~5 MP/s before with resampling and ~6 MP/s before without
might be just because my RAM is more full, it did go up to about 20 gb and start going into swap this time
|
|
2026-01-19 06:22:09
|
significant filesize difference now however, the resampling 1 version is 23.0 MB vs 25.3 without the flag
|
|
|
jonnyawsom3
|
2026-01-19 06:24:44
|
Huh... Interesting... I know (Theoretically) the resampling should be a flat 2x decode speed boost for libjxl and jxl-rs, but again only in 0.12 so not much shipped with it
|
|
|
whatsurname
The JPEG/PNG limit has bit depth taken into account (i.e. 2^29 for 8-bit and 2^28 for 16-bit), while AVIF/JXL use global 2^28 limit
|
|
2026-01-19 06:27:53
|
<@623776984987729940> in a future Chrome commit, what if we made the limit based on memory too? There's even already a variable for the other formats we could use
<https://chromium.googlesource.com/chromium/src/+/1ade7e92edd967c0d54c64f262f9c149b48d0a96/third_party/blink/renderer/platform/image-decoders/image_decoder.cc#79>
```size_t CalculateMaxDecodedBytes(
ImageDecoder::HighBitDepthDecodingOption high_bit_depth_decoding_option,
const SkISize& desired_size) {
const size_t max_decoded_bytes =
Platform::Current() ? Platform::Current()->MaxDecodedImageBytes()
: ImageDecoder::kNoDecodedImageByteLimit;
if (desired_size.isEmpty())
return max_decoded_bytes;
const size_t num_pixels = desired_size.width() * desired_size.height();
if (high_bit_depth_decoding_option == ImageDecoder::kDefaultBitDepth)
return std::min(4 * num_pixels, max_decoded_bytes);
// ImageDecoder::kHighBitDepthToHalfFloat
return std::min(8 * num_pixels, max_decoded_bytes);
}```
|
|
|
Adrian The Frog
|
2026-01-19 06:29:00
|
yes can confirm with current flags 3.0 w/o resampling and 6.2 with
it's not resampling per axis? I would have expected 4x speed...
|
|
2026-01-19 06:30:10
|
i think i uploaded an earlier one on accident though, this is the actual without resampling flag
https://copyparty.adrian.place/PublicUnlisted/hubblepicturefast4_new.jxl
and this is with resampling 1
https://copyparty.adrian.place/PublicUnlisted/hubblepicturefast4noresample.jxl
|
|
|
jonnyawsom3
|
2026-01-19 06:30:30
|
It still has to do non-seperable-upsampling too, so that could be taking up some time, but good point
|
|
|
Demiurge
|
2026-01-19 06:31:09
|
So I need to buy a new monitor and I was wondering... HDR standards, is it all just a scam? It honestly seems like a bunch of marketing buzzwords designed to make a bunch of FOMO money. I want higher bit depth, I want wider color gamuts with deeper primaries, but I don't know what "HDR" has to offer on top of that.
|
|
|
Adrian The Frog
|
2026-01-19 06:33:52
|
i'd reccomend looking at reviews, they usually show actual minimum and maximum brightness, contrast ratios, white box test for the dimming zone monitors, etc
|
|
|
HCrikki
|
2026-01-19 06:33:55
|
verify before you buy. wouldnt look outside what RTings recommends
|
|
2026-01-19 06:34:35
|
hdr would give you consistency in image reproduction accuracy for your entire workflow if it supports it
|
|
|
Adrian The Frog
|
2026-01-19 06:35:51
|
after using a 144hz 1080p monitor for a while I would honestly much prefer a 144hz lcd over a 60hz very accurate oled even if i'm not doing any gaming
|
|
|
HCrikki
|
2026-01-19 06:35:57
|
the illumination approach makes a massive difference. everything cheap fakes hdr
|
|
|
Adrian The Frog
|
2026-01-19 06:44:32
|
dimming zone monitors are worth considering IMO, a 4k monitor with like ~45x25 dimming zones costs about the same as a 1440p oled
although iirc some suffer a whole lot with accuracy in hdr content, but in sdr and wide gamut the newer ones are very accurate. in hdr of course they also can't do high contrast over a short distance on screen, but I've heard they've gotten pretty good at hiding that limitation.
|
|
|
Demiurge
|
|
HCrikki
hdr would give you consistency in image reproduction accuracy for your entire workflow if it supports it
|
|
2026-01-19 06:44:59
|
Consistency why, because they are more likely to have a properly calibrated factory color profile? I don't see what the difference is between "HDR" (sounds like a vague marketing term like saying "the cloud") and a monitor that simply has wider color primaries and a higher internal bit depth.
|
|
|
jonnyawsom3
|
2026-01-19 06:45:31
|
You can always turn HDR off, but you can't make an SDR monitor display HDR
|
|
|
Adrian The Frog
|
2026-01-19 06:45:56
|
anything with a non-dimmable backlight will never be remotely accurate in darker colors
|
|
|
Demiurge
|
|
You can always turn HDR off, but you can't make an SDR monitor display HDR
|
|
2026-01-19 06:46:46
|
But if it's bright enough and the internal bit depth is high, then... what exactly am I missing out on? The marketing buzzwords?
|
|
|
Adrian The Frog
|
2026-01-19 06:47:13
|
hdr is generally a buzzword for high contrast ratio
|
|
2026-01-19 06:47:18
|
which is what really matters
|
|
2026-01-19 06:47:25
|
but it's not a term people know as well
|
|
|
Demiurge
|
|
Adrian The Frog
anything with a non-dimmable backlight will never be remotely accurate in darker colors
|
|
2026-01-19 06:47:28
|
Are all OLEDs HDR then automatically by that logic?
|
|
2026-01-19 06:47:43
|
Or I guess only if they can get bright enough
|
|
|
jonnyawsom3
|
2026-01-19 06:47:45
|
Most apps won't output a high bitdepth *unless* HDR is enabled, it's only Unreal Engine we discovered recently outputs 10-bit SDR
|
|
|
Adrian The Frog
|
2026-01-19 06:48:14
|
if they have enough bit depth that they can look decent when a part is really bright while the white point is darker
|
|
2026-01-19 06:48:35
|
then all they need for hdr is software support
|
|
2026-01-19 06:48:38
|
imo
|
|
|
Demiurge
|
|
HCrikki
|
2026-01-19 06:49:32
|
(oled) hdr400 is better than regular hdr400 but thats the lowest end hdr thatll be certified
|
|
2026-01-19 06:49:54
|
edge lit dimming makes movies look as dull as on old lcds
|
|
|
Adrian The Frog
|
2026-01-19 06:50:01
|
iirc some monitors say 'hdr' without really supporting a high contrast ratio, but I think if you look at the hdr spec you can know if it's actually high contrast ratio or not
|
|
|
Demiurge
|
2026-01-19 06:50:38
|
Okay I think I sorta maybe understand now lol
|
|
2026-01-19 06:50:59
|
Wait
|
|
|
HCrikki
|
2026-01-19 06:51:25
|
i recommend sticking to specific models and evaluate how itd work with your own system. some OSes, cables and other devices might accept the signal but not interpret it as you hope
|
|
|
Adrian The Frog
|
2026-01-19 06:52:03
|
I guess I would say hdr is a combination of having a decent bit depth in darker areas and having a good contrast ratio
|
|
|
HCrikki
|
2026-01-19 06:52:18
|
afaik apple's ecosystem is consistent, windows and linux diy messy
|
|
|
Demiurge
|
2026-01-19 06:52:26
|
I don't understand 10 bit SDR mode exactly
|
|
|
Adrian The Frog
|
2026-01-19 06:52:33
|
yeah hdr in software is a whole other mess
|
|
|
Demiurge
I don't understand 10 bit SDR mode exactly
|
|
2026-01-19 06:53:46
|
I think it's just 10 bit ints everywhere but I don't really know
|
|
2026-01-19 06:53:58
|
temporally dithered 8 bit looks the same
|
|
|
hjanuschka
|
|
<@623776984987729940> in a future Chrome commit, what if we made the limit based on memory too? There's even already a variable for the other formats we could use
<https://chromium.googlesource.com/chromium/src/+/1ade7e92edd967c0d54c64f262f9c149b48d0a96/third_party/blink/renderer/platform/image-decoders/image_decoder.cc#79>
```size_t CalculateMaxDecodedBytes(
ImageDecoder::HighBitDepthDecodingOption high_bit_depth_decoding_option,
const SkISize& desired_size) {
const size_t max_decoded_bytes =
Platform::Current() ? Platform::Current()->MaxDecodedImageBytes()
: ImageDecoder::kNoDecodedImageByteLimit;
if (desired_size.isEmpty())
return max_decoded_bytes;
const size_t num_pixels = desired_size.width() * desired_size.height();
if (high_bit_depth_decoding_option == ImageDecoder::kDefaultBitDepth)
return std::min(4 * num_pixels, max_decoded_bytes);
// ImageDecoder::kHighBitDepthToHalfFloat
return std::min(8 * num_pixels, max_decoded_bytes);
}```
|
|
2026-01-19 06:54:05
|
will take a look, that might also be the root case for this 99frame 4k image
|
|
|
Demiurge
|
2026-01-19 06:56:20
|
Every monitor has a different contrast ratio and a different peak brightness so I don't understand what is so special about this special hdr/sdr designation when at the end of the day, the content is always tone-mapped to fit the range the monitor can support
|
|
|
Adrian The Frog
|
2026-01-19 06:57:32
|
if a monitor has good enough bit depth and a good enough contrast ratio then it's just software
|
|
|
Demiurge
|
2026-01-19 06:57:35
|
Either by the hardware itself or by the OS
|
|
2026-01-19 06:59:15
|
It seems weird that a bunch of sleazy fomo salesmen have this weird line in the sand separating SDR from HDR when every monitor is different
|
|
|
Adrian The Frog
|
2026-01-19 07:00:43
|
monitor branding is just generally terrible
|
|
|
Demiurge
|
2026-01-19 07:01:05
|
Like they want you to buy a monitor based on the marketing buzzwords on the box rather than the quality
|
|
|
Adrian The Frog
|
2026-01-19 07:01:28
|
like in monitors with dimming zones you always have to dig around to find how many dimming zones there actually are, no company ever puts that in the name of the listing
|
|
2026-01-19 07:02:05
|
would be so much better if they actually just told you the specs..
|
|
|
Demiurge
|
2026-01-19 07:02:14
|
And an inferior monitor can claim to have support for some new buzzword and you might forsake a technically superior monitor that doesn't have the latest buzzwords on it
|
|
|
Adrian The Frog
|
2026-01-19 07:03:09
|
that's just how buzzwords work in general really
|
|
2026-01-19 07:03:16
|
"AI"
|
|
2026-01-19 07:03:33
|
anything that you can bend the meaning of
|
|
2026-01-19 07:03:47
|
"Metaverse"
|
|
|
Demiurge
|
2026-01-19 07:03:48
|
Well even if you know the dimming zones, you don't know the behavior until you do a bunch of local dimming tests and see how it looks... and it's nice to be able to disable it entirely since it can mess with how colors look
|
|
2026-01-19 07:04:38
|
Yeah it also annoys me that people don't use the right words
|
|
2026-01-19 07:05:04
|
There's a difference between "AI" and neural nets / machine learning
|
|
2026-01-19 07:05:37
|
Really AI is something completely different
|
|
|
Adrian The Frog
|
2026-01-19 07:05:43
|
yeah some of the local dimming zone monitors i've looked at seem like they just don't care about color accuracy at all when the local dimming zones are enabled, which is kind of terrible IMO because either way you're missing out on one of the 2 major monitor features
|
|
|
Demiurge
|
2026-01-19 07:07:16
|
Yeah, local dimming can be really terrible... especially when the entire screen suddenly flickers to a different brightness level, but then they shouldn't call it "local" anymore...
|
|
|
Adrian The Frog
|
2026-01-19 07:09:38
|
yeah i've seen that in macs, it's weird
|
|
2026-01-19 07:16:00
|
ok i'd say i prefer the no resampling version but it's really a tradeoff between sharpness and artifacting
|
|
2026-01-19 07:35:33
|
... probably should have done this in benchmarks but whatever
distance 3 effort 7 is 2.8 MP/s, 74 MB, similar ram usage to d10 resampling 1
transcode didn't print the speed but e7 was a few seconds and e10 a few minutes, with 162.2 MB for e7 and 161.6 for e10. e1 is about the same speed as e7 but 174.2 MB. (all coming down from 202 MB)
|
|
2026-01-19 07:38:59
|
cjxl is reporting size in decimal, explorer is reporting it in binary, but also reporting decimal multiples of binary kilobytes
not confusing in the slightest
so i may have messed up some numbers slightly earlier but idk
|
|
2026-01-19 07:40:14
|
|
|
|
jonnyawsom3
|
2026-01-19 08:20:17
|
<https://github.com/libjxl/libjxl/blob/main/doc/encode_effort.md>
> Chunked encoding is also disabled under these circumstances:
> VarDCT at distances ≥10.
> Effort 7 VarDCT at distances ≥3.0.
> Efforts 8 & 9 VarDCT at distances >0.5.
|
|
|
spider-mario
|
|
Demiurge
But if it's bright enough and the internal bit depth is high, then... what exactly am I missing out on? The marketing buzzwords?
|
|
2026-01-19 08:22:27
|
PQ and HLG are designed _so that_ 10-bit is more likely to be enough to not have banding when used over such brightness ranges (plus they’re a way to “address” the right brightness without the OS having to know how bright the display gets)
|
|
2026-01-19 08:24:00
|
if a 1000-nit monitor simply displayed the same thing as a 100-nit monitor, but scaled to 10× the luminance, it wouldn’t look right
|
|
|
AccessViolation_
|
2026-01-19 08:48:53
|
the "HDR is just marketing" doesn't make sense to me. I'm sure it's marketed to hell, but that doesn't take away from that there's a set of valuable standards that make it work
|
|
|
Demiurge
|
2026-01-19 08:49:51
|
That sorta makes sense, but that sort of simple and naive scaling works pretty well until pushed to the extremes.
|
|
|
Adrian The Frog
|
2026-01-19 08:52:02
|
seems like with a good enough spatiotemporal dither at a normal distance from my monitor (1080p, 144hz, 23 in maybe?) it stops being objectionable to me somewhere between 3 and 4 bits (quantization in srgb)
but not 100% sure because the spatiotemporal blue noise approximation that i found on shadertoy doesn't work for this purpose because it's not always evenly distributed for one pixel over time
|
|
|
Demiurge
|
2026-01-19 08:53:52
|
You're testing temporal dither with blue noise? Sounds cool. Where’s the code?
|
|
|
Adrian The Frog
|
2026-01-19 08:54:19
|
using https://www.shadertoy.com/view/wfjcz3
|
|
2026-01-19 08:54:27
|
you can even see that it's not evenly distributed here
|
|
2026-01-19 08:54:42
|
because it only averages out over time in linear space and not srgb
|
|
2026-01-19 08:55:11
|
or i guess the other way around
|
|
2026-01-19 08:59:33
|
idk, i mean you take the output and blend it in code you get 0.5 always, vs if you take the output, give it to a monitor, the average real-world brightness of the pixel won't always be 0.5
|
|
|
jonnyawsom3
|
2026-01-19 09:00:05
|
The framerate is definately doing a lot, at 60fps similar distance it's very obvious
|
|
|
Adrian The Frog
|
2026-01-19 09:00:20
|
no that's effectively 1 bit
|
|
2026-01-19 09:01:24
|
https://www.shadertoy.com/view/33tcDs here's the code i'm using
|
|
2026-01-19 09:01:39
|
the other was the noise function i was using for my code
|
|
2026-01-19 09:02:29
|
just look for the flicker though, the persistent noise and light to dark banding i think wouldn't be an issue if an actually correct noise function was used
|
|
|
jonnyawsom3
|
2026-01-19 09:03:55
|
Ah right
|
|
2026-01-19 09:04:04
|
Hmm
|
|
|
Adrian The Frog
|
2026-01-19 09:05:00
|
oh whoops should be fixed
|
|
2026-01-19 09:06:28
|
https://www.shadertoy.com/view/t3sBWs here's with temporal ign from https://blog.demofox.org/2022/01/01/interleaved-gradient-noise-a-different-kind-of-low-discrepancy-sequence/
which has its own issues, a little bit of smoothed banding and some correlations over time causing a creeping effect
|
|
2026-01-19 09:11:21
|
both of those are ~3.5 bit, 11 colors
|
|
2026-01-19 09:12:59
|
256/24, so change the 24 to something else to change the number of bits
|
|
|
spider-mario
|
|
Demiurge
That sorta makes sense, but that sort of simple and naive scaling works pretty well until pushed to the extremes.
|
|
2026-01-19 09:33:26
|
not really
|
|
2026-01-19 09:35:42
|
also, a MacBook Pro’s display can go up to 1600 nits peak, or 1000 nits sustained
|
|
|
dogelition
|
|
Demiurge
But if it's bright enough and the internal bit depth is high, then... what exactly am I missing out on? The marketing buzzwords?
|
|
2026-01-19 10:33:59
|
nothing
in fact, afaik all panels use 2.2 gamma and native primaries as the wire format
so really any consumer display, or the device driving it, is doing a conversion from "hdr" to "sdr" (very loosely defined) in its pipeline
and you can take any (good) sdr display and convert an hdr signal to be displayed on it the same way yourself. i think madvr and/or mpv can be configured to do that
|
|
2026-01-19 10:35:37
|
so an external "hdr" monitor is really just one that can convert a bt.2100 pq signal to panel native 2.2 internally
(depending on the display technology this might also involve switching the panel into an "hdr" mode, that e.g. lets it go brighter at the cost of introducing dimming in large bright scenes)
|
|
|
Adrian The Frog
|
2026-01-19 10:51:33
|
https://www.shadertoy.com/view/wXdyWl this one should be perfectly smooth on an ideal monitor, just using white noise though because i think the ign i'm using is introducing its own bias
|
|
2026-01-19 10:52:57
|
correcting the proportion of time the pixel is turned on for based on what would actually match srgb when averaged over time
|
|
2026-01-19 10:56:23
|
here's a completely unlabeled desmos graph that shows the problem https://www.desmos.com/calculator/jk7t7kbtb5 but honestly the code is more readable
|
|
2026-01-19 11:00:30
|
spatiotemporal blue vs white noise really makes a huge difference
|
|
2026-01-19 11:28:48
|
The summary is that dithering is linear so you need to calculate what proportion to dither in a linear color space regardless of what space anything else is in
Which is still applicable with just spatial and not temporal dithering
|
|
2026-01-19 11:31:08
|
In the context of a dithered image this probably doesn't matter as much because image viewers usually do their own blending in nonlinear color spaces for some reason
|
|
|
_wb_
|
2026-01-19 11:34:11
|
Yes, dithering should be done in linear color in principle, but that will make way more difference when doing something like using dither to make an image with a small number of colors (like a 16-color palette or something) than when using dither to reduce banding in an 8-bit RGB buffer (24-bit per pixel).
|
|
2026-01-19 11:37:10
|
when the difference between two neighboring values is just 1/255, the error from doing dithering in gamma-compressed space vs linear space is not that important, compared to when you're dithering with colors that are way further apart.
|
|
|
Adrian The Frog
|
2026-01-19 11:42:30
|
As the length of a segment of the gamma curve decreases that segment approaches a line so the error from interpolating linearly is smaller
Idk how that principle is usually described
|
|
2026-01-19 11:43:06
|
But it makes sense that the error should be much smaller in higher bit depths
|
|
|
Exorcist
|
2026-01-19 11:51:10
|
BTW, yesterday I am thinking
> We know uniform quantization need adding noise before noise shaping (error diffusion), but how about vector quantization (palette color)?
|
|
|
spider-mario
|
|
Adrian The Frog
https://www.shadertoy.com/view/wXdyWl this one should be perfectly smooth on an ideal monitor, just using white noise though because i think the ign i'm using is introducing its own bias
|
|
2026-01-19 12:49:29
|
for what it’s worth, here is how it looks with naïve, non-linear TPDF dither: https://www.shadertoy.com/view/tXdyDl
|
|
|
Adrian The Frog
|
2026-01-19 08:19:04
|
messing around with the ign function in python and it seems like it's fine, i think the rest of the banding just comes from my monitor not being ideal
|
|
2026-01-19 09:04:25
|
at a slightly further than average distance from my desk i probably wouldn't even notice the 3 bit temporal ign
|
|
2026-01-19 09:29:48
|
yeah in some images i notice a tiny bit of flicker if i look for it but it's mostly fine
reached a shader limit apparently so here's the code
|
|
2026-01-20 06:17:27
|
some nice textures
|
|
2026-01-20 06:19:06
|
from this source, I thought this would be a hard scenario for vardct but it handles it pretty well. helps though that it's impossible to tell how correct any output is without flipping back and forth
|
|
|
dogelition
|
2026-01-21 02:34:01
|
hdr images in chrome on android cause same insane jank
|
|
2026-01-21 02:34:30
|
also note how much random noise there is in the tab preview, that's not a recording artifact
|
|
2026-01-21 02:52:03
|
bonus: if you zoom in just right you get grid lines
|
|
|
Jyrki Alakuijala
|
|
spider-mario
if a 1000-nit monitor simply displayed the same thing as a 100-nit monitor, but scaled to 10× the luminance, it wouldn’t look right
|
|
2026-01-21 03:04:54
|
yes, a 1000 nit monitor has something like 35 % more dynamic range than a 100 nit monitor, psychovisually
|
|
|
intelfx
|
2026-01-22 02:58:05
|
hey <@184373105588699137>, i was trying to ask you on that Phoronix thread which web gallery tools you can recommend that support JXL and/or progressive rendering
not sure if I offended you somewhere and you're not replying on principle or just missed it, so I'll ping you again once just in case — apologies if it's the former 🙃
|
|
|
Quackdoc
|
|
intelfx
hey <@184373105588699137>, i was trying to ask you on that Phoronix thread which web gallery tools you can recommend that support JXL and/or progressive rendering
not sure if I offended you somewhere and you're not replying on principle or just missed it, so I'll ping you again once just in case — apologies if it's the former 🙃
|
|
2026-01-22 03:11:51
|
ah no, I just fucking lost it lmao way too many comments on that thread, rn I am only using web based tools, I don't actually use much native tools any more simply due to lack of time, but tools that I used in the past was a fork of calibre that had some support for progressive loading.
but most web based gallery apps will support progressive loading like pleorama and what not, as for native apps that support progressive loading there were some old chan clients that supported it, but it's been ages since I used them.
|
|
|
intelfx
|
2026-01-22 03:13:17
|
yeah I was asking about web tools, not native
what's pleorama? doesn't turn up in my google
|
|
|
Quackdoc
|
2026-01-22 03:13:21
|
we should be seeing more support for progressive loading soon as iirc flutter devs were working on actually supporting it
|
|
|
intelfx
yeah I was asking about web tools, not native
what's pleorama? doesn't turn up in my google
|
|
2026-01-22 03:14:39
|
sorry, meant pixelfed, pleorama is a twitter like alternative, pixelfed is a snapchat like alternative, I believe immich should support progressive images too for self hosting
|
|
|
intelfx
|
2026-01-22 03:15:55
|
ahh, you mean pleroma
|
|
|
Quackdoc
|
2026-01-22 03:17:22
|
oh did I misspell it? my bad im terrible at typing
|
|
|
intelfx
|
2026-01-22 03:17:38
|
so yeah, I know about the activitypub social-media-adjacent stuff, but was mostly wondering about pure "self hosted gallery" stuff, like sigal or copyparty (it has a slideshow mode)
|
|
2026-01-22 03:17:56
|
I'm using copyparty now but it's obnoxious because it resets itself out of the proper file name sorting mode every now and then
|
|
2026-01-22 03:18:16
|
and it doesn't do jxl for thumbnails, or I couldn't make it work
nor does it keep track of your current position
|
|
2026-01-22 03:18:27
|
so I was mostly checking if you know anything better for that usecase
|
|
2026-01-22 03:19:07
|
the usecase is essentially a web viewer frontend for a folder with 1000 images in it, not anything social-media-adjacent or photo-organizer like immich
|
|
|
Quackdoc
|
2026-01-22 03:20:13
|
hmmm, maybe nextcloud memory is more your style? its more of an organizer but it's first onboarding is much like google photos
|
|
2026-01-22 03:20:24
|
I think that has a webui
|
|
2026-01-22 03:21:20
|
something more simple like https://github.com/hsa00000/urocissa but I dont think it supports jxl... yet
|
|
|
intelfx
|
2026-01-22 03:23:36
|
doesn't seem to support external folders at all
|
|
2026-01-22 03:23:41
|
I'll try the nextcloud thing
|
|
|
Quackdoc
|
2026-01-22 03:23:51
|
oh wait urocissa is entirely wasm anyways
|
|
2026-01-22 03:26:14
|
oh wait, try https://github.com/gbbirkisson/spis
|
|
2026-01-22 03:26:44
|
it used to be bog simple to do, might work by pointing it at a folder
|
|
|
intelfx
|
2026-01-22 03:27:23
|
oh, this looks promising
|
|
2026-01-22 03:27:33
|
seems to have some sort of a folder picker in the UI
|
|
2026-01-22 03:27:37
|
alright, thanks!
|
|
|
Adrian The Frog
|
|
intelfx
and it doesn't do jxl for thumbnails, or I couldn't make it work
nor does it keep track of your current position
|
|
2026-01-22 04:24:51
|
Jxl isn't supposed in the slideshow thingy yet but for thumbnails it works for me, it should just work if you have ffmpeg or pyvips installed
(I have copyparty, pyvips, and ffmpeg all installed with the package manager on Arch)
See https://github.com/9001/copyparty/issues/724
|
|
|
spillere
|
2026-01-22 12:28:03
|
original image, jpegmini converted, jpgxl from jpegmini converted
10mb, 7mb, 6mb
can you see the difference?
|
|
|
jonnyawsom3
|
2026-01-22 12:55:45
|
10 MB to 7 MB isn't much for a JPEG conversion from an original, I assume it's camera JPEG, to jpegmini, to JXL transcode?
|
|
|
spillere
|
2026-01-22 01:17:10
|
i'm using an iphone 17 pro
|
|
2026-01-22 01:17:20
|
yes
|
|
2026-01-22 01:17:30
|
let me try og -> xl
|
|
2026-01-22 01:18:41
|
|
|
2026-01-22 01:18:45
|
still 20%
|
|
|
jonnyawsom3
|
2026-01-22 01:46:44
|
By default it will always be 20% and lossless, you need to disable JPEG transcoding to get smaller lossy results (if you're using cjxl, its `-j 0 -d 1`)
|
|
|
AccessViolation_
|
2026-01-24 11:05:15
|
> The scope of JPEG DNA standard (ISO/IEC 25508) is to define a syntax and accompanying decoding process capable of representing media assets, notably digital images, in a quaternary representation suitable for synthesis into nucleotide sequences to be used for storage on DNA support.
this sounds like a science fiction :p
|
|
2026-01-24 11:06:46
|
anyway, unfortunately it seems that only the JPEG XL page on https://jpeg.org/ has the image as a JXL
|
|
2026-01-24 11:07:06
|
they should all be JXL, really
|
|
2026-01-24 11:08:04
|
and there are also some PNGs (like the graphic on <https://jpeg.org/aic/aic3.html>) which I feel should be lossless JXLs!
|
|
|
|
ignaloidas
|
|
AccessViolation_
> The scope of JPEG DNA standard (ISO/IEC 25508) is to define a syntax and accompanying decoding process capable of representing media assets, notably digital images, in a quaternary representation suitable for synthesis into nucleotide sequences to be used for storage on DNA support.
this sounds like a science fiction :p
|
|
2026-01-24 11:16:26
|
don't you know about the MPEG group for genome compression? https://mpeg-g.org/
|
|
|
_wb_
|
2026-01-24 11:17:15
|
JPEG DNA is fun, when they talk about encapsulation they mean actual physical capsules to contain the DNA.
|
|
|
HCrikki
|
2026-01-24 12:08:55
|
found some site offering jxls that display fine in a webpage and desktop viewer when DLed but gargbled text when opened in a new tab in canary. possibly malformed, issue in jxl-rs or server misconfiguration?
|
|
2026-01-24 12:10:02
|
(site is skifworld . com)
|
|
|
Tirr
|
2026-01-24 12:13:05
|
maybe there was no content-type header and browser had to guess?
|
|
|
HCrikki
|
2026-01-24 12:15:06
|
reopening the downloaded jxl in canary displays fine, so server blip?
|
|
|
whatsurname
|
|
HCrikki
(site is skifworld . com)
|
|
2026-01-24 12:30:12
|
The image is served as gzip-ed text, it works inside the page because it has `<source type="image/jxl">`
|
|
2026-01-24 12:33:32
|
Seems it's due to Cloudflare doesn't support JXL and didn't set the content-type header
|
|
2026-01-24 12:34:44
|
+ it set x-content-type-options: nosniff
|
|
|
AccessViolation_
|
2026-01-25 04:16:15
|
anyone else going to [RustWeek 2026](https://2026.rustweek.org/) in the Netherlands?
|
|
|
jonnyawsom3
|
2026-01-25 04:17:49
|
I'm still annoyed I missed the VLC conference, but I would've had to leave at 6am with no guarantee of entry after finding out about it at 2am 😅
|
|
|
AccessViolation_
|
2026-01-25 04:19:27
|
oof yeah, that's a tight schedule XD
|
|
|
jonnyawsom3
|
2026-01-25 04:21:11
|
There's a reason conferences/conventions usually have hotels on site haha
|
|
|
_wb_
|
2026-01-25 04:34:36
|
Rustweek sounds like a chill holiday
|
|
|
|
veluca
|
2026-01-25 04:43:59
|
I'd go if it didn't collide with EGOI (https://egoi2026.it)
|
|
|
AccessViolation_
|
2026-01-25 05:04:11
|
ah that's unfortunate
|
|
|
dogelition
|
2026-01-26 01:00:48
|
https://issues.chromium.org/issues/475475547
did that issue get lost in the void? the regression is in the beta now and it'll be in stable soon :/
|
|
|
|
veluca
|
2026-01-26 01:07:46
|
ugh, I forgot about that - writing someone and seeing if they can figure this out...
|
|
|
Quackdoc
|
2026-01-26 02:04:33
|
adb shell dumpsys surfaceflinger can tell if someone wants to set up automated testing
|
|
|
RaveSteel
|
2026-01-27 03:00:03
|
nomacs
|
|
|
spider-mario
|
2026-01-27 03:02:01
|
Windows Photos
|
|
|
HCrikki
|
2026-01-27 03:02:13
|
xnviewMP is really good
|
|
|
|
veluca
|
|
veluca
ugh, I forgot about that - writing someone and seeing if they can figure this out...
|
|
2026-01-27 04:42:50
|
Chris figured it out (even in time for fixing it :D)
|
|
|
dogelition
|
2026-01-27 05:26:33
|
so 145 stable should have jxl and working hdr on android, right?
|
|
|
|
veluca
|
|
Demiurge
|
2026-01-27 10:19:53
|
Is Special K Image Viewer any good? For those poor souls on Windows.
|
|
|
dogelition
|
2026-01-27 10:20:31
|
i couldn't get it to open jxl images when i tried it recently, no idea why
|
|
2026-01-27 10:20:41
|
it complained about the decoder missing even when i put the files there manually
|
|
|
Demiurge
|
2026-01-27 10:21:52
|
SKIV is designed for viewing HDR screenshots so it might be the perfect thing to recommend but I haven't been on windows in a long time to test it
|
|
|
spider-mario
Windows Photos
|
|
2026-01-27 10:23:00
|
Oh yeah I forgot this is an option now
|
|
2026-01-27 10:23:08
|
Just use that
|
|
2026-01-27 10:23:44
|
Windows has a JXL codec just like they have a h.265 codec and you get it the same way
|
|
|
dogelition
|
2026-01-27 10:25:06
|
(minus the part where you're supposed to pay money)
|
|
|
username
|
|
dogelition
(minus the part where you're supposed to pay money)
|
|
2026-01-27 10:26:48
|
there's a official free version of the h256 codec on the Microsoft store but it requires a GPU with support and also they try to hide and prevent you from installing it despite it working fine
|
|
|
dogelition
|
2026-01-27 10:28:49
|
afaik that's intended for things like laptops where the manufacturer paid for it, and you can't download it directly from the ms store like that anymore
|
|
2026-01-27 10:28:57
|
(you can just get the file elsewhere though, that's what i did)
|
|
|
NovaZone
|
2026-01-28 06:36:52
|
Nothing faster than qview
|
|
2026-01-28 06:38:46
|
If ya want more features this forks the way to go https://github.com/jdpurcell/qView
|
|
|
Meow
|
2026-01-28 06:54:44
|
Also a good cross-platform **QOI** viewer
|
|
|
|
veluca
|
|
dogelition
so 145 stable should have jxl and working hdr on android, right?
|
|
2026-01-28 03:02:12
|
can confirm this is fixed on latest canary, and the merge on 145 stable is in progress
|
|
|
jonnyawsom3
|
2026-01-28 03:14:37
|
If you want to track progress <https://issues.chromium.org/issues/479223728>
|
|
|
dogelition
|
2026-01-29 12:17:05
|
can confirm that everything on https://jpegxl.info/resources/hdr-test-page.html works properly on android canary now
|
|
|
Tirr
|
2026-01-31 10:43:49
|
yeah, one of the early user of jxl-oxide
|
|
|
HCrikki
|
2026-01-31 02:05:48
|
seems chrome 146 might have jxl decodable out of the box? tried latest canary, didnt need to enable the about:flag toggle
|
|
|
VcSaJen
|
2026-01-31 02:08:14
|
It might have imported setting from the old installation, or synced it from the cloud
|
|
|
HCrikki
|
2026-01-31 02:12:29
|
full default, changed flag a few time. just wondering if theyre trying to speedup solving kinks with a much larger feedback pool
|
|
2026-01-31 02:14:24
|
seems you mightve been right, default sometimes replicates the previous state of the toggle. false alarm i guess
|
|
|
Magnap
|
2026-01-31 02:30:17
|
<@&807636211489177661> <:BanHammer:805396864639565834>
|
|
|
AccessViolation_
|
2026-01-31 03:20:49
|
<@794205442175402004> do you have a line to the people at Cloudinary that help with the maintenance of the JPEG website?
I think it deserves that all images hosted on it are primarily a lossy/lossless JXL, replacing many PNG and JPEG files
|
|
|
_wb_
|
2026-01-31 04:32:37
|
It's not Cloudinary maintaining that website, Cloudinary just helps to cover the operational costs of the website and committee in general.
|
|
2026-01-31 04:33:28
|
But I do know the maintainers well, I will bring it up when I get the chance.
|
|
|
HCrikki
|
2026-01-31 04:46:40
|
perhaps old sites could benefit from using hj's polyfill since it gracefully uses a browser's native decode if it supports jxl - like sneyers.info/browsertest and jxl art pages
|
|
|
AccessViolation_
|
2026-01-31 11:46:07
|
I imagine they'll use the `<picture>` element to fall back to older formats, like they do on the only page that serves a JXL: https://jpeg.org/jpegxl/index.html
|
|
2026-02-02 02:02:00
|
I wonder if anyone recognizes what this is
|
|
|
jonnyawsom3
|
2026-02-02 02:06:28
|
Individual XYB channels of a browser screenshot?
|
|
|
AccessViolation_
|
2026-02-02 04:24:24
|
apparently this is what Firefox's texture caches look like
|
|
2026-02-02 04:24:56
|
or at least, the debug visualization of them
|
|
|
juliobbv
|
2026-02-02 04:44:33
|
possible inspiration for JXL's improved patches encoding ?
|
|
|
AccessViolation_
|
2026-02-02 04:51:03
|
I suppose if you're using Firefox's screenshot tool it could directly hook into it to replace manual patch detection, though this texture cache can contain anything from any tab, so to avoid leaking information you'd have to cut out everything that's not from the captured rectangle
|
|
2026-02-02 04:54:38
|
I've talked about how Firefox could put photographic images into their own VarDCT frame, so that the text and other elements can be losslessly compressed while not wasting so many bits on photographic features -- using the texture cache to give Patches a hand could be interesting for sure
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2026-02-02 09:15:36
|
the guy who created jpegultrascan (and reported the APP14 issue) is actively working on a better/faster version of it
> I have a working version of this that actually improves on the Perl result a little. However, I discovered that unlike libjpeg, scan encoding in jpegli is NOT invariant and instead depends on preceding scans, so the core assumption of this program is violated.
> It's not feasible to test every possible combination due to combinatorial explosion, so I am still working out the best way to proceed.
https://encode.su/threads/2489-jpegultrascan-an-exhaustive-JPEG-scan-optimizer?p=87018&viewfull=1#post87018
Can someone explain what it means by "*scan encoding in jpegli is NOT invariant*" and why it would be different than libjpeg ?
|
|
|
jonnyawsom3
|
2026-02-02 09:16:54
|
One day the PRs will get merged....
|
|
|
TheBigBadBoy - 𝙸𝚛
the guy who created jpegultrascan (and reported the APP14 issue) is actively working on a better/faster version of it
> I have a working version of this that actually improves on the Perl result a little. However, I discovered that unlike libjpeg, scan encoding in jpegli is NOT invariant and instead depends on preceding scans, so the core assumption of this program is violated.
> It's not feasible to test every possible combination due to combinatorial explosion, so I am still working out the best way to proceed.
https://encode.su/threads/2489-jpegultrascan-an-exhaustive-JPEG-scan-optimizer?p=87018&viewfull=1#post87018
Can someone explain what it means by "*scan encoding in jpegli is NOT invariant*" and why it would be different than libjpeg ?
|
|
2026-02-02 09:23:40
|
I was looking at the image in the old issue you made and wondering why it had so many red edges https://github.com/MegaByte/jpegultrascan/issues/7
|
|
2026-02-02 09:24:13
|
Then I remembered, I think one of my PRs was to fix subsampled XYB, as it was subsampling X and Y instead of X and B
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2026-02-02 09:26:01
|
I wish I had an OLED HDR screen <:PepeHands:808829977608323112>
but on my LCD, I have huge difficulties to see stuff like that (and banding too)
|
|
|
jonnyawsom3
|
2026-02-02 09:28:55
|
Huh, really? They seemed pretty obvious to me on a standard LCD too
|
|
|
username
|
|
AccessViolation_
I wonder if anyone recognizes what this is
|
|
2026-02-02 10:28:50
|
`gfx.webrender.debug.texture-cache` on https://jpegxl.info/
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Huh, really? They seemed pretty obvious to me on a standard LCD too
|
|
2026-02-02 11:12:47
|
well it's already red in the source
look at the left-most edge, it's green
ask if you want the 13MB PNG
|
|
|
jonnyawsom3
|
2026-02-02 11:17:37
|
Oh, interesting. Can definately see the luma is subsampled though
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2026-02-02 11:19:22
|
MPV is not happy with that XYB jpeg
`[vo/gpu-next/libplacebo] ICC profile too wide to handle, colors may be clipped!`
|
|
|
Quackdoc
|
2026-02-02 11:34:22
|
interesting
|
|
|
jonnyawsom3
|
2026-02-02 11:40:51
|
I wonder if that's why Irfanview has a blue tint to XYB images, going slightly out of range of it's color management
|
|
|
awxkee
|
2026-02-03 10:35:57
|
I thought XYB profiles are PCS LAB multidimensional transforms, so video software wouldn't bother handling that kind of thing?
|
|
|
Lumen
|
2026-02-03 01:28:21
|
it's specifically libplacebo here if you look
|
|
2026-02-03 01:28:25
|
not "video software" in general
|
|
2026-02-03 01:28:33
|
though... I think you're right
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2026-02-03 03:27:59
|
well I get the same results with other `--vo`
|
|
2026-02-03 03:28:50
|
I still don't know what he meant by "*I discovered that unlike libjpeg, scan encoding in jpegli is NOT invariant and instead depends on preceding scans*"
|
|
|
Quackdoc
|
|
awxkee
I thought XYB profiles are PCS LAB multidimensional transforms, so video software wouldn't bother handling that kind of thing?
|
|
2026-02-04 12:22:52
|
depends on the software
|
|
|
dogelition
|
2026-02-07 06:34:04
|
https://www.flatpanelshd.com/news.php?id=1770375204&subaction=showfull
|
|
2026-02-07 06:34:11
|
patents suck
|
|
|
Quackdoc
|
|
Demiurge
|
2026-02-07 08:37:57
|
Hell yeah
|
|
2026-02-07 08:39:14
|
Oh wait this is bad news
|
|
2026-02-07 08:39:17
|
lol
|
|
|
lonjil
|
2026-02-07 08:52:40
|
Who needed HDR and 3D anyway
|
|
|
Demiurge
|
2026-02-07 08:56:11
|
I thought initially from the title that it meant patents held by disney were ruled invalid but it actually says patents held by interdigital patent troll llc are being used to shut down technology
|
|
|
RaveSteel
|
2026-02-07 09:19:58
|
HDR is pretty much not needed for many Disney releases. At least the ones I have checked rarely exceed 200-300 nits
|
|
|
dogelition
|
2026-02-07 09:54:56
|
tron ares hovers around 300 - 400 nits maxcll but looks absolutely stunning
|
|
|
HCrikki
|
2026-02-10 08:43:24
|
any update about interop?
right now support powered by jxl-rs is trickling down behind a flag to browsers (now in brave beta 1.88, firefox nightly 149).
|
|
2026-02-10 08:46:42
|
its not just chrome planning to have it on by default, with it being done on chromium eventually the derivatives surely will, including webviews (preinstalled and autoupdated) and chromeos (v145 is in early stable rollout)
|
|
|
derberg
|
|
HCrikki
any update about interop?
right now support powered by jxl-rs is trickling down behind a flag to browsers (now in brave beta 1.88, firefox nightly 149).
|
|
2026-02-10 09:48:23
|
Results should be out Feb the 12th I think
|
|
|
AccessViolation_
|
2026-02-10 10:09:45
|
hear me out... cropped ENcoding
|
|
2026-02-10 10:11:17
|
being able to load a massive image and zoom in on certain areas, while changing encoder settings on the fly. it could only encode the sections in view <:Stonks:806137886726553651>
|
|
2026-02-10 10:12:10
|
the theoretical JPEG XL Studio program that I've been dreaming about would have this
|
|
|
jonnyawsom3
|
2026-02-11 03:45:26
|
I have no idea what the use case would be but maybe look at Hydrium
|
|
|
AccessViolation_
|
|
I have no idea what the use case would be but maybe look at Hydrium
|
|
2026-02-11 01:04:40
|
I was goofing off in Squoosh with the massive mandelbox render, which has a lot of interesting features and different parts of the image test different strengths of a coding system.
but it's massive, so any settings change makes it take a while to encode again. since groups are individually encodable, a tool could just encode the groups that are in view, if you know the group size and viewport location/dimensions ahead of time
|
|
2026-02-11 01:08:06
|
though, now that I think mow about it, the decoder is expecting groups in a set order, so I doubt you can modify the JXL in-place as if "streaming" it by adding more groups... rather you might be better off compressing and caching groups individually, and then reconstructing a new JXL with the groups that you need after the viewport has moved, on the fly
|
|
|
jonnyawsom3
|
2026-02-11 01:10:47
|
Yeah but... Why? Are you trying to preview lossy compression in an area? Because you could just crop the image and encode that instead without writing to a file constantly
|
|
|
AccessViolation_
|
2026-02-11 01:15:18
|
> Because you could just crop the image and encode that instead without writing to a file constantly
it'd be an in-memory file, but yeah, that would work. a naive approach like that would mean that already encoded groups can't be re-used if you're just panning and haven't changed encoder settings, but that may be a fair compromise. (and you'd have to make sure you're still encoding units of groups even when you crop, as you wouldn't want to change pixel alignment)
|
|
|
jonnyawsom3
|
2026-02-11 01:21:58
|
> already encoded groups can't be re-used if you're just panning and haven't changed encoder settings
Again... What is this for? Encoding random blotches of an image only where you've dragged and zoomed doesn't feel very useful
|
|
|
username
|
2026-02-11 01:23:57
|
maybe some complex system with a giant super mega large single image encoded at a low effort that then re-encodes areas people view the most at higher efforts?
|
|
|
AccessViolation_
|
|
> already encoded groups can't be re-used if you're just panning and haven't changed encoder settings
Again... What is this for? Encoding random blotches of an image only where you've dragged and zoomed doesn't feel very useful
|
|
2026-02-11 01:39:14
|
it's for encoder quality testing on massive images. you can change encoder settings without having to re-encoder the *entire* thing, rather just the part you're looking at
|
|
2026-02-13 01:12:36
|
we have the wedges coding tool at home. with multiple frames, patches and blend modes
|
|
|
jonnyawsom3
|
2026-02-13 01:58:03
|
Previously the No Man's Sky website had some sins like non-lazy-loading 8K PNG images, so I thought I'd check their most recent update page... Seems they've moved to using 8-bit PNG, which is... Something I guess https://www.nomanssky.com/media/f5lbgarf/remnant-book-cover-optimised.png
|
|
|
lonjil
|
|
dogelition
|
2026-02-13 11:53:58
|
https://www.youtube.com/watch?v=Ol7uc9OqEf8
|
|
2026-02-13 11:54:23
|
anyone have an idea what all those weird video artifacts are? did bad cameras just output files that look like that or is there some weird youtube processing going on
|
|
2026-02-13 11:55:12
|
stuff like these patterns that seem to come and go, and the halos/artifacting around anything that's moving
|
|
2026-02-13 11:56:06
|
and that also turns into weird colors for a bit
|
|
|
A homosapien
|
2026-02-13 11:57:59
|
re-encoding a video several times compounds the artifacts
|
|
|
LMP88959
|
2026-02-14 12:04:15
|
yeah. im fairly certain this is mpeg-4/h.263
|
|
2026-02-14 12:05:53
|
https://en.wikipedia.org/wiki/Nokia_6630
|
|
2026-02-14 12:06:21
|
this would be a phone released around that time and that video certainly fits the bill for 176x144 h.263
|
|
|
VcSaJen
|
2026-02-14 08:58:35
|
> It's a format built for the demands of today's digital world, aiming for longevity – hence the 'XL' for 'Extra Long' or 'XL' for 40 (XL in Roman numerals), signifying its ambition to be a long-lasting standard.
[source](https://www.oreateai.com/blog/jpeg-xl-the-next-generation-of-image-compression-you-might-not-know-you-need-yet/0c5ab57f95f11d008b7928126f197f26)
|
|
|
hana
|
2026-02-14 03:17:21
|
how do we convert from tif to jxl
|
|
2026-02-14 03:18:08
|
I used XL Converter, vips & magick, its in same file size & larger file size with lossless method
|
|
|
RaveSteel
|
2026-02-14 03:22:21
|
JXL should be smaller than a TIFF on average, what are you compressing?
|
|
|
hana
|
2026-02-14 03:29:03
|
some album scans from slsk. I often get smaller size when tif is uncompressed, but if it is compressed with jpeg, it will increase about 3-5% of its size I think
|
|
|
RaveSteel
|
2026-02-14 03:31:09
|
can you share a sample file for testing?
|
|
|
hana
|
2026-02-14 03:33:06
|
|
|
2026-02-14 03:33:37
|
|
|
2026-02-14 03:33:49
|
this two is compressed with JPEG according to exiftool
|
|