JPEG XL

Info

rules 58
github 38692
reddit 688

JPEG XL

jxl-rs 0
tools 4270
website 1813
adoption 22069
image-compression-forum 0
glitch-art 1071

General chat

welcome 3957
introduce-yourself 294
color 1687
photography 3532
other-codecs 25116
on-topic 26652
off-topic 23987

Voice Channels

General 2578

Archived

bot-spam 4577

on-topic

Whatever else

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
2026-01-02 06:34:59
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
2026-01-03 02:58:51
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
2026-01-17 02:48:24
nice
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
2026-01-17 02:59:03
lol
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
2026-01-18 06:44:03
Oooh
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
2026-01-19 06:49:24
Hmm
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
2026-01-27 05:49:57
yup
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
2026-02-07 07:42:32
lmao
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
2026-02-13 02:58:15
lol
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