JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

coverage

Post links to articles, blog posts, reddit / hackernews / forum posts, media coverage about or related to JXL here!

lonjil
2024-09-11 06:43:58
are you on a computer with AV1 hardware decoding?
RaveSteel
2024-09-11 06:44:22
Yes, but not enabled by default, in my case at least
lonjil
2024-09-11 06:44:39
On my computer, the AVIF was using 200 to 300 % CPU, the JXL was using about 180%
RaveSteel
2024-09-11 06:44:48
Interesting
2024-09-11 06:45:49
CPU is comparable if viewed in an Image viewer for me. In MPV AVIF is around half, without hardware decode
2024-09-11 06:46:15
What software did you use to view the images?
lonjil
2024-09-11 06:47:42
gwenview
2024-09-11 06:47:46
i will try mpv
2024-09-11 06:49:52
mpv used 300% for both
RaveSteel
2024-09-11 06:50:42
In gwenview I have ~33% CPU for jxl playback and ~23% CPU for AVIF
spider-mario
RaveSteel True, but I'd argue that for most cases GIF as intermediate Format is not really useful due to its limitations. And APNG has no support for the YUV colourspace, so colours may differ depending on the input
2024-09-11 09:32:23
YUV is not just one colorspace
2024-09-11 09:32:36
if you have an ICC profile of the underlying colorspace, you can attach it to an APNG, AFAIK, no?
RaveSteel
2024-09-11 09:37:40
Most images you find on the web (or create yourself) do not have an ICC profile. If I go and want to turn an image sequence into a JXL animation I would have to go and use GIF or APNG as an intermediate format. Using either GIF or APNG will alter the colours depending on the content, correct? I have tried turning sequences of JPEGs into a JXL via APNG only to notice slightly different colours between Input (JPEGs) and output (JXL animation). Are you suggesting the use of an ICC profile to mitigate this change in colour?
spider-mario
2024-09-11 09:38:54
if they don’t have an ICC profile, they’re interpreted as sRGB by default
2024-09-11 09:39:18
I’m not sure where YUV support comes into it
RaveSteel Most images you find on the web (or create yourself) do not have an ICC profile. If I go and want to turn an image sequence into a JXL animation I would have to go and use GIF or APNG as an intermediate format. Using either GIF or APNG will alter the colours depending on the content, correct? I have tried turning sequences of JPEGs into a JXL via APNG only to notice slightly different colours between Input (JPEGs) and output (JXL animation). Are you suggesting the use of an ICC profile to mitigate this change in colour?
2024-09-11 09:39:43
could it be that the JPEGs you tried did in fact have an ICC profile and it just wasn’t preserved, causing the issue?
2024-09-11 09:40:52
oh, or perhaps you used ImageMagick and hit the bug where it puts a gAMA chunk in its PNGs but without an sRGB chunk?
2024-09-11 09:42:04
I would be curious to reproduce the problem to try and look into it
RaveSteel
spider-mario could it be that the JPEGs you tried did in fact have an ICC profile and it just wasn’t preserved, causing the issue?
2024-09-11 09:46:51
Ok, let me try to not be too long. The reason why I am currently being interested in JXL animations is due to Pixiv. Pixiv, a japanese art platform, distributes animations on their site as separate JPEGs, that, when downloaded, need to be "processed", so that they can be used as an animation. At this time I use lossless AVIF for that. I am hoping that in the future those JPEGs could be recompressed to JXL and muxed together, because the saving in filesize would be enourmous. At this time the only way to get a JXL animation from the aformentioned JPEGs is converting them to APNG and passing that to cjxl. Not only will the size be inflated massively, but the colours were different as well. We can ignore the colour part, because I really mostly care about the recompressing/muxing of JPEGs into a JXL animation.
jonnyawsom3
RaveSteel Just a single datapoint, but compare the following files and their CPU usage while playing
2024-09-11 10:07:26
Using some very non-scientific testing using ffplay set to 5 loops then exit AVIF```PeakWorkingSetSize: 943.2 MiB QuotaPeakPagedPoolUsage: 728.6 KiB QuotaPeakNonPagedPoolUsage: 38.2 KiB PeakPagefileUsage: 1.056 GiB Creation time 2024/09/11 23:05:14.937 Exit time 2024/09/11 23:05:23.106 Wall time: 0 days, 00:00:08.168 (8.17 seconds) User time: 0 days, 00:00:01.937 (1.94 seconds) Kernel time: 0 days, 00:01:35.984 (95.98 seconds)``` JXL```PeakWorkingSetSize: 480.5 MiB QuotaPeakPagedPoolUsage: 728.7 KiB QuotaPeakNonPagedPoolUsage: 31.16 KiB PeakPagefileUsage: 727.6 MiB Creation time 2024/09/11 23:05:32.633 Exit time 2024/09/11 23:05:46.971 Wall time: 0 days, 00:00:14.337 (14.34 seconds) User time: 0 days, 00:00:18.921 (18.92 seconds) Kernel time: 0 days, 00:02:27.156 (147.16 seconds)```
2024-09-11 10:08:34
Bearing in mind I think libjxl has limited threads in ffmpeg, even just that half memory usage is worth it for me
RaveSteel
2024-09-11 10:08:57
The JXL is also significantly smaller in filesize
jonnyawsom3
2024-09-11 10:11:41
Trying to re-encode the JXL directly with cjxl didn't end so well :P
RaveSteel
2024-09-11 10:12:23
Sheesh
jonnyawsom3
2024-09-11 10:12:46
```wintime -- cjxl l3rvhz.jxl Test.jxl -d 0 -e 3 JPEG XL encoder v0.10.2 4451ce9 [AVX2,SSE2] Encoding [Modular, lossless, effort: 3] Compressed to 169177.2 kB (7.832 bpp/frame). 3600 x 2400, 0.778 MP/s [0.78, 0.78], , 1 reps, 16 threads. PageFaultCount: 5645907 PeakWorkingSetSize: 5.359 GiB QuotaPeakPagedPoolUsage: 35.7 KiB QuotaPeakNonPagedPoolUsage: 25.49 KiB PeakPagefileUsage: 5.446 GiB Creation time 2024/09/11 23:10:24.412 Exit time 2024/09/11 23:10:57.816 Wall time: 0 days, 00:00:33.404 (33.40 seconds) User time: 0 days, 00:00:37.031 (37.03 seconds) Kernel time: 0 days, 00:01:50.671 (110.67 seconds)```
2024-09-11 10:13:11
Was trying e3 to boost decode speed a bit
RaveSteel
2024-09-11 10:14:12
The file is also a bit unusual after all, overly high resolution and 100fps, so no wonder it takes a long time to encode
jonnyawsom3
2024-09-11 10:24:32
100fps but 20 frames total, guess cjxl is loading all of them into memory at once even though it only encodes one frame at a time. About 173 Megapixels total
2024-09-11 10:25:02
Extracted a single frame.... Hrmmm
RaveSteel
2024-09-11 10:25:30
The jxl is e3, same as above?
jonnyawsom3
2024-09-11 10:27:00
e3 is 7.8 bpp, e4 is 1.6 bpp. I know long ago palette was disabled for e2 and e3 but the fast palette from e1 was ported to them ages ago too
2024-09-11 10:28:23
Pfft
2024-09-11 10:28:33
```wintime -- cjxl Test.png Test.jxl -d 0 -e 1 JPEG XL encoder v0.10.2 4451ce9 [AVX2,SSE2] Encoding [Modular, lossless, effort: 1] Compressed to 448.0 kB (0.415 bpp). 3600 x 2400, 156.884 MP/s [156.88, 156.88], , 1 reps, 16 threads. PageFaultCount: 15051 PeakWorkingSetSize: 53.76 MiB QuotaPeakPagedPoolUsage: 35.7 KiB QuotaPeakNonPagedPoolUsage: 8.086 KiB PeakPagefileUsage: 50.58 MiB Creation time 2024/09/11 23:28:20.604 Exit time 2024/09/11 23:28:20.721 Wall time: 0 days, 00:00:00.117 (0.12 seconds) User time: 0 days, 00:00:00.046 (0.05 seconds) Kernel time: 0 days, 00:00:00.312 (0.31 seconds)```
2024-09-11 10:28:46
Guess that fast palette is still doing work
RaveSteel
2024-09-11 10:29:47
What about e10?
2024-09-11 10:29:49
xd
jonnyawsom3
2024-09-11 10:31:22
```wintime -- cjxl Test.png Test.jxl -d 0 -e 10 JPEG XL encoder v0.10.2 4451ce9 [AVX2,SSE2] Encoding [Modular, lossless, effort: 10] Compressed to 211.6 kB (0.196 bpp). 3600 x 2400, 0.109 MP/s [0.11, 0.11], , 1 reps, 16 threads. PageFaultCount: 3674465 PeakWorkingSetSize: 842.6 MiB QuotaPeakPagedPoolUsage: 35.7 KiB QuotaPeakNonPagedPoolUsage: 15 KiB PeakPagefileUsage: 947.6 MiB Creation time 2024/09/11 23:29:55.919 Exit time 2024/09/11 23:31:14.941 Wall time: 0 days, 00:01:19.022 (79.02 seconds) User time: 0 days, 00:00:03.703 (3.70 seconds) Kernel time: 0 days, 00:01:23.078 (83.08 seconds)```
2024-09-11 10:31:39
Beats the PNG now at least
RaveSteel
2024-09-11 10:34:52
Ant it *only* took around 1.5 minutes 😆
jonnyawsom3
2024-09-11 10:35:54
`0.415 bpp, 1.522 bpp, 7.838 bpp, 1.612 bpp, 0.301 bpp, 0.286 bpp, 0.251 bpp, 0.244 bpp, 0.241 bpp, 0.196 bpp` bpp of every effort level 1 to 10
RaveSteel
2024-09-11 10:36:45
e3 is tonights biggest loser
jonnyawsom3
2024-09-11 10:37:50
Considering the PNG is a 2 bit palette, e3 isn't just a looser, it's a saboteur
RaveSteel
2024-09-11 10:38:15
True
jonnyawsom3
2024-09-11 10:40:31
Very weird that there's a bump around e3, with e2 and e4 also being much higher than the rest
RaveSteel
2024-09-11 10:40:50
It sometimes happens, for some reason
jonnyawsom3
2024-09-11 10:41:04
Some code somewhere living it's best life
RaveSteel
2024-09-11 10:42:03
I don't think I have ever seen a discussion around GIF compression since I joined here, but i have a 100MB GIF that will always be worse with JXL unless e8 or higher is selected
2024-09-11 10:42:21
Maybe even e9, I'd have to check
2024-09-11 10:42:52
Maybe I should create a GIF dataset
username
2024-09-11 10:44:39
currently the encoder doesn't really take advantage of what the JXL spec supports animation wise, so that's probably why GIF ends up winning since the encoders for GIF can blend between frames and whateever else
jonnyawsom3
2024-09-11 10:45:30
My way to work around it is using gif2apng, and then encoding with cjxl since then it can use the transparency, different frame sizes, ect
RaveSteel
username currently the encoder doesn't really take advantage of what the JXL spec supports animation wise, so that's probably why GIF ends up winning since the encoders for GIF can blend between frames and whateever else
2024-09-11 10:45:55
It is also understandable that current efforts are focussed on still images
My way to work around it is using gif2apng, and then encoding with cjxl since then it can use the transparency, different frame sizes, ect
2024-09-11 10:46:25
Let me try that real quick
2024-09-11 10:48:07
Ah, I don't have it installed
2024-09-11 10:48:11
Oh well
2024-09-11 10:51:06
Here a link https://we.tl/t-wprMvEnN76 Viewers discretion is advised
2024-09-11 10:51:14
It is SFW though
username
2024-09-11 10:56:00
https://discord.com/channels/794206087879852103/803645746661425173/1283560872928612443
_wb_
2024-09-12 05:11:43
https://beebom.com/what-is-jpeg-xl/
yoochan
2024-09-12 05:20:46
_Both JXL and AVIF encoding times are almost similar, but on average, AVIF does seem to be leading a bit_ how ?!
username
2024-09-12 05:22:43
the article also claims that WebP goes up to 12-bit
RaveSteel
2024-09-12 05:23:43
They are also not specifying encoding settings, so not even repeatable by the reader
2024-09-12 05:24:39
You cannot just claim "A is fast er than B" without giving that information
_wb_
2024-09-12 06:28:13
Seems to be a not very well informed article
2024-09-12 06:29:47
> When compared to lossless PNGs, lossless JPEG XL images can sometimes be smaller but almost indistinguishable from PNGs. <:Thonk:805904896879493180>
2024-09-12 06:32:41
I wonder if chatGPT wrote this
Demiurge
yoochan _Both JXL and AVIF encoding times are almost similar, but on average, AVIF does seem to be leading a bit_ how ?!
2024-09-12 07:28:51
Not even close to similar encode times. Literally everyone who has tried both will say the same. AVIF is slooooooooooow.
_wb_
2024-09-12 07:38:04
AVIF s9 is pretty fast. It's also worse than jpeg though.
Demiurge
2024-09-12 07:40:02
Yeah, much worse. That's why no one uses it. It's also worse at dividing an image into tiles compared to jxl.
2024-09-12 07:41:55
You could tell libavif to use tiles in a similar way as jxl but that's not the default and doesn't help you when decoding an existing image. And it can't smooth tile boundaries like jxl presumably does
2024-09-12 07:42:56
Most importantly though, no one uses libaom at speed levels faster than s4
2024-09-12 07:43:57
Because avif is worse than webp after that point
_wb_
2024-09-12 07:50:13
We use it at default speed, s6. Slower speeds are too slow for us.
2024-09-12 07:50:29
It still beats webp at s6.
2024-09-12 07:50:36
I am talking about lossy.
Meow
2024-09-12 08:10:46
Seems that website just re-posted it
2024-09-12 08:14:14
I could recall Beehom posted a joke article long time ago
lonjil
Meow Seems that website just re-posted it
2024-09-12 08:17:17
doesn't appear to have fixed any mistakes tho?
CrushedAsian255
_wb_ > When compared to lossless PNGs, lossless JPEG XL images can sometimes be smaller but almost indistinguishable from PNGs. <:Thonk:805904896879493180>
2024-09-12 08:47:35
Lossless but I removed the noise moment
HCrikki
yoochan _Both JXL and AVIF encoding times are almost similar, but on average, AVIF does seem to be leading a bit_ how ?!
2024-09-12 08:58:31
its rarely elaborated on but testers commonly use high efforts that end up making avif look competitive performance wise. anything higher than post 0.10 e7 should be discouraged, or users better educated about how good the defaults actually are
_wb_
2024-09-12 09:04:31
The sweet spot for lossy libjxl is at e6 in my opinion: going higher effort doesn't bring much except taking more time, going lower effort doesn't speed up much but does bring worse results.
2024-09-12 09:07:40
For libaom, you have to pick your poison: you need to go to very high effort (s1-s2 or so) to get close to the best results, so either it's slow or you have to accept worse results. The region between s3 and s7 has substantial improvements in compression at every effort step, but also the speed differences are substantial.
A homosapien
_wb_ The sweet spot for lossy libjxl is at e6 in my opinion: going higher effort doesn't bring much except taking more time, going lower effort doesn't speed up much but does bring worse results.
2024-09-12 09:32:38
Do you think there is room for improvement for efforts higher than 7? Like better patches and the usage of splines?
2024-09-12 09:34:33
Right now the miniscule gains in quality is not worth the significant slow down. Can jxl achieve avif-like gains where slower speeds come with significant upsides?
_wb_
2024-09-12 09:41:41
Maybe, yes. Patches could be used in more ways than what we do now, and splines are not used at all. Also I imagine we could do things that involve trying different block subdivision strategies instead of just the one strategy we have now. I think e8+ is mostly spending a lot of time exploring one specific part of the search space deeply (varying adaptive quantization while keeping all the rest fixed) and might be more effective if it would explore more parts more shallowly.
veluca
2024-09-12 09:42:42
better patches could be done also at not too high cpu cost, I'm sure
2024-09-12 09:43:13
the current heuristic is... uh, a hacky job by an intern 😛 (_whistles_)
_wb_
2024-09-12 09:45:45
In particular, the current heuristic only looks for repetitive stuff on a solid background. Patches could probably also be useful for non-repetitive stuff where near-lossless is more effective than DCT, like places where avif would use palette blocks.
CrushedAsian255
2024-09-12 09:46:36
As in compress certain parts of the image in VarDCT and some in Modular?
veluca
2024-09-12 09:46:59
that's something you can certainly do if you figure out what to do with the seams
CrushedAsian255
2024-09-12 09:47:28
iPhone blending?
2024-09-12 09:47:38
Alpha
A homosapien
_wb_ In particular, the current heuristic only looks for repetitive stuff on a solid background. Patches could probably also be useful for non-repetitive stuff where near-lossless is more effective than DCT, like places where avif would use palette blocks.
2024-09-12 09:58:09
Are these plans in the near future or far future? Like pre or post v1.0.
monad
2024-09-13 01:35:38
Maybe Cloudinary's X account is also written by ChatGPT.
CrushedAsian255
monad Maybe Cloudinary's X account is also written by ChatGPT.
2024-09-13 01:43:33
at this point, are you ChatGPT?
jonnyawsom3
CrushedAsian255 Lossless but I removed the noise moment
2024-09-13 02:32:22
`djxl --no_noise`
_wb_
A homosapien Are these plans in the near future or far future? Like pre or post v1.0.
2024-09-13 05:16:29
Post
CrushedAsian255
_wb_ Post
2024-09-13 05:23:31
what does 1.0 signify?
_wb_
2024-09-13 05:29:03
Finalized library API is the only thing it really means.
CrushedAsian255
2024-09-13 05:29:24
so we can keep changing the internals and optimising after 1.0?
_wb_
2024-09-13 05:29:35
Replied to that X post
CrushedAsian255
2024-09-13 05:29:37
or is it effectively semver?
_wb_
2024-09-13 05:30:35
Yes, semantic versioning.
CrushedAsian255
2024-09-13 05:32:07
so this '0.x' phase is kinda like beta and once 1.0 hits, then it's semantic?
Quackdoc
_wb_ Finalized library API is the only thing it really means.
2024-09-13 05:37:33
well until a 2.0 comes along [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
jonnyawsom3
2024-09-13 08:04:04
Apparently never found this before, but a nice little blog post, outdated or slightly wrong commands for the files too https://www.s-config.com/jxl-jpegxl-and-the-web/
_wb_
2024-09-13 08:08:51
"JPegXL"? Hadn't seen that spelling before...
CrushedAsian255
_wb_ "JPegXL"? Hadn't seen that spelling before...
2024-09-13 08:09:39
is JPEG XL going to be the new GIF vs JIF?
TheBigBadBoy - 𝙸𝚛
2024-09-13 08:10:12
first time I hear about the format JIF, I wonder what it is || /s || Jpeg Infinite Floating-point-precision? <:KekDog:805390049033191445>
CrushedAsian255
2024-09-13 08:12:02
https://discord.com/channels/794206087879852103/794206087879852106/804429947090632777
_wb_
2024-09-13 08:13:20
GIF vs JIF, "Pee N Gee" vs "ping", "heef" vs "hayf", "aye-vif" vs "Aye Vee Eye Eff" — we're not the only format where people pronounce things in different ways
TheBigBadBoy - 𝙸𝚛
2024-09-13 08:13:42
anyway in French everyone I know says GIF (G-E-F)
CrushedAsian255
_wb_ GIF vs JIF, "Pee N Gee" vs "ping", "heef" vs "hayf", "aye-vif" vs "Aye Vee Eye Eff" — we're not the only format where people pronounce things in different ways
2024-09-13 08:13:44
i just call HEIF/HEIC letter by letter
Fox Wizard
_wb_ "JPegXL"? Hadn't seen that spelling before...
2024-09-13 08:14:32
JpEgXl when?
CrushedAsian255
2024-09-13 08:14:42
i know someone who unironically calls WebP "we-be-peh"
Fox Wizard JpEgXl when?
2024-09-13 08:14:57
jpEGxL
2024-09-13 08:15:14
actually no jPE-gX l
Fox Wizard
2024-09-13 08:15:15
JP🥚-XL
CrushedAsian255
2024-09-13 08:16:44
_wb_
2024-09-13 08:16:44
I tend to say either "jay peg ex ell", or "jay ex ell", at least when speaking English. In Dutch I would pronounce it more like "yay peg ex ell".
Meow
2024-09-13 08:17:44
In Mandarin Chinese, X is often pronounced as "chā", as a cross is often called a "chā"
CrushedAsian255
2024-09-13 08:18:36
i pronounce lossless AVIF as "bad idea"
Meow
2024-09-13 08:18:37
Most of people here can't pronounce "L" well so XL would sound like "cha-eh-loh"
CrushedAsian255
Meow Most of people here can't pronounce "L" well so XL would sound like "cha-eh-loh"
2024-09-13 08:19:00
are you chinese?
Meow
2024-09-13 08:19:11
From Taiwan
CrushedAsian255
Meow From Taiwan
2024-09-13 08:19:35
im from Hangzhou mainland
Meow
2024-09-13 08:19:55
So you should've understood what I meant
CrushedAsian255
Meow So you should've understood what I meant
2024-09-13 08:20:04
yeh
_wb_
2024-09-13 08:20:12
The J in Jyrki, Jon and Jan (Wassenberg) is not a dzj sound like the J in English. It's a voiced palatal approximant (https://en.wikipedia.org/wiki/Voiced_palatal_approximant) , not a voiced postalveolar affricate (https://en.wikipedia.org/wiki/Voiced_postalveolar_affricate)
CrushedAsian255
2024-09-13 08:20:13
although my chinese isn't amazing, been living in 🇦🇺 most my life
2024-09-13 08:21:27
so more like the "y" from "yawn"?
_wb_
2024-09-13 08:21:40
At some point, I was (mostly jokingly) saying that we should pronounce jxl as "yixel", rhyming with "pixel" and starting with the <j> sound
CrushedAsian255
2024-09-13 08:22:10
so "JXL art" would be "yixel art"?
2024-09-13 08:22:13
that's actually cute sounding
2024-09-13 08:22:25
i'm all for that specifically
_wb_
CrushedAsian255 so more like the "y" from "yawn"?
2024-09-13 08:23:03
yes, in English the letter Y (at the start of a word) is used for this, in other Germanic languages like German and Dutch the letter J is still used for that sound
Meow
2024-09-13 08:23:20
The <x> sound is different though
_wb_
2024-09-13 08:23:59
so the English "yes" and the German or Dutch "ja" actually start with the same sound, <j> in the international phonetic alphabet
Oleksii Matiash
2024-09-13 08:25:54
Eastern slavonic: zjpeg (ex el), but dzje ex el (also pe en ge, and geef) 🤷‍♂️
yoochan
2024-09-13 11:38:14
about the camera component of android : https://issuetracker.google.com/issues/177918194#comment9 _RAW/RAW + JPEG/HEIC/AVIF image capture is on our roadmap now. JPEG XL is the next thing we consider exploring._
2024-09-13 11:40:23
(I bought a "recent" phone and it can support only RAW or jpeg with nothing in between with some HDR capabilities <:PepeHands:808829977608323112> )
Quackdoc
yoochan about the camera component of android : https://issuetracker.google.com/issues/177918194#comment9 _RAW/RAW + JPEG/HEIC/AVIF image capture is on our roadmap now. JPEG XL is the next thing we consider exploring._
2024-09-13 11:40:46
that just means they haven't looked at it yet. ~~plenty of time for them to shut it down~~
2024-09-13 11:41:06
remeber folk, ask your phone vendor for JXL support, not aosp devs, because the vendors are the ones with power
CrushedAsian255
2024-09-13 11:41:34
i thought the electricity company was the one with the power :/
yoochan
Quackdoc remeber folk, ask your phone vendor for JXL support, not aosp devs, because the vendors are the ones with power
2024-09-13 11:42:01
I can't find an adequate sony support forum
Quackdoc
2024-09-13 11:44:49
in the EU/UK area it's support.sony.co.uk in USA and canada its us.community.sony.com
2024-09-13 11:45:07
canada and us are the same site just s/us/ca
jonnyawsom3
yoochan about the camera component of android : https://issuetracker.google.com/issues/177918194#comment9 _RAW/RAW + JPEG/HEIC/AVIF image capture is on our roadmap now. JPEG XL is the next thing we consider exploring._
2024-09-13 11:55:19
Tempted to leave a comment along the lines of "DNG now also uses JXL internally, so being able to save as a standard JXL file would be very nice too" But I fear starting another thread of random people chanting about JXL on an issue tracker
afed
2024-09-13 08:28:17
<:Thonk:805904896879493180> https://9to5mac.com/2024/09/13/iphone-16-pro-lets-users-capture-proraw-photos-in-jpeg-xl-format/
Demiurge
_wb_ so the English "yes" and the German or Dutch "ja" actually start with the same sound, <j> in the international phonetic alphabet
2024-09-13 09:23:17
So your name isn't the English "Jon?" I didn't know that... Jyrki on the other hand, I always thought it looked like maybe "Yerki" is the most likely way to say it.
_wb_
2024-09-13 10:16:37
A better transcription of my name in English would be "Yon", yes
2024-09-13 10:27:01
https://www.msn.com/en-us/news/technology/iphone-16-pro-is-said-to-support-jpeg-xl-format/ar-AA1qxjEl?ocid=socialshare
runr855
2024-09-13 10:44:56
Is it known how HEIC hardware encoding speed compares to JPEG XL software encoding speed? If we were to hope for JPEG XL to replace HEIC in general on the iPhone at some point in the future
Demiurge
2024-09-13 11:06:50
HEVC hardware, if utilized, would drain the battery less.
2024-09-13 11:08:30
...but then again, <:JXL:805850130203934781> encoding can be extremely simple in theory, faster than JPEG
2024-09-13 11:10:02
Without a big sacrifice in quality
lonjil
Demiurge HEVC hardware, if utilized, would drain the battery less.
2024-09-14 12:06:03
I think that iOS uses hardware acceleration for HEIC photos, which is why all HEIC photos from iPhones are tiled.
CrushedAsian255
2024-09-14 12:15:10
Is it confirmed this is only for iPhone 16 pro?
RaveSteel
2024-09-14 12:18:55
Quick, someone go and buy an iPhone 16 Pro to test
CrushedAsian255
2024-09-14 12:19:07
Are they at the Apple stores?
2024-09-14 12:19:12
I can go check today if so
RaveSteel
2024-09-14 12:19:12
No idea
CrushedAsian255 I can go check today if so
2024-09-14 12:19:20
Good idea!
CrushedAsian255
2024-09-14 12:19:27
Is this new firmware out already?
RaveSteel
2024-09-14 12:19:39
I think it was supposed to come with iOS 18?
CrushedAsian255
2024-09-14 12:19:57
iOS 18 isn’t properly out yet
2024-09-14 12:20:01
Is it?
2024-09-14 12:20:03
I’m not sure
2024-09-14 12:20:07
I’m on RC
2024-09-14 12:20:24
Thought it was gonna release next week
RaveSteel
2024-09-14 12:20:32
I think it is supposed to come out later this month
CrushedAsian255 Thought it was gonna release next week
2024-09-14 12:20:37
Or that, maybe
CrushedAsian255
2024-09-14 12:20:57
If so, then the iPhone 16s, if they are at Apple, would still be running iOS 17 I roiled yhonk
2024-09-14 12:21:01
Would think*
RaveSteel
2024-09-14 12:21:29
We will see how it is when it releases
2024-09-14 12:21:44
I am kinda hyped and I never even owned an iPhone
CrushedAsian255
2024-09-14 12:22:06
What part are you hyped?
RaveSteel
2024-09-14 12:22:15
Possible JXL support
CrushedAsian255
2024-09-14 12:22:17
If it’s the AI, get a Galaxy or Pixel
RaveSteel Possible JXL support
2024-09-14 12:22:20
Fair
2024-09-14 12:22:39
Although it’s still most likely just JXL in DNG
2024-09-14 12:22:52
Not full proper JXL
RaveSteel
2024-09-14 12:23:08
Likely, but one can hope
CrushedAsian255
2024-09-14 12:23:10
Also I have typed JXL so much that my phone now auto corrects it
RaveSteel
2024-09-14 12:23:30
xd
CrushedAsian255 Although it’s still most likely just JXL in DNG
2024-09-14 12:24:17
Now if only there was some software outside of Adobe to edit those DNGs (on linux). I have some of them myself but can do literally nothing with them lol
CrushedAsian255
2024-09-14 12:24:40
Can’t most libraw based?
2024-09-14 12:25:20
Dark tables?
RaveSteel
2024-09-14 12:25:25
No, since libraw hasn't had a release containg the dngsdk yet and most software do not build against the snapshot
2024-09-14 12:25:43
In fact, there is no software on linux at all that currently supports JXL DNGs. If there is, I am not aware of it
2024-09-14 12:26:01
And support on windows is sparse as well
lonjil
CrushedAsian255 Is it confirmed this is only for iPhone 16 pro?
2024-09-14 12:26:37
Someone with a Mac or a macOS VM could decrypt and extract the already available OS image to check
CrushedAsian255
2024-09-14 12:26:42
Haven’t tested on Mac yet
lonjil Someone with a Mac or a macOS VM could decrypt and extract the already available OS image to check
2024-09-14 12:26:50
I can, don’t know how to though
lonjil
2024-09-14 12:27:19
Someone I know checked the image for iOS 18 for iPhone 16 Pro, but not the one for non Pro
CrushedAsian255
2024-09-14 12:27:37
I have 14 pro max
lonjil
CrushedAsian255 I can, don’t know how to though
2024-09-14 12:27:56
I'm about to fall asleep but if you search my posts here you'll find links to the relevant tools
CrushedAsian255
2024-09-14 12:27:59
Where is the JXL option meant to be?
lonjil I'm about to fall asleep but if you search my posts here you'll find links to the relevant tools
2024-09-14 12:28:11
Good night 🙂
lonjil
2024-09-14 12:33:10
Here are the steps the person I know took to extract the data from an encrypted iPhone OS image. The aea file below is the encrypted image for iPhone 16 Pro. The second tool I posted earlier has a way to find and download the version you want to check out, I think. also repro steps if you want to follow along at home (on latest stable macOS 14 on ASi, but if you don't have a Mac, i don't see why this wouldn't work in an x86_64h macOS VM): ```bash mkdir ~/OTASU_Crystal22A3351_D93_dst && cd ~/OTASU_Crystal22A3351_D93_dst curl -O 'https://updates.cdn-apple.com/2024FallFCS/mobileassets/032-87820/49E96347-486E-47BD-858A-202BD5A90E0B/com_apple_MobileAsset_SoftwareUpdate/d9faf503145b73e746c27e075c48af44bfa02f15731649242930e38c98c5fe39.aea' git clone https://github.com/dhinakg/aeota.git cd aeota python3 -m venv .env source .env/bin/activate pip3 install -r requirements.txt python3 get_key.py ~/OTASU_Crystal22A3351_D93_dst/d9faf503145b73e746c27e075c48af44bfa02f15731649242930e38c98c5fe39.aea # idk if HPKE is needed but /shrug/ make HPKE=1 ./aastuff_standalone -i ~/OTASU_Crystal22A3351_D93_dst/d9faf503145b73e746c27e075c48af44bfa02f15731649242930e38c98c5fe39.aea -o ~/OTASU_Crystal22A3351_D93_dst/d9faf503145b73e746c27e075c48af44bfa02f15731649242930e38c98c5fe39.aar -d -k '<wkms key snip>' ./aastuff_standalone -i ~/OTASU_Crystal22A3351_D93_dst/d9faf503145b73e746c27e075c48af44bfa02f15731649242930e38c98c5fe39.aar -o ~/OTASU_Crystal22A3351_D93_dst/dst cd ~/OTASU_Crystal22A3351_D93_dst/dst/AssetData/payloadv2 # dumb way to extract AppleArchive files from the OTA but it works for i in `seq -f '%03g' 0 26`; do aa extract -i payload.${i} -d fs_dst done cd fs_dst ```
HCrikki
CrushedAsian255 Can’t most libraw based?
2024-09-14 12:46:06
libraw supports dng 1.7 with jxl codestream since a beta, but most apps ship only its stable releases so their support can outdated by a year (next stable is months away). windows' raw extension is based on a libraw beta snapshot currently so its supposed to decode dng1.7 with jxl now (to be checked)
Demiurge
2024-09-14 03:10:02
There was no mention of quality improvements in the 0.11 release notes. Someone should make a blog post showcasing the difference in quality, with before and after pics. Then maybe that can be published on an official channel so the press could pick it up and report on it, generating more positive press attention for <:JXL:805850130203934781> Or am I being too optimistic?
2024-09-14 03:14:41
Also, more definite language like, "No longer calls abort() in release builds" would help clarify, with actionable confidence, that libjxl is now ready for those projects that were holding off on including it for that very reason.
A homosapien
2024-09-14 03:27:08
Somebody should inform the paint.net dev. He can finally include libjxl by default since it no longer calls abort()
Demiurge
2024-09-14 04:50:53
Exactly. That's what I was referring to actually
2024-09-14 04:52:07
Positive press attention is important for getting people aware of and excited about a new image format
2024-09-14 04:52:13
:)
2024-09-14 04:54:53
I heard that Jyrki was working on lossy quality improvements but idk what bitrate or what type of images he was trying to make improvements on. I would like to make some before and after comparisons to showcase the difference between 0.10 and 0.11 so that the new release could get more positive attention across the broader world.
A homosapien
2024-09-14 05:31:24
https://discord.com/channels/794206087879852103/803645746661425173/1284355399667027968
2024-09-14 05:31:49
I wonder how the improvements have gone since my last test in May this year
2024-09-14 05:34:55
I also have yet to test the color shift/desaturation as well
Olav
A homosapien Somebody should inform the paint.net dev. He can finally include libjxl by default since it no longer calls abort()
2024-09-14 07:10:50
There is no mention of this in the issue: https://github.com/libjxl/libjxl/issues/1450
VcSaJen
A homosapien Somebody should inform the paint.net dev. He can finally include libjxl by default since it no longer calls abort()
2024-09-14 07:25:01
The dev plans to include the plugin made by 0xC0000054 by default. The problem is, the plugin is officially abandoned at this point. So no, Paint.NET won't support JPEG XL.
spider-mario
RaveSteel In fact, there is no software on linux at all that currently supports JXL DNGs. If there is, I am not aware of it
2024-09-14 08:21:02
PTGui should
Demiurge
VcSaJen The dev plans to include the plugin made by 0xC0000054 by default. The problem is, the plugin is officially abandoned at this point. So no, Paint.NET won't support JPEG XL.
2024-09-14 08:39:46
Officially abandoned?
2024-09-14 09:15:31
Oh, I suppose you're referring to this
RaveSteel
spider-mario PTGui should
2024-09-14 09:18:34
Thank you for the suggestion. I will just be patient until DNG 1.7 is supported by darktable etc.
VcSaJen
Demiurge Officially abandoned?
2024-09-14 09:50:31
Yeah, it's unknown when 1.0 comes out, so it's an indefinite hiatus.
Meow
CrushedAsian255 Although it’s still most likely just JXL in DNG
2024-09-14 10:29:07
Setting up the lossless foundation is still better than that infamous HEIF
CrushedAsian255
2024-09-14 10:31:39
lossless JXL DNG is nice for people who only take RAW
Meow
2024-09-14 10:36:39
Unless there's any iPhone fan who wants RAW based on lossless HEIF
CrushedAsian255
Meow Unless there's any iPhone fan who wants RAW based on lossless HEIF
2024-09-14 10:37:27
NO
_wb_
2024-09-14 10:43:00
I don't think Apple's hardware HEIF encoder can do lossless. In fact I think it only does 8-bit yuv420.
2024-09-14 10:43:54
basically it's like webp but with patents
CrushedAsian255
2024-09-14 10:59:24
And probably slightly better compression wise
2024-09-14 10:59:58
iPhone can record 10 bit HEVC
2024-09-14 11:00:12
Apple is probably using the HEVC hardware to encode HEIC
username
2024-09-14 11:01:17
well, better with lossy yes since H265/HEVC is better then VP8 but for lossless it probably doesn't come close to "VP8L"
CrushedAsian255
2024-09-14 11:02:11
Can HEVC even lossless?
_wb_
2024-09-14 11:23:06
Yes, hevc itself supports it.
CrushedAsian255 Apple is probably using the HEVC hardware to encode HEIC
2024-09-14 11:24:09
I think so yes. It decodes 10-bit yuv420. For still image, for some reason it uses only 8-bit, plus a gain map.
2024-09-14 11:24:33
(the reason is probably that this simplifies on-the-fly jpeg transcoding)
2024-09-14 11:49:03
https://news.ycombinator.com/item?id=41538349
CrushedAsian255
_wb_ (the reason is probably that this simplifies on-the-fly jpeg transcoding)
2024-09-14 11:52:54
probably also helps with compatibility with pre-HDR systems
_wb_
2024-09-14 12:00:06
that's what I mean — the main image is tone mapped for SDR, so when converting to JPEG to share the image, it can just convert that and forget about the gain map.
CrushedAsian255
2024-09-14 12:00:30
yeah, makes sense
Meow
2024-09-14 12:09:45
That FollowingTheDao
lonjil
Meow That FollowingTheDao
2024-09-14 12:10:08
it's funny cuz he sorta has a point but then he says a bunch of nonsense lol
CrushedAsian255
Meow That FollowingTheDao
2024-09-14 12:13:08
who?
Meow
2024-09-14 12:13:47
From the link
CrushedAsian255
2024-09-14 12:15:10
> If Apple is giving you JPEG-XL they are compressing the file, so it is not RAW. JPEG-XL is lossless compression. What? so ZIP is now RAW?
2024-09-14 12:15:13
it's the same idea
_wb_
2024-09-14 12:32:14
There seems to be confusion about what lossless means, but also about what "raw" is supposed to mean.
lonjil
2024-09-14 12:32:53
I don't think there is any consistent definition of what raw actually means between manufacturers
_wb_
2024-09-14 12:36:22
The wikipedia definition is: (https://en.wikipedia.org/wiki/Raw_image_format) > A camera raw image file contains unprocessed or minimally processed data from the image sensor of either a digital camera, a motion picture film scanner, or other image scanner.
2024-09-14 12:37:16
"unprocessed or minimally processed data" is of course a bit vague: how much processing can you do while still being "minimal"?
spider-mario
2024-09-14 12:54:38
in the past, Nikon has received some flak for hardcoding the black point subtraction, which truncates read noise
2024-09-14 12:55:07
Sony, for its hot pixel suppression which has occasionally removed actual stars from image (search for “sony star eater”)
2024-09-14 12:55:21
recently, Canon, has started applying mild but forced noise reduction to its raws at low ISO settings
CrushedAsian255
2024-09-14 12:55:51
theoretically you can just DMA the CCD data to an SD card but how practical is that really
Oleksii Matiash
spider-mario recently, Canon, has started applying mild but forced noise reduction to its raws at low ISO settings
2024-09-14 12:56:23
I did not expect that from Canon
spider-mario
2024-09-14 12:57:08
https://www.dpreview.com/forums/post/65858159
2024-09-14 12:57:32
I also vaguely recall Sony baking in vignette correction in some instances but I don’t remember the details
2024-09-14 12:59:22
and Pentax, going from the K1 to the K1 Mark II, has started applying noise reduction at _high_ ISO settings (unlike Canon’s low) https://www.photonstophotos.net/Charts/RN_e.htm#Pentax%20K-1_14,Pentax%20K-1%20II_14
2024-09-14 12:59:41
(“triangle down indicates noise reduction”)
2024-09-14 01:00:18
although now, with the EOS R5 Mark II, it seems Canon now does it at all ISO settings? https://www.photonstophotos.net/Charts/RN_e.htm#Canon%20EOS%20R5_14,Canon%20EOS%20R5%20Mark%20II_14
Oleksii Matiash
2024-09-14 01:04:20
Thank you. I have not looked into modern cameras world, and this is really disappointing..
2024-09-14 01:07:17
Old cameras were more 'honest' in this aspect. Sometime even too honest, hehe
RaveSteel
spider-mario recently, Canon, has started applying mild but forced noise reduction to its raws at low ISO settings
2024-09-14 01:12:13
what the hell
2024-09-14 01:12:29
In my opinion all "processing" should be metadata only
2024-09-14 01:12:37
So the user can decide with their RAW processor
Oleksii Matiash
Oleksii Matiash Old cameras were more 'honest' in this aspect. Sometime even too honest, hehe
2024-09-14 01:13:18
Raw of the flatfield shot from my camera without sensor 'parts' alignment applied
spider-mario
2024-09-14 01:13:34
ah, I’m now remembering Nikon’s lossy compression as well https://photonstophotos.net/Emil%20Martinec/noise-p3.html#NEFcompression
Oleksii Matiash
RaveSteel So the user can decide with their RAW processor
2024-09-14 01:13:43
The problem is that none of manufacturers want to share information how to use this metadata
RaveSteel
2024-09-14 01:14:07
That's the problem indeed, they all are proprietary
spider-mario
2024-09-14 01:14:13
takes advantage of photon noise to discard the lower bits (which are below the noise anyway)
_wb_
2024-09-14 01:58:25
I think processing specific to the details of the camera technology is probably best left to the camera manufacturers, anything else is best left to the photographer. Things like dealing with dead pixels, sensor alignment, various corrections, even debayering: I don't think it really makes sense that authoring software like Lightroom/darktable has to bother with those things and have big databases with how to deal with each and every specific model or even setting of every possible camera or lens.
CrushedAsian255
_wb_ I think processing specific to the details of the camera technology is probably best left to the camera manufacturers, anything else is best left to the photographer. Things like dealing with dead pixels, sensor alignment, various corrections, even debayering: I don't think it really makes sense that authoring software like Lightroom/darktable has to bother with those things and have big databases with how to deal with each and every specific model or even setting of every possible camera or lens.
2024-09-14 01:58:59
so like Apple ProRAW level of comprimise?
Foxtrot
2024-09-14 02:00:29
speaking about raw and compression... can JPEG XL compress even non-demosaiced raw? I would think the answer is yes if it's used in DNG which is raw format
CrushedAsian255
2024-09-14 02:01:04
it's just pixels so yes
lonjil
2024-09-14 02:01:04
DNG I believe just stores 4 separate JXL images or something like that
CrushedAsian255
2024-09-14 02:01:18
either way it can store arbitraty pixel data
Foxtrot
2024-09-14 02:01:27
ok, thanks
CrushedAsian255
lonjil DNG I believe just stores 4 separate JXL images or something like that
2024-09-14 02:01:34
`kCFA` is RIGHT THERE <:AngryCry:805396146322145301>
2024-09-14 02:01:56
someone didn't read the spec / api before implementing it
Oleksii Matiash
_wb_ I think processing specific to the details of the camera technology is probably best left to the camera manufacturers, anything else is best left to the photographer. Things like dealing with dead pixels, sensor alignment, various corrections, even debayering: I don't think it really makes sense that authoring software like Lightroom/darktable has to bother with those things and have big databases with how to deal with each and every specific model or even setting of every possible camera or lens.
2024-09-14 02:25:44
I disagree at least in debayering and some corrections. Metadata should be open and documented, but not everything should be done in-camera
_wb_
2024-09-14 02:27:37
Let me say it this way: whatever they're not going to document, let them do it in-camera so we don't have to deal with it. That's better than having rawer raw files but only Adobe knows how to cook them.
Oleksii Matiash
_wb_ Let me say it this way: whatever they're not going to document, let them do it in-camera so we don't have to deal with it. That's better than having rawer raw files but only Adobe knows how to cook them.
2024-09-14 02:30:12
*only Dave Coffin. But yes, in such case it should be done by camera. I just hate that secretness too much
jonnyawsom3
2024-09-14 02:31:16
In my case I actually deleted Adobe's database for DNGConverter, since copying what my phone does just results in over smoothened and washed out images, which is exactly why I set it to RAW in the first place
_wb_
2024-09-14 02:47:34
I don't like secretness/obfuscation that only serves to give FOSS a hard time and proprietary software a competitive edge. I don't mind if cameras want to innovate with new technology and choose to keep some things secret/proprietary, but 1) they should produce a raw output that is fully documented and doesn't require reverse engineering to figure out how to interpret the data, 2) they shouldn't be doing things to the 'raw' that can just as well be done afterwards (such as noise reduction filters).
CrushedAsian255
2024-09-14 02:48:21
as in do the fancy propreitary stuff in camera?
Oleksii Matiash
_wb_ I don't like secretness/obfuscation that only serves to give FOSS a hard time and proprietary software a competitive edge. I don't mind if cameras want to innovate with new technology and choose to keep some things secret/proprietary, but 1) they should produce a raw output that is fully documented and doesn't require reverse engineering to figure out how to interpret the data, 2) they shouldn't be doing things to the 'raw' that can just as well be done afterwards (such as noise reduction filters).
2024-09-14 03:20:07
As I already said somewhere here, one of corrections required for my camera, can only be done by proprietary converter. Adobe and libraw does not know how to do that. Thanks God this proprietary converter produces bayer dngs with that correction applied. And that camera (camera family, actually, that suffers from the same issue) is released in 2008. So this correction is not reverse engineered for already 16 years
CrushedAsian255
2024-09-14 03:28:54
what camera is it?
Oleksii Matiash
2024-09-14 03:37:45
All Phase One backs based on Dalsa CCD sensors
2024-09-14 03:38:04
Mine is IQ180, but it does not matter, they all suffer from the same
spider-mario
2024-09-14 06:07:45
<@167023260574154752> they really did 😅
lonjil
2024-09-14 06:08:11
lmao
KKT
2024-09-14 06:09:03
Dear lord he's dense.
RaveSteel
2024-09-14 06:14:39
My goodness
jonnyawsom3
2024-09-14 06:15:46
He's gonna loose it when he discovers cut and paste
_wb_
2024-09-14 06:19:48
reminds me of a discussion I once had with a photographer who was claiming JPEG's generation loss is a feature, not a bug, since it acts like a DRM mechanism that prevents limitless copying
Jim
2024-09-14 06:22:46
Mozilla developer Mike Conley talked about Firefox supporting JXL when a Rust implementation is completed in this week's live stream: https://www.youtube.com/live/le58LIsJH0Q?si=2hc8RcaihEt1tkbP&t=516
jonnyawsom3
_wb_ reminds me of a discussion I once had with a photographer who was claiming JPEG's generation loss is a feature, not a bug, since it acts like a DRM mechanism that prevents limitless copying
2024-09-14 06:24:32
And *that* reminded me of a video I saw yesterday about how AI keeps adding JPEG style mosquito noise to generated images, but in all 3 channels with the same pattern so you can tell it's fake
Jim Mozilla developer Mike Conley talked about Firefox supporting JXL when a Rust implementation is completed in this week's live stream: https://www.youtube.com/live/le58LIsJH0Q?si=2hc8RcaihEt1tkbP&t=516
2024-09-14 06:28:36
Nothing new, but slightly annoyed they had to say `100,000 Lines of Multithreaded C++` when that's the entire Github repository and not just a decoder
Jim
Nothing new, but slightly annoyed they had to say `100,000 Lines of Multithreaded C++` when that's the entire Github repository and not just a decoder
2024-09-14 07:05:35
True, and also important to note that a large part (estimated 50-60%) of Firefox is written in multithreaded C++. It's disingenuous to expect anything getting added into be Rust... but you also have to realize that Mozilla built Rust and has been pushing it down everyone's throat. It ends up being a marketing ploy. If you get more components written in Rust, you get more exposure and support for the language. I'm sure all the Mozilla employees have been "informed" that it's in their best interest to push it as much as possible.
_wb_
2024-09-14 07:21:58
Well as long as the only remaining obstacle is security concerns and a Rust implementation can alleviate those, and we do have volunteers in the community and at Google Research who want to deliver such a Rust implementation, it's a huge step forwards. Technical obstacles like writing an implementation in another language can be overcome much easier than political obstacles. The previous Mozilla position was worse than the current one, since it was basically a political position: they didn't consider it justified to add support since it was not "enough better" than AVIF (according to the codec evaluation done by the AVIF team). Now they seem to have changed their minds and do consider it justified to add support, just they want it to be in Rust to mitigate some of the concerns regarding security — which is in the end not a completely unreasonable ask; perhaps a bit unfair since when adding AVIF they were perfectly fine with adding lots of multithreaded C++ and even tons of assembler code, but ok.
lonjil
Jim True, and also important to note that a large part (estimated 50-60%) of Firefox is written in multithreaded C++. It's disingenuous to expect anything getting added into be Rust... but you also have to realize that Mozilla built Rust and has been pushing it down everyone's throat. It ends up being a marketing ploy. If you get more components written in Rust, you get more exposure and support for the language. I'm sure all the Mozilla employees have been "informed" that it's in their best interest to push it as much as possible.
2024-09-14 07:28:19
> It's disingenuous to expect anything getting added into be Rust why? Pretty much everything new in firefox these last few years has been in Rust. > but you also have to realize that Mozilla built Rust and has been pushing it down everyone's throat ??? > If you get more components written in Rust, you get more exposure and support for the language. Mozilla doesn't even develop Rust anymore, they laid off everyone working on it. What exactly would they gain from "exposure" for Rust? Especially considering that Rust is seeing massive adoption all of its own among people who don't give a single shit about what code is in Firefox. > I'm sure all the Mozilla employees have been "informed" that it's in their best interest to push it as much as possible. crazy-ass conspiracy nonsense right here
afed
2024-09-14 07:29:45
for av1/avif there is even a full libaom encoder (needed for webrtc) with a huge amount of multithreaded C++ code, not just a decoder
lonjil
_wb_ Well as long as the only remaining obstacle is security concerns and a Rust implementation can alleviate those, and we do have volunteers in the community and at Google Research who want to deliver such a Rust implementation, it's a huge step forwards. Technical obstacles like writing an implementation in another language can be overcome much easier than political obstacles. The previous Mozilla position was worse than the current one, since it was basically a political position: they didn't consider it justified to add support since it was not "enough better" than AVIF (according to the codec evaluation done by the AVIF team). Now they seem to have changed their minds and do consider it justified to add support, just they want it to be in Rust to mitigate some of the concerns regarding security — which is in the end not a completely unreasonable ask; perhaps a bit unfair since when adding AVIF they were perfectly fine with adding lots of multithreaded C++ and even tons of assembler code, but ok.
2024-09-14 07:29:52
dav1d is lots of C, not lots of C++ :p > perhaps a bit unfair I agree, though it's been more than 5 years since they added AV1 decoding to Firefox, and it seems pretty reasonable if their requirements for new stuff have changed in that time
BabylonAS
2024-09-14 07:31:26
> dav1d is lots of C, not lots of C++ Not really different in terms of safety, I guess
lonjil
afed for av1/avif there is even a full libaom encoder (needed for webrtc) with a huge amount of multithreaded C++ code, not just a decoder
2024-09-14 07:32:55
I don't think firefox supports AV1 in WebRTC
Demiurge
Jim Mozilla developer Mike Conley talked about Firefox supporting JXL when a Rust implementation is completed in this week's live stream: https://www.youtube.com/live/le58LIsJH0Q?si=2hc8RcaihEt1tkbP&t=516
2024-09-14 07:41:16
A rust implementation is complete technically, someone just needs to integrate it into Firefox and see how well it works...
_wb_ Well as long as the only remaining obstacle is security concerns and a Rust implementation can alleviate those, and we do have volunteers in the community and at Google Research who want to deliver such a Rust implementation, it's a huge step forwards. Technical obstacles like writing an implementation in another language can be overcome much easier than political obstacles. The previous Mozilla position was worse than the current one, since it was basically a political position: they didn't consider it justified to add support since it was not "enough better" than AVIF (according to the codec evaluation done by the AVIF team). Now they seem to have changed their minds and do consider it justified to add support, just they want it to be in Rust to mitigate some of the concerns regarding security — which is in the end not a completely unreasonable ask; perhaps a bit unfair since when adding AVIF they were perfectly fine with adding lots of multithreaded C++ and even tons of assembler code, but ok.
2024-09-14 07:44:13
The AVIF comparison done by the avif team showed avif doing very poorly
afed
lonjil I don't think firefox supports AV1 in WebRTC
2024-09-14 07:48:44
should be, at least for decoding because it's in the standard, for encoding maybe it depends on the configuration because even h.264 is not always available, even through openh264
BabylonAS
2024-09-14 07:50:05
I thought OpenH264 is only the decoder?
afed
2024-09-14 07:51:53
encoder and decoder
Jim
lonjil > It's disingenuous to expect anything getting added into be Rust why? Pretty much everything new in firefox these last few years has been in Rust. > but you also have to realize that Mozilla built Rust and has been pushing it down everyone's throat ??? > If you get more components written in Rust, you get more exposure and support for the language. Mozilla doesn't even develop Rust anymore, they laid off everyone working on it. What exactly would they gain from "exposure" for Rust? Especially considering that Rust is seeing massive adoption all of its own among people who don't give a single shit about what code is in Firefox. > I'm sure all the Mozilla employees have been "informed" that it's in their best interest to push it as much as possible. crazy-ass conspiracy nonsense right here
2024-09-14 07:52:15
> why? Pretty much everything new in firefox these last few years has been in Rust. No, some things have. The majority are modifications of existing C++ and JS already existing in the code. > Mozilla doesn't even develop Rust anymore When people think of Rust they still think of Mozilla and they push it very heavily. > crazy-ass conspiracy nonsense right here That's what they called people who said that Google was playing politics with respect to JXL less than a year ago. Your personal attacks amuse me.
Demiurge A rust implementation is complete technically, someone just needs to integrate it into Firefox and see how well it works...
2024-09-14 07:52:26
It's great that it's getting done.
Demiurge
2024-09-14 07:58:29
It's a lot easier to encode jxl than to decode. I’m surprised there are so many decoders.
BabylonAS
2024-09-14 07:59:28
Encoding can be easier than decoding?
afed
lonjil I don't think firefox supports AV1 in WebRTC
2024-09-14 07:59:28
<https://github.com/mozilla/gecko-dev/tree/master/media/libaom>
Quackdoc
_wb_ Well as long as the only remaining obstacle is security concerns and a Rust implementation can alleviate those, and we do have volunteers in the community and at Google Research who want to deliver such a Rust implementation, it's a huge step forwards. Technical obstacles like writing an implementation in another language can be overcome much easier than political obstacles. The previous Mozilla position was worse than the current one, since it was basically a political position: they didn't consider it justified to add support since it was not "enough better" than AVIF (according to the codec evaluation done by the AVIF team). Now they seem to have changed their minds and do consider it justified to add support, just they want it to be in Rust to mitigate some of the concerns regarding security — which is in the end not a completely unreasonable ask; perhaps a bit unfair since when adding AVIF they were perfectly fine with adding lots of multithreaded C++ and even tons of assembler code, but ok.
2024-09-14 07:59:49
I've heard talks of them potentially looking at RAV1D in the future.
Demiurge
2024-09-14 08:00:08
Decoders have a lot more work. They have to be able to decode any valid file. Encoders are way easier and can be as simple as you want. Simpler and faster than JPEG
Quackdoc
2024-09-14 08:00:17
Browsers were kinda forced to implement av1 one way or another, and rav1d wasn't even a concept then
Demiurge
2024-09-14 08:02:19
Encoders don't have to support every feature and encoding method. Not even libjxl's encoder uses all features
lonjil
Jim > why? Pretty much everything new in firefox these last few years has been in Rust. No, some things have. The majority are modifications of existing C++ and JS already existing in the code. > Mozilla doesn't even develop Rust anymore When people think of Rust they still think of Mozilla and they push it very heavily. > crazy-ass conspiracy nonsense right here That's what they called people who said that Google was playing politics with respect to JXL less than a year ago. Your personal attacks amuse me.
2024-09-14 08:03:01
> No, some things have. The majority are modifications of existing C++ and JS already existing in the code. modifications to existing stuff isn't new stuff. Also, this contradicts what you said before about marketing and mozilla management supposedly forcing firefox devs to push rust as much as possible. and *obviously* they're still using JS, it's memory safe. They've never had it as a goal to use Rust instead of JS. > When people think of Rust they still think of Mozilla and they push it very heavily. maybe people who don't know anything still think Mozilla, but 99% of anything having to do with Rust happens outside of Mozilla. And if people think of Mozilla when they hear Rust, well, uh, that isn't relevant at all? > That's what they called people who said that Google was playing politics with respect to JXL less than a year ago. Your personal attacks amuse me. it's not a personal attack it's a factual statement. There's literally no reason to think that Mozilla management are pushing Rust when they decided to gut Mozilla's involvement with Rust. We know that many actual programmers at Mozilla love using Rust (as well as many, many programmers outside of Mozilla) so maybe they're just using it because they want to use it. Like it's a pretty simple explanation. Also I like that you say "Google" rather than, say, "a handful of people on the Chromium codec team", as if opposition to JXL is some kind of high level commandment across Google.
Demiurge Decoders have a lot more work. They have to be able to decode any valid file. Encoders are way easier and can be as simple as you want. Simpler and faster than JPEG
2024-09-14 08:03:17
yeah but would such an encoder actually be useful?
afed <https://github.com/mozilla/gecko-dev/tree/master/media/libaom>
2024-09-14 08:04:03
I know they have libaom in there, but I can't find anything about Firefox supporting AV1 in WebRTC.
Quackdoc
2024-09-14 08:04:17
I'm sure Firefox would accept go code too if go wasn't a pita to use stuff lol
Jim
2024-09-14 08:04:20
Yes, Google. Read what's going on with the anti-trust case. 😆
lonjil
2024-09-14 08:04:58
why is google funding work to put JXL into Firefox if Google's high level leadership are against it ?
Demiurge
lonjil yeah but would such an encoder actually be useful?
2024-09-14 08:06:11
I think so, yes. Ultra fast jxl is still way better compression than existing lossless or lossy formats
Quackdoc
lonjil I know they have libaom in there, but I can't find anything about Firefox supporting AV1 in WebRTC.
2024-09-14 08:06:17
Isn't google meet rolling out av1 soon, guess it will be a good test
Jim
2024-09-14 08:06:35
This was a discussion the other day. It's in Google's interest to have Firefox around because it weakens their anti-trust case to have Firefox disappear. The JXL team is a separate research team whereas the AV1/AVIF team was tightly coupled with Chrome.
lonjil
Demiurge I think so, yes. Ultra fast jxl is still way better compression than existing lossless or lossy formats
2024-09-14 08:07:23
but ultra fast jxl encoding is already available. libjxl-tiny and fjxl can do high speed compression
Demiurge
2024-09-14 08:07:24
You can have an ultra fast lossy encoder that is faster than JPEG but with better entropy coding and better perceptual quantization
afed
lonjil I know they have libaom in there, but I can't find anything about Firefox supporting AV1 in WebRTC.
2024-09-14 08:07:42
maybe not exactly webrtc as a monolithic library, but webcodecs, but I've seen tests with moq and av1 that works on all the major browsers
lonjil
Jim This was a discussion the other day. It's in Google's interest to have Firefox around because it weakens their anti-trust case to have Firefox disappear. The JXL team is a separate research team whereas the AV1/AVIF team was tightly coupled with Chrome.
2024-09-14 08:08:01
I know the JXL team is separate, that's why I think it's much much more likely that any weird nonsense going on is happening inside the Chromium organization, not at a high level.
Demiurge
2024-09-14 08:08:06
It would be great for transparent compression
Jim
2024-09-14 08:08:34
It still happens at a high level AND in specific teams.
lonjil
Quackdoc Isn't google meet rolling out av1 soon, guess it will be a good test
2024-09-14 08:09:49
that's unfortunate. Is libaom completely necessary for this? Does it have a bunch of important features rav1e is missing?
afed
2024-09-14 08:10:57
rav1e is pretty bad and slow for rtc
Quackdoc
2024-09-14 08:10:58
No, rav1e is just way too slow
afed rav1e is pretty bad and slow for rtc
2024-09-14 08:11:20
Not *bad* just super duper slow
2024-09-14 08:11:32
Rav1e still good for high fidelity
Demiurge
lonjil but ultra fast jxl encoding is already available. libjxl-tiny and fjxl can do high speed compression
2024-09-14 08:12:42
Ah, well that's good proof that a fast encoder would still be useful :) even for lossy compression at high quality targets, you don't need a lot of speed to get good results.
2024-09-14 08:13:14
It's at really low bitrates where extra computation helps more
lonjil
2024-09-14 08:13:27
at really high qualities, like -d 0.1, I think the effort setting in libjxl makes close to zero real difference
Demiurge
2024-09-14 08:13:33
And really low quality
afed
Quackdoc Not *bad* just super duper slow
2024-09-14 08:14:31
yeah, but not for low-complexity low-bitrate/fps fast encoding for talking heads, libaom is so far the most optimized for such tasks, even svt-av1 is worse, even though better and faster for normal encoding
Quackdoc
2024-09-14 08:15:39
Is it? Last I tested svt was better but it was a while ago
2024-09-14 08:18:53
Oh, well. In any case, it doesn't really matter. The Firefox needed AV1, and there were no good rust alternatives at the time.
afed
2024-09-14 08:19:01
no, even meta uses and optimizes libaom for rtc, even though it's basically currently the main sponsor, user and contributor for svt-av1
Quackdoc
2024-09-14 08:19:23
Interesting,
2024-09-14 08:20:03
But all this aside I commend Firefox for going a memory safe only approach, personally I would like to see them take that approach on all new libraries and even current ones
afed
afed no, even meta uses and optimizes libaom for rtc, even though it's basically currently the main sponsor, user and contributor for svt-av1
2024-09-14 08:21:13
https://youtu.be/bCwWPFk2ZWg
_wb_
lonjil I know the JXL team is separate, that's why I think it's much much more likely that any weird nonsense going on is happening inside the Chromium organization, not at a high level.
2024-09-14 08:28:26
I think so too. High-level Google leadership doesn't care about avif nor jxl, they care about things like the stock market, doing big layoffs, and which potential future competitors to buy.
Quackdoc
2024-09-14 08:34:20
~~don't forget taking over the world ~~
Jim
_wb_ I think so too. High-level Google leadership doesn't care about avif nor jxl, they care about things like the stock market, doing big layoffs, and which potential future competitors to buy.
2024-09-14 08:47:55
For the most part I agree, they shouldn't care about the software - but at times they do. Even Intel admitted that it came down from the top (meaning the AOM group) not to discuss JXL at one point. Now I doubt they care. There is enough data to show that AVIF isn't likely to become a big player in the web images: it hasn't even gotten 1%. But the anti-trust case is clearly showing politics being played even at the high level with respect to a number of things - ads, browsers, search, AI anything they have their hands in.
jonnyawsom3
2024-09-14 08:49:29
What's your source for Intel saying that?
Jim
2024-09-14 09:00:22
Sorry, it was Facebook, not Intel. https://discord.com/channels/794206087879852103/803574970180829194/1040911985409261578
2024-09-14 09:00:57
But Intel went silent about it at the same time.
lonjil
2024-09-14 09:03:52
so your source is the same guy you're arguing against right now
Jim
2024-09-14 09:04:30
You REALLY need to learn that arguments are not just black and white.
2024-09-14 09:06:48
Also _wb_ has been involved with JXL from the start and is a great source of information relating to JXL. Everyone can have their own opinions outside of that.
_wb_
2024-09-14 09:17:16
Anyway, probably the best way to promote jxl adoption is to focus on the strengths of jxl, rather than the weaknesses of 'competing' codecs (or their proponents).
HCrikki
2024-09-14 11:26:40
angles getting no attention: - your ads displayed super soon even on slow net, bloated webpages (needs reference dataset for ad-type banners) - make *your* jxl-enabled apps load your content faster than browsers - serve em jxl, give chrome the bloated originals
Oleksii Matiash
2024-09-15 06:43:07
I'm not familiar with iOS development, maybe someone knows - is jxl decoding is supported on system level? I mean can jxls be used for in-app resources and for loading images from BE? On Android there are add-on library for main image loading libaries, but it is not supported for in-app resources obviously
_wb_
Oleksii Matiash I'm not familiar with iOS development, maybe someone knows - is jxl decoding is supported on system level? I mean can jxls be used for in-app resources and for loading images from BE? On Android there are add-on library for main image loading libaries, but it is not supported for in-app resources obviously
2024-09-15 06:54:44
Yes, since iOS 17 it is supported at the system level.
2024-09-15 06:58:44
Android system level matters less than iOS system level imo, since the tail of old Android versions is much thicker than the tail of old iOS versions. So you cannot really rely on system level stuff very much in Android. This is why e.g. Chrome on Android does not use the system level image decoders but ships its own copy of avif, webp, even jpeg and png decoders.
Oleksii Matiash
_wb_ Android system level matters less than iOS system level imo, since the tail of old Android versions is much thicker than the tail of old iOS versions. So you cannot really rely on system level stuff very much in Android. This is why e.g. Chrome on Android does not use the system level image decoders but ships its own copy of avif, webp, even jpeg and png decoders.
2024-09-15 07:03:35
Yes, that's why androidx.* exists. But as it is developed by Google, I don't think we will see jxl decoder there, so for in-app images jxl would not be an option
CrushedAsian255
2024-09-15 07:04:40
For iOS apps it feels like a no brainer for me, is there any implementation effort or is it just switch the image and call a different decode function ?
_wb_
2024-09-15 07:07:27
Just switch the image, I don't think you even have to call a different decode function
CrushedAsian255
2024-09-15 07:25:58
Is there a reason you need specifically .NET instead of bindings?
Oleksii Matiash
CrushedAsian255 Is there a reason you need specifically .NET instead of bindings?
2024-09-15 07:29:04
Sorry, I deleted my question. But to answer - I believe our BE team would not use it, only native .NET
CrushedAsian255
Oleksii Matiash Sorry, I deleted my question. But to answer - I believe our BE team would not use it, only native .NET
2024-09-15 07:29:51
What’s BE? Also I have a mod that caches messages so I didn’t see it was deleted
Oleksii Matiash
2024-09-15 07:30:08
BE = backend
2024-09-15 07:30:50
Anyway, it is just curiosity, because they also serve that images to site, and there is a Chrome..
CrushedAsian255
2024-09-15 07:31:41
Continue to live Excel
2024-09-15 07:32:02
Text
2024-09-15 07:32:05
Voice typing sucks
2024-09-15 07:32:24
Linking to LibJXL would probably give better performance
VcSaJen
_wb_ Android system level matters less than iOS system level imo, since the tail of old Android versions is much thicker than the tail of old iOS versions. So you cannot really rely on system level stuff very much in Android. This is why e.g. Chrome on Android does not use the system level image decoders but ships its own copy of avif, webp, even jpeg and png decoders.
2024-09-15 03:47:31
Wait, wouldn't timely addition matter more, not less? Because sooner it is added, sooner the 90% support comes. It should have been added years ago.
2024-09-15 03:49:44
It matters less for mayfly formats like webp and avif, because by the time 95% support comes, the format is already discontinued.
spider-mario
2024-09-15 04:19:44
from what I understand, because of the huge heterogeneity, Android apps tend not to rely much on system libraries anyway
2024-09-15 04:20:07
ah, Jon already said that
A homosapien
2024-09-15 04:26:46
Priority #1 is browser support after all
HCrikki
2024-09-15 04:28:35
apps and games rely on webview a lot. a jxl-capable webview (like cromite's?) shipped by default or user-installable could technically extend existing apps without requiring changes in those as long as their sites can or do send jxl to capable clients. browser support wouldnt matter if those domains' content is served exclusively to the apps and inaccessible from browsers
VcSaJen
spider-mario from what I understand, because of the huge heterogeneity, Android apps tend not to rely much on system libraries anyway
2024-09-15 05:15:41
Gallery and camera apps rely on it a lot. Only with awxkee's plugins things are starting to change for Coil and Glide based apps.
AccessViolation_
HCrikki apps and games rely on webview a lot. a jxl-capable webview (like cromite's?) shipped by default or user-installable could technically extend existing apps without requiring changes in those as long as their sites can or do send jxl to capable clients. browser support wouldnt matter if those domains' content is served exclusively to the apps and inaccessible from browsers
2024-09-15 05:24:10
JXL support in Chromium would also extend to Electron though, which means desktop programs that use it as their GUI framework, like Discord, Teams, Slack, and many more, would suddenly find themselves with the ability to display JXLs and this might encourage these platforms to adopt it
RaveSteel
AccessViolation_ JXL support in Chromium would also extend to Electron though, which means desktop programs that use it as their GUI framework, like Discord, Teams, Slack, and many more, would suddenly find themselves with the ability to display JXLs and this might encourage these platforms to adopt it
2024-09-15 05:26:46
Not necessarily, discord does not support AVIF even though chromium/electron do. There are multiple highly upvoted posts on their support forums requesting support
HCrikki
2024-09-15 05:27:06
electron itself or windows' webview2 should do the change, so as to provide a discernable benefit over apps embedding their own chromium webviews
VcSaJen
2024-09-15 05:28:30
webview2 is Edge, right? Or it's pure Blink?
HCrikki
2024-09-15 05:30:32
webview2 is mostly the engine part of edge, now natively integrated witrh windows 10/11 and reused by desktop apps with embedding and store apps
VcSaJen
2024-09-15 05:31:13
Then if Edge adds JPEG XL support, webview2 would support it automatically.
HCrikki
2024-09-15 05:31:43
overnight even, and its running almost all the time - native and store apps and widgets would gain decode too. imo its webview2 that needs to add decode, as edge can be proprietary features exclusive to that browser alone
2024-09-15 05:34:25
store apps are bloated with pngs so thatd help ms get apps more optimized and loading much snappier
AccessViolation_
RaveSteel Not necessarily, discord does not support AVIF even though chromium/electron do. There are multiple highly upvoted posts on their support forums requesting support
2024-09-15 05:34:51
I'm not saying this would make them adopt it without question, but it certainly would make it more appealing, even if the appeal won't be enough for all of them. Consider also that JXL has many more benefits to the platform itself than AVIF, HEIC, and other formats their users have been asking for. I mean, how many files in Discord's CDN right now are PNGs or JPEGs which could be losslessly reencoded (PNG) or losslessly transcoded (JPEG)? Maybe they wouldn't even have to use a separate WebP for image previews (as opposed to the full files you only see when you "view in browser") if they can utilize progressive decoding to only send enough data to render it with sufficient quality for a preview, without storing that as a separate file I know I'm preaching to the choir, but I think there's a lot more incentive than just "we could use this how that Electron supports it"
RaveSteel
AccessViolation_ I'm not saying this would make them adopt it without question, but it certainly would make it more appealing, even if the appeal won't be enough for all of them. Consider also that JXL has many more benefits to the platform itself than AVIF, HEIC, and other formats their users have been asking for. I mean, how many files in Discord's CDN right now are PNGs or JPEGs which could be losslessly reencoded (PNG) or losslessly transcoded (JPEG)? Maybe they wouldn't even have to use a separate WebP for image previews (as opposed to the full files you only see when you "view in browser") if they can utilize progressive decoding to only send enough data to render it with sufficient quality for a preview, without storing that as a separate file I know I'm preaching to the choir, but I think there's a lot more incentive than just "we could use this how that Electron supports it"
2024-09-15 05:36:14
Discord would do so if they were smart, but they are too busy implementing 20 new ways to push users to buying nitro and worsening the platform in other ways
AccessViolation_
2024-09-15 05:37:16
Hah, true
HCrikki
2024-09-15 05:38:12
part of the problem of these platforms is eternal preservation of every trivial comment ever made. in time your costs end bloating so much it pushes you into faustian pacts like with forums
lonjil
2024-09-15 05:39:06
discord finally started supporting webp a while ago
RaveSteel
2024-09-15 05:39:28
Only for still images though
2024-09-15 05:39:37
It loads endlessly for animated ones
2024-09-15 05:39:54
Animated WebP only works correctly for stickers
BabylonAS
2024-09-15 05:40:19
it does?
RaveSteel
2024-09-15 05:40:42
Yes
username
2024-09-15 05:42:02
Discord **purposely** breaks animated WebPs
RaveSteel
2024-09-15 05:42:29
I think at this point it's probably just incompetency
2024-09-15 05:42:46
They used to do it intentionally, same for APNG
username
RaveSteel I think at this point it's probably just incompetency
2024-09-15 05:43:33
most of Discord's problems are however *some* of the image format stuff is deliberate
2024-09-15 05:45:18
Discord has no clue how to strip metadata for WebPs or really do anything else with them *except* force animated ones to not embed (not even showing a still image)
2024-09-15 05:46:35
it seems like they really don't want people bypassing the paid features to the point of forcing GIFs on everyone
AccessViolation_
2024-09-15 05:46:39
So people can less easily get around using sticker packs if they don't have nitro I assume
2024-09-15 05:46:45
Yeah that
2024-09-15 05:47:51
They know people would rather starve than use GIF <:galaxybrain:821831336372338729>
jonnyawsom3
username Discord **purposely** breaks animated WebPs
2024-09-15 05:48:09
Hrmm
2024-09-15 05:48:14
https://github.com/discord/lilliput/pull/103
RaveSteel
username Discord has no clue how to strip metadata for WebPs or really do anything else with them *except* force animated ones to not embed (not even showing a still image)
2024-09-15 05:48:28
Oh, they do embed, they just never load, to the point that at one point the little discord poop appears lol
jonnyawsom3
2024-09-15 05:49:46
But yeah, Discord has supported WebP for years, uses animated WebP and APNG since they added stickers, but disallows either to be uploaded by the user
RaveSteel
2024-09-15 05:50:22
Have a look at this WebP, it will never properly embed
username
2024-09-15 05:50:38
huh
RaveSteel
2024-09-15 05:50:41
No wait, it does, hm. I last tested this 2 months ago
username
2024-09-15 05:50:49
test:
BabylonAS
RaveSteel Have a look at this WebP, it will never properly embed
2024-09-15 05:50:52
It shows, but only the first frame
username
2024-09-15 05:51:04
oh damn finally there are embeds for just the first frame now
RaveSteel
username oh damn finally there are embeds for just the first frame now
2024-09-15 05:51:33
I'm pretty surprised tbh
AccessViolation_
2024-09-15 05:51:52
Boost the server to level 2 to unlock the second frame!
jonnyawsom3
username test:
2024-09-15 05:51:58
Can't belive Nyan Cat would lie to me 😭
Quackdoc
2024-09-15 05:52:03
Never forget, we also had animated WebP and animated PNG pfps too, until Discord decided that would be a great nitro feature.
BabylonAS
2024-09-15 05:52:09
I've just remembered that I tested uploading animated WebPs some time ago - it showed the first frame as well
lonjil
2024-09-15 05:55:01
remember when they added animated emoji but had no size limit on them
2024-09-15 05:55:22
i have the entire bee movie as a 4x3 grid of animated emoji
username
Can't belive Nyan Cat would lie to me 😭
2024-09-15 05:56:03
wel*ll*l it says "Your browser" and you probably wouldn't consider the Discord website as such. though I guess if you use the more broader term of "browser" then you could consider the Discord interface/site as a browser for the current context of the content you are trying to view which in that case would make Nyan Cat tonight's biggest liar
RaveSteel
2024-09-15 05:56:10
Let me test a different WebP
2024-09-15 05:56:10
https://cdn.discordapp.com/attachments/1206620617873563730/1239250157921501316/NF1NvoQ.webp?ex=66e85a25&is=66e708a5&hm=44548e294f0deac99893b64e6356b3237cde0cc710459f5a9985b2ffb1ed66f6&
AccessViolation_
lonjil i have the entire bee movie as a 4x3 grid of animated emoji
2024-09-15 05:56:19
I'm not sure if I have this also because someone turned it into an emoji, but I similarly have one of the entire Shrek movie
RaveSteel
2024-09-15 05:56:45
AccessViolation_
2024-09-15 05:56:48
It's just one 16x16 GIF tho lol
RaveSteel
2024-09-15 05:57:06
Ok, why does this one embed as webp instead of showing
AccessViolation_
2024-09-15 05:57:40
doesn't for me
Quackdoc
2024-09-15 05:57:46
discord failed to generate a preview
2024-09-15 05:58:17
discord never embeds the actual image itself, but rather their own encoded preview of it
AccessViolation_
2024-09-15 05:58:19
no nvm I get what you mean
RaveSteel
2024-09-15 05:58:23
On a different server it looked like this, last time I tried
AccessViolation_
2024-09-15 05:58:56
ah yes, AVIF generation loss
_wb_
HCrikki part of the problem of these platforms is eternal preservation of every trivial comment ever made. in time your costs end bloating so much it pushes you into faustian pacts like with forums
2024-09-15 05:59:51
I kind of like having the ability to go back to stuff from years ago. E.g. you can get the entire history of jxl art in <#824000991891554375> which I think is quite cool. I wonder if I should somehow try to make a backup of this server, in case discord some day decides that it will start deleting old messages unless you pay them.
Quackdoc
2024-09-15 05:59:54
note I actually did get https://github.com/Knewest/embed-more-images working with a patched chromium to get jxl to embed in discord
username
RaveSteel On a different server it looked like this, last time I tried
2024-09-15 06:00:10
https://evanw.github.io/thumbhash/
Quackdoc
2024-09-15 06:01:26
this is how dissent treats images without generated embeds lol
2024-09-15 06:01:38
if you click it, it does open though
RaveSteel
username https://evanw.github.io/thumbhash/
2024-09-15 06:01:59
It never loaded though. It tried to, until discord just gave up and displayed the disocrd poop (it feels really stupid to write this)
jonnyawsom3
_wb_ I kind of like having the ability to go back to stuff from years ago. E.g. you can get the entire history of jxl art in <#824000991891554375> which I think is quite cool. I wonder if I should somehow try to make a backup of this server, in case discord some day decides that it will start deleting old messages unless you pay them.
2024-09-15 06:13:28
This is what I used to use, exports to HTML for instant readability, or JSON for all the data to be used with something like this <https://github.com/slatinsky/DiscordChatExporter-frontend> (Doesn't use any compression on the database though so size is huge...) https://github.com/Tyrrrz/DiscordChatExporter
2024-09-15 06:14:04
Can download assets and reuse them across channels too
username
2024-09-15 06:14:04
slow typing fails me again 😔
jonnyawsom3
2024-09-15 06:14:26
Message so long the background color changed
2024-09-15 06:15:37
I also realised with a JXL supported browser, I can just JXL encode a telegram export with the same filenames and sniffing figures the rest out for minimal effort
username
This is what I used to use, exports to HTML for instant readability, or JSON for all the data to be used with something like this <https://github.com/slatinsky/DiscordChatExporter-frontend> (Doesn't use any compression on the database though so size is huge...) https://github.com/Tyrrrz/DiscordChatExporter
2024-09-15 06:17:20
HTML export is not a good idea (I have used it before and the issues that arise from trying to view them are awful). JSON is definitely the way to go, along with asset downloading (plus reuse) and also turning off "Format markdown" since the frontend program recommends doing so
jonnyawsom3
2024-09-15 06:18:30
The HTML works if you partition based on the amount of content in the channel, but it is more work to avoid the gigabyte overhead of the frontend
2024-09-15 06:19:02
Plus I can view it on my phone or anything with a browser then
username
2024-09-15 06:20:53
for long term storage the JSON output is definitely the way to go as it can be converted to some HTML version at a later point. although I haven't really seen any software that lets you do the useful things that are very much possible with the JSON output sadly
jonnyawsom3
2024-09-15 06:21:42
Yeah, for power users naturally JSON is the way to go, for just ease of use and compatibility I've always gone with HTML
username
2024-09-15 06:22:56
there should really be something that allows you to convert the JSON output to other formats like HTML
2024-09-15 06:24:03
because the HTML output has personally caused me problems in the past that I'm not sure I would want to remember
jonnyawsom3
2024-09-15 06:25:40
I'm just glad they added a download assets option... That poor poor browser trying to download 5K embeds at once....
A homosapien
2024-09-17 12:08:53
I just did a backup. What a pleasant surprise, it's 15.3 GB. I thought it would take up much more space. <:Stonks:806137886726553651>
jonnyawsom3
2024-09-17 12:09:20
Now time to re-encode as JXL
CrushedAsian255
2024-09-17 12:33:38
I personally just expose to HTML but should probably get to using JSON
A homosapien I just did a backup. What a pleasant surprise, it's 15.3 GB. I thought it would take up much more space. <:Stonks:806137886726553651>
2024-09-17 12:33:50
Did you also include threads?
2024-09-17 12:33:58
Mine download to 21 gb
A homosapien
2024-09-17 12:43:08
Threads included
2024-09-17 12:43:13
I used JSON instead of HTML
CrushedAsian255
2024-09-17 12:54:37
That may be why
jonnyawsom3
2024-09-17 03:33:25
So, the wording has been changed to not explicitly mention the Chrome removal, but I still feel like Apple should be mentioned too. Maybe a clarification of the different teams at Google but I'm not sure https://en.wikipedia.org/wiki/JPEG_XL#Industry_support_and_adoption
CrushedAsian255
2024-09-18 08:01:00
Argh hyphens everywhere https://9to5mac.com/2024/09/13/iphone-16-pro-lets-users-capture-proraw-photos-in-jpeg-xl-format/
yoochan
2024-09-18 08:37:43
JPEG Lossless ?! for HDR content ?!! I missed someting
CrushedAsian255
yoochan JPEG Lossless ?! for HDR content ?!! I missed someting
2024-09-18 08:41:19
For RAW format
2024-09-18 08:41:26
Not for delivery
Meow
CrushedAsian255 Argh hyphens everywhere https://9to5mac.com/2024/09/13/iphone-16-pro-lets-users-capture-proraw-photos-in-jpeg-xl-format/
2024-09-18 09:54:13
The codes from iOS 18 itself use JPEG-XL
2024-09-18 09:57:48
So its usage is promoted by our beloved Apple
_wb_
2024-09-18 10:03:36
The DNG 1.7 spec (https://helpx.adobe.com/content/dam/help/en/photoshop/pdf/DNG_Spec_1_7_1_0.pdf) does get it right, with a space and no dash.
2024-09-18 10:04:09
But I guess marketing people and journalists somehow think there should be a dash there
Meow
2024-09-18 10:08:51
Apple believes people should use USB 4 instead of USB4 so the same logic is applied to JPEG XL as well
yoochan
2024-09-18 11:07:56
if a dash is the last problem we have with its adoption... it is a small one
_wb_
2024-09-18 11:15:17
Chrome can call it JPEG——~~~××ו••XL if they want, if that's what it takes to get them to support it 😆
2024-09-18 11:20:32
https://youtu.be/aj9FlmWg7y0?si=EuZySpSikYdVHqVH
Meow
2024-09-18 11:23:00
JPEG一XL
2024-09-18 11:25:26
That's the character for "one"
jonnyawsom3
2024-09-18 11:39:12
Maybe not the best thumbnail haha
AccessViolation_
2024-09-18 11:40:12
They read "JPEG XL" from the title, "75 MB each" from the thumbnail and go "no thanks I don't need these Extra Large JPEGs"
CrushedAsian255
Meow That's the character for "one"
2024-09-18 11:42:42
JPEG二千
_wb_ Chrome can call it JPEG——~~~××ו••XL if they want, if that's what it takes to get them to support it 😆
2024-09-18 11:43:10
JPEG :-:/-:,@]*}+~€]{€~£ XL
2024-09-18 11:47:05
> only coming to the Pro lineup Someone please make an app to convert them when you don’t have 16 pro
Meow
2024-09-18 11:52:48
There are some apps already
CrushedAsian255
2024-09-18 11:56:37
Is this one good? https://apps.apple.com/au/app/jpeg-xl-toolbox/id6470681357
jonnyawsom3
CrushedAsian255 > only coming to the Pro lineup Someone please make an app to convert them when you don’t have 16 pro
2024-09-18 12:00:51
https://tinydng.com/
2024-09-18 12:01:02
Don't even need to download anything
lonjil
CrushedAsian255 > only coming to the Pro lineup Someone please make an app to convert them when you don’t have 16 pro
2024-09-18 12:03:21
traditionally, only Pro models allow you to shoot in ProRaw, so JXL being used for ProRaw obvously doesn't apply to non-Pro models.
CrushedAsian255
2024-09-18 12:03:53
I meant I have a 14 Pro Max and the rumours say it’s only for the 16s
lonjil
2024-09-18 12:04:06
oooh right
CrushedAsian255
lonjil traditionally, only Pro models allow you to shoot in ProRaw, so JXL being used for ProRaw obvously doesn't apply to non-Pro models.
2024-09-18 12:04:14
I got that part, but other rumours say 16P +
2024-09-18 12:04:22
Also I’m on 18 RC and there is no JXL
Meow
CrushedAsian255 Is this one good? https://apps.apple.com/au/app/jpeg-xl-toolbox/id6470681357
2024-09-18 12:05:13
Good enough and I got the chance to have free Pro
2024-09-18 12:05:31
Although I have no device that can produce ProRAW
CrushedAsian255
2024-09-18 12:05:35
Pro? It’s a free app?
Meow
2024-09-18 12:06:38
Uh it used to be have a Pro option
2024-09-18 12:08:09
Then it's currently the one choice
2024-09-18 12:09:18
That supports Dark Mode and multiple languages as well, and optimises for the landscape mode too
CrushedAsian255
2024-09-18 12:42:54
ARGHHH
2024-09-18 12:43:06