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

other-codecs

DZgas Ж
Quackdoc current av1 encoders are super inconsistent at faster speeds they can usually do better then h264 but sometimes just flop so hard the video looks intentionally censored
2025-09-27 04:48:49
It's true, it's best not to use, for example, SVT-AV1 at speeds higher than 7-8. If possible, it's better to use vp9-hevc at the same encoding speeds if we're talking about fast encoding. But if the choice is between AV1 and AVC, there's no reason to use AVC for 1080p.
jonnyawsom3
Kupitman You can share direct link in discord
2025-09-27 04:50:39
I can't share a link to a video that hasn't been uploaded
DZgas Ж
cioute so if fastest av1 gives better results than slowest h264, then it is cool?
2025-09-27 04:50:52
This is only true if you only have a choice between AV1 and AVC (svt-av1 and x264)
2025-09-27 04:54:32
HEVC and VP9 can be better than x264 and AV1 at the same time when it comes to encoding time, decoding time, and compatibility.
monad
I can't share a link to a video that hasn't been uploaded
2025-09-27 04:56:04
just open a port on your PC
jonnyawsom3
2025-09-27 05:16:23
file:///C:/Users/Admin/Downloads/Shrek.mp4
Quackdoc
DZgas Ж It's true, it's best not to use, for example, SVT-AV1 at speeds higher than 7-8. If possible, it's better to use vp9-hevc at the same encoding speeds if we're talking about fast encoding. But if the choice is between AV1 and AVC, there's no reason to use AVC for 1080p.
2025-09-27 06:26:47
hopefully svtav1 will get better performance at the higher speeds, but I'm not holding hope, we've pretty good tho
A homosapien
file:///C:/Users/Admin/Downloads/Shrek.mp4
2025-09-27 06:30:20
https://tenor.com/view/shrek-islr-movie-flash-gif-17838423
cioute
DZgas Ж HEVC and VP9 can be better than x264 and AV1 at the same time when it comes to encoding time, decoding time, and compatibility.
2025-09-27 06:48:26
ok
Exorcist
cioute so if fastest av1 gives better results than slowest h264, then it is cool?
2025-09-27 07:53:06
NO
2025-09-27 07:54:13
EVERY compression improvement needs more computation
2025-09-27 07:54:34
If you limit computation to same, they become same compression
NovaZone
Adrian The Frog https://www.mdpi.com/2079-9292/13/5/953 It's basically always h264 < h265 < av1 < h266
2025-09-27 08:50:51
i never believe metrics on an ever evolving codec, especially when they don't state the versions used
cioute
Exorcist NO
2025-09-27 09:02:15
ok
lonjil
2025-09-27 09:45:52
hi10 is the only thing anyone could ever need for lossy video
jonnyawsom3
Exorcist If you limit computation to same, they become same compression
2025-09-27 10:00:52
If you mean for videos, maybe? But in general no, that's absolutely nonsense. More efficient techniques are inevitable
cioute
lonjil hi10 is the only thing anyone could ever need for lossy video
2025-09-27 10:29:14
hi10?
lonjil
2025-09-27 10:32:35
10 bit high profile AVC (preferably encoded with x264)
Adrian The Frog
Exorcist EVERY compression improvement needs more computation
2025-09-27 10:57:09
No? Some compression formats are just more efficient with their computation than others Like 80% of compression formats offer different levels of computation time anyways
BlueSwordM
diskorduser How did you know about this fact
2025-09-28 12:15:29
I made this fact real <:BlobYay:806132268186861619>
monad
2025-09-28 04:45:33
To me av1 is Windows and autistic thing
cioute
lonjil 10 bit high profile AVC (preferably encoded with x264)
2025-09-28 07:25:35
convert from yuv420p to yuv420p10le has sense?
NovaZone
2025-09-28 07:52:07
tldr: 10-bit is always the correct choice xD
2025-09-28 07:59:57
if "higher cycle overhead and memory bandwidth" are a legit concern use tiles, fast-decode, progressive, whatever. 10-bit solves way more than the drawbacks of lowering decode complexity
lonjil
cioute convert from yuv420p to yuv420p10le has sense?
2025-09-28 09:11:11
Yes, even with 8 bit input, using video codecs in 8 bit mode results in a lot of rounding errors which reduce quality. Using 10 bit improves quality even at the same bitrate.
cioute
2025-09-28 09:15:07
magic
Kupitman
DZgas Ж HEVC and VP9 can be better than x264 and AV1 at the same time when it comes to encoding time, decoding time, and compatibility.
2025-09-28 09:36:17
No
DZgas Ж
Kupitman No
2025-09-28 11:44:52
🥱
Kupitman
DZgas Ж 🥱
2025-09-28 12:20:47
<:AV1:805851461774475316> <:AV1:805851461774475316> <:AV1:805851461774475316> <:AV1:805851461774475316> <:AV1:805851461774475316> <:AV1:805851461774475316> <:AV1:805851461774475316> <:AV1:805851461774475316>
Exorcist
2025-09-28 12:22:31
<:H264_AVC:805854162079842314> <:Hypers:808826266060193874>
Kupitman
Exorcist <:H264_AVC:805854162079842314> <:Hypers:808826266060193874>
2025-09-28 12:25:38
Never
2025-09-28 12:25:49
Blocking shit
2025-09-28 12:26:22
AV1 new standard
2025-09-28 12:26:35
Fully free
Exorcist
2025-09-28 12:29:31
Kupitman
2025-09-28 12:29:57
What
2025-09-28 12:30:04
Why you delete
Exorcist
Exorcist Now there is the dead end of DCT-based codec No substantial new thing, "more big block, more prediction angle, vary DCT to DST, more context for arithmetic coding..."
2025-09-28 12:30:30
I feel tired that new codec have no substantial new thing
2025-09-28 12:32:03
H264 is the turning point
Kupitman
Exorcist I feel tired that new codec have no substantial new thing
2025-09-28 12:55:39
Av1 have
2025-09-28 12:55:59
Much math
Jyrki Alakuijala
Exorcist Now there is the dead end of DCT-based codec No substantial new thing, "more big block, more prediction angle, vary DCT to DST, more context for arithmetic coding..."
2025-09-28 05:00:01
There is (at least) one important path that is still to be explored. Using gradient search to find textures with large DCTs, but having them alpha blended into smaller DCTs that will hold the geometric detail (which would otherwise ring in the large DCTs). Think of having a 8x8/8x16 optional alpha blended layer on top of 256x256 DCTs. The 256x256 can create beautiful textures with relatively few parameters, but rings -- the smaller DCTs can take the responsibility to get those parts described.
jonnyawsom3
2025-09-28 08:07:51
Could it be done using the coding tools in JXL? Though it may require encoding in 2 layers
veluca
2025-09-28 09:24:53
Yeah some variation of that can be done
LMP88959
Exorcist
2025-09-29 12:15:18
Check out dsv2 ;)
Exorcist
LMP88959 Check out dsv2 ;)
2025-09-29 12:42:57
No arithmetic coding? <:YEP:808828808127971399>
LMP88959
2025-09-29 12:44:37
Of course not <:KekDog:805390049033191445> it is very simple in general
Exorcist
2025-09-29 12:57:07
the best part of JPEG 2000 is entropy coding: arrange wavelet coefficient to bit-plane, coefficient prediction as context model for binary arithmetic coding You miss this
LMP88959
2025-09-29 11:50:45
Yes that is certainly the most interesting part but it is not only slow but complicated as well
2025-09-29 11:51:22
Not saying dsv is even comparable to j2k im just saying it’s also a wavelet codec haha
dogelition
2025-09-30 07:37:05
anyone have a clue what the `hdgm` icc tag contains? seems to be related to gain maps on apple hdr screenshots but i can't find anything on it is it part of some new standard or fully proprietary?
DZgas Ж
2025-09-30 09:46:34
svt-av1 3.1.0 — Overall, it's excellent; a lot of the things I didn't like a year ago have been fixed. So my svt-av1_fork has almost no purpose left, except for the gameplay compress, which is the only thing I see as an mine advantage for now (I hope in a year this will be gone)
2025-09-30 09:49:53
I looked in the source code, and the "block overlap" (wm_level) setting is still there at "preset 1". So if you're encoding something for a very long time, I recommend using preset 2 as maximum, since with preset 1 and lower, the DEcoding speed will be approximately 2-3 times slower, which can be critical for smartphones even with hardware support for AV1 <:AV1:805851461774475316>
2025-09-30 10:16:02
monad
2025-09-30 11:32:59
anyone else think jpegli decode is a bit blurry? I guessed it would have less filtering than djxl and be more accurate for high-quality jpeg, but seems not
DZgas Ж
monad anyone else think jpegli decode is a bit blurry? I guessed it would have less filtering than djxl and be more accurate for high-quality jpeg, but seems not
2025-09-30 11:38:33
I find jpegli disgusting <:PepeOK:805388754545934396>
monad
2025-09-30 11:39:03
I trust you
DZgas Ж
DZgas Ж I wanted to make a small yuv420 comparison webp jpegli mozjpeg but already on the first picture it is absolutely obvious that all these tests do not make sense, webp is completely better than jpeg in any implementation. With identical file size ``` webp -q 58 -m 6 -af -sharp_yuv mozjpeg -baseline -notrellis -sample 2x2 -quality 33 -tune-psnr -quant-table 1 cjpegli --noadaptive_quantization --chroma_subsampling=420 -p 0 -d 3 ``` all files out 28 KB Original | jpegli | mozjpeg | webp
2025-09-30 11:39:45
Here
2025-09-30 11:44:57
It's funny, I've never save images smart now. Any content is already a saved image. If I make edits to it, it's most likely a PNG that will then be recompressed to JPEG or WebP on one of the sites. And if we're talking about places where the uploaded files are the original files, why use JPEG at all? If you need compression, there's WebP, but if you don't, who cares if your PNG is 100 KB or 900 KB?
monad
2025-09-30 11:44:58
I am only looking at decode in this case
DZgas Ж
monad I am only looking at decode in this case
2025-09-30 11:48:39
Sometimes I save a huge image, and the only codec that decodes the fastest is Baseline JPEG. I use a very specific key that perfectly save all the lines and details, with very few artifacts. mozjpeg-v4.1.1-win-x64\shared\Release\cjpeg.exe -baseline -notrellis -sample 2x2 -quality 70 -tune-psnr -quant-table 1 input.png > output.jpg
2025-09-30 11:52:29
More quality mozjpeg-v4.1.1-win-x64\shared\Release\cjpeg.exe -baseline -notrellis -sample 1x1 -quality 90 -tune-psnr -quant-table 1 IN.png > OUT.jpg
2025-09-30 11:53:47
In 2025, this is the fastest way to decode an image, with near-perfect quality. It can't get any faster (for lossy)
monad
2025-10-01 12:01:37
I have the JPEGs from an old camera. Using `cjxl in.jpg - | djxl - out.png` gives the most accurate decode as far as I can see.
DZgas Ж
monad I have the JPEGs from an old camera. Using `cjxl in.jpg - | djxl - out.png` gives the most accurate decode as far as I can see.
2025-10-01 12:04:18
So, transcode to JXL is loseless
monad
2025-10-01 12:04:52
Yes, it is just a path to libjxl's decoder.
DZgas Ж
2025-10-01 12:05:56
Then I didn't quite understand what jpegli had to do with it if it was just a jpeg encoder.
monad
2025-10-01 12:06:44
I compared djpegli on the same JPEG source, and the output was too blurry to my eyes.
DZgas Ж
2025-10-01 12:08:33
Well, it seems to me that you wanted some kind of magic. Maybe use the SCUNET-GAN neural
2025-10-01 12:09:17
monad
2025-10-01 12:13:50
Maybe it will give me an image better than the camera sensor could capture. =P
2025-10-01 12:33:03
A homosapien
2025-10-01 01:53:18
I also agree, jpegli's decode is too blurry for me
jonnyawsom3
2025-10-01 03:06:12
Yeah, jpegli decoding gets softened slightly by something in the pipeline
cioute
2025-10-01 02:10:50
jpegli? what is it? we have jpegxl
jonnyawsom3
2025-10-01 02:36:06
Classic JPEG with the knowledge of JPEG XL
cioute
2025-10-01 02:41:50
you mean it don't remove compatability with default jpeg?
jonnyawsom3
2025-10-01 02:45:47
It is default JPEG, but with a fancy encoder
HCrikki
2025-10-01 02:53:10
a new JPG encoder+decoder thats more efficient than mozjpeg, created by one of the jpegxl authors and a main contributor to libjxl. fully compliant with libjpeg6.2 (the JPG profile level that became the defacto standard since 2000) and optionally libjpeg8.0 designed to seamlessly replace your current JPG library by just swapping dlls
cioute
2025-10-01 02:53:50
alright cool, but it is still jpeg
HCrikki
2025-10-01 02:56:54
its still important for JXL. if you planned to keep using JPG for however long you need, you get nicer looking JPGs that you can eventually convert to reversible jxls that will then look better than if you initially generated them using a low quality or ancient JPG library
Meow
2025-10-02 02:06:43
Tip: a lot of -li projects related to compression are done by the same team
2025-10-02 02:08:48
Guetzli also encodes like Jpegli but is much slower
monad
2025-10-02 05:41:51
named by Jyrkli
Meow
2025-10-02 05:43:38
meaning small Jyrki
TheBigBadBoy - 𝙸𝚛
Meow Guetzli also encodes like Jpegli but is much slower
2025-10-02 09:36:45
much slower, and from my tests, not even beaten jpegli
jonnyawsom3
2025-10-02 01:33:10
Well that's because it was jpegli's precursor
TheBigBadBoy - 𝙸𝚛
2025-10-06 11:41:36
https://discord.com/channels/794206087879852103/794206087879852107/1329992045116264519
2025-10-06 11:42:29
I can't see this message smh asks me to join the vocal channel, but cannot see a text channel in it...
2025-10-06 11:42:46
I managed to see the message from Discord search
jonnyawsom3
2025-10-06 11:43:18
For other people
TheBigBadBoy - 𝙸𝚛 https://discord.com/channels/794206087879852103/794206087879852107/1329992045116264519
2025-10-06 11:43:27
But what about it?
TheBigBadBoy - 𝙸𝚛
2025-10-06 11:44:06
I was searching here a comparison between pingo and ECT
jonnyawsom3
2025-10-06 11:51:54
Ahh
TheBigBadBoy - 𝙸𝚛
2025-10-06 11:53:32
from what I saw, read and tested seems like pingo is faster, and is far better with alpha ECT on the other hand beats pingo with appropriate settings when there's no alpha, but can be quite slow
2025-10-06 11:54:00
I just hate that pingo's default is lossy compression [⠀](https://cdn.discordapp.com/emojis/939666933119324222.webp?size=48&name=whatisthis%7E1)
lonjil
2025-10-06 04:42:04
Does anyone know if there are tools that can estimate what level of quality loss a JPEG has from the unknown original?
Exorcist
2025-10-06 04:43:05
check quantization step?
lonjil
2025-10-06 05:39:37
Alright, apparently ImageMagick can estimate a libjpeg quality number from the quantization tables. It says 92, so I'm reasonably happy.
monad
TheBigBadBoy - 𝙸𝚛 I just hate that pingo's default is lossy compression [⠀](https://cdn.discordapp.com/emojis/939666933119324222.webp?size=48&name=whatisthis%7E1)
2025-10-06 06:10:08
And there is no way around conversion to 8bpc, last I saw.
Mine18
2025-10-08 11:14:42
https://youtu.be/yT6cKgZI8n0?si=Ucb3nsOed7hmltwd
cioute
2025-10-08 02:14:51
av2? huh? even av1 is still not so popular, they already do av2?
HCrikki
2025-10-08 02:21:06
popularity is forced. they couldve called the codec 'youtflix video' since its mostly used for web services to serve their own apps/browsers av1 videos, as bitrate-starved as possible
2025-10-08 02:23:49
hevc is still king for longterm support and non-low bitrates make it undesirable to adopt aom's [fad of current year], especially for tv broadcasts, disc media and good cameras
Quackdoc
cioute av2? huh? even av1 is still not so popular, they already do av2?
2025-10-08 02:23:50
how is it not popular?
2025-10-08 02:23:57
I see it everywhere
_wb_
2025-10-08 02:43:56
I guess AV2 will be the royalty-free counterpart to MPEG's VVC, trying to keep up in terms of compression performance with the patent-encumbered codecs...
Mine18
cioute av2? huh? even av1 is still not so popular, they already do av2?
2025-10-08 02:44:55
popularity isnt a reason for a new standard to not be developed, and while you might think av1 isnt that popular there are likely many services which provide it which we dont know about
_wb_
2025-10-08 02:45:17
In video codecs this pace of new codecs is quite normal — which is also why it's a bad idea imo to turn video codecs into image formats, since they tend to be outdated before they're really adopted
Mine18
2025-10-08 02:46:16
in the case of AVIF, IQ Tune has significantly improved its quality so its now a competitive format
Quackdoc
_wb_ I guess AV2 will be the royalty-free counterpart to MPEG's VVC, trying to keep up in terms of compression performance with the patent-encumbered codecs...
2025-10-08 02:50:12
hard to say, I probably won't be adopting av2 in any of my stuff unless they make it api compatible with aomenc and dav1d lol
dogelition
Mine18 https://youtu.be/yT6cKgZI8n0?si=Ucb3nsOed7hmltwd
2025-10-08 02:56:51
removed video but i can still watch it on the android app, though likes and comments etc. don't load
2025-10-08 02:56:52
weird
2025-10-08 03:00:07
i can also watch it in the tor browser now
Mine18
dogelition removed video but i can still watch it on the android app, though likes and comments etc. don't load
2025-10-08 03:00:54
i saved the slides if you want those
dogelition
2025-10-08 03:01:46
if it's a public link sure, not sure about reuploading
Mine18
2025-10-08 03:02:01
no i screenshotted the slides
dogelition
2025-10-08 03:02:06
oh
2025-10-08 03:02:12
well for now it seems to play fine in tor
cioute
2025-10-08 07:09:48
i would like to see h264xl (h264, just better) jpegxl (jpeg, just better)
2025-10-08 07:10:56
i give you a permission to patent this as an advertising slogan
AccessViolation_
2025-10-08 07:30:49
so H.265? <:KekDog:805390049033191445>
2025-10-08 07:31:41
I actually assumed MPEG and JPEG were part of the same consortium or similar in other ways because the acronyms are similar, but I have no idea if that's true now that I think about it
Quackdoc
2025-10-08 07:43:23
av1 is vp9xl
lonjil
2025-10-08 08:06:13
Let's invent a version of h264 that uses fp32 for maximum precision.
juliobbv
2025-10-08 08:43:20
https://www.youtube.com/watch?v=Se8E_SUlU3w
2025-10-08 08:44:04
this one seems to work
_wb_ In video codecs this pace of new codecs is quite normal — which is also why it's a bad idea imo to turn video codecs into image formats, since they tend to be outdated before they're really adopted
2025-10-08 08:49:55
Well, what does it mean for a format to be *outdated*, really? It'll still be several years before AV2 can even become mainstream (due to a need for production-grade encoders and decoders), let alone have companies use AV2 in their products. Also, we aren't even sure if there will be a still image format for AV2, so AVIF will remain a valid option in the future as it is right now.
2025-10-08 08:56:14
Also, the fast-release cadence for traditional codecs is over. There's a 7 year difference between AV1 and AV2, and I bet it's not going to get any faster.
Quackdoc
2025-10-08 10:15:27
I mean, for images it should last a decade or two at least IMO
cioute
2025-10-08 10:15:29
ok, but which difference between av1/2?
Mine18
cioute ok, but which difference between av1/2?
2025-10-08 10:18:57
a lot of technical differences, what's most relevant is that it has 30% bitrate savings over av1, better deblocking filter, improved hardware decoder which should lead to more adoption, has features meant for multi streams and vr/ar
afed
Quackdoc I mean, for images it should last a decade or two at least IMO
2025-10-08 10:24:43
and also because image formats are mostly intended for sw decoding, so as soon as support is available in chromium, it's already very widely supported while for video formats hw support is basically mandatory for mass adoption
cioute
Mine18 a lot of technical differences, what's most relevant is that it has 30% bitrate savings over av1, better deblocking filter, improved hardware decoder which should lead to more adoption, has features meant for multi streams and vr/ar
2025-10-08 10:27:43
and compatability with av1 decoders?
afed
2025-10-08 10:28:32
no
Quackdoc
afed and also because image formats are mostly intended for sw decoding, so as soon as support is available in chromium, it's already very widely supported while for video formats hw support is basically mandatory for mass adoption
2025-10-08 10:30:45
swsec perf and efficency is super important on low end hardware too
juliobbv
Quackdoc I mean, for images it should last a decade or two at least IMO
2025-10-08 10:30:54
but AV1 isn't going away any time though, and I reiterate that we don't know whether there's any interest to create a still image format from AV2, so its "shelf life" is potentially even longer than 7 years
Quackdoc
juliobbv but AV1 isn't going away any time though, and I reiterate that we don't know whether there's any interest to create a still image format from AV2, so its "shelf life" is potentially even longer than 7 years
2025-10-08 10:31:26
I have no interest in av2 for my stuff anyways lel
afed
Quackdoc swsec perf and efficency is super important on low end hardware too
2025-10-08 10:31:31
yeah, but still not the same as for video
lonjil
Mine18 a lot of technical differences, what's most relevant is that it has 30% bitrate savings over av1, better deblocking filter, improved hardware decoder which should lead to more adoption, has features meant for multi streams and vr/ar
2025-10-08 10:35:33
At what quality was the 30% number measured?
afed
Quackdoc swsec perf and efficency is super important on low end hardware too
2025-10-08 10:39:56
except that as soon as youtube added avif for images and previews on youtube, on one of my old systems it became almost unusable if I opened more than one tab, because it consumes a lot of memory and cpu <:kekw:808717074305122316> although before it was fine even for like 20-30 tabs
Quackdoc
afed except that as soon as youtube added avif for images and previews on youtube, on one of my old systems it became almost unusable if I opened more than one tab, because it consumes a lot of memory and cpu <:kekw:808717074305122316> although before it was fine even for like 20-30 tabs
2025-10-08 10:47:24
this is why I think avif is a fail
afed
2025-10-08 10:51:57
though perhaps it's not just avif, but other UI updates and heavier scripts and other stuff and it's quite an old system, but still pretty noticeable how youtube has become much slower even though before it was perfectly fine on the same config
juliobbv
lonjil At what quality was the 30% number measured?
2025-10-08 11:43:26
this might be worth a watch: https://www.youtube.com/watch?v=f0ivgL8vu9w
2025-10-08 11:43:43
but they measured PSNR, SSIM and VMAF against the AOM CTC test set
2025-10-08 11:44:15
efficiency improvements range from 27 to 32%
2025-10-08 11:44:42
Google also performed a subjective evaluation, and MOS improvement was larger (up to 38%)
2025-10-09 12:09:51
Adrian The Frog
2025-10-09 12:20:59
I think this means it would be about 23% better on still images?
juliobbv
2025-10-09 12:22:17
that'd be for all-intra video
2025-10-09 12:22:25
there's another slide for still images
Adrian The Frog
2025-10-09 12:28:08
intra frames still predict from each other? if so i don't really understand why there's a distinction between the types
LMP88959
2025-10-09 12:29:24
Tuning for still images is generally different
Adrian The Frog
2025-10-09 12:29:43
i guess this is the still image
2025-10-09 12:30:37
not insanely huge gain but still significant
Quackdoc
afed though perhaps it's not just avif, but other UI updates and heavier scripts and other stuff and it's quite an old system, but still pretty noticeable how youtube has become much slower even though before it was perfectly fine on the same config
2025-10-09 01:09:49
on low end phones, a stream of avif is way harder to to decode then a stream of jxl files on battery life, this can easily be testing with a gallery app, manga app, or a browser
2025-10-09 01:13:49
well, if I were to really quantify it, I would say that avif is about as hard to decode as some nasty modular jxl files
_wb_
AccessViolation_ I actually assumed MPEG and JPEG were part of the same consortium or similar in other ways because the acronyms are similar, but I have no idea if that's true now that I think about it
2025-10-09 07:12:19
JPEG is WG1 of SC29, MPEG is basically all the other working groups of SC29. So both are part of the same subcommittee (SC29) of JTC1 of ISO and IEC. Occassionally there are collocated JPEG+MPEG meetings, i.e. both have meetings in the same venue. But usually the meetings are separate. JPEG is a way smaller committee than MPEG, by about an order of magnitude in terms of number of people, so while JPEG often meets in relatively small venues like universities or research institutes, MPEG always requires a big conference center.
juliobbv Well, what does it mean for a format to be *outdated*, really? It'll still be several years before AV2 can even become mainstream (due to a need for production-grade encoders and decoders), let alone have companies use AV2 in their products. Also, we aren't even sure if there will be a still image format for AV2, so AVIF will remain a valid option in the future as it is right now.
2025-10-09 07:32:17
What I mean by a format being outdated is not really that a newer one exists with better compression (this can happen quite easily), but it's more about ecosystem and format features. E.g. I consider lossy WebP outdated not just because VP8 was succeeded by VP9, VP10/AV1, and now AV2, but mostly because it is limited to tv-range 8-bit yuv (not enough precision for current display technology) and has image dimension limitations that are real limitations for current use cases. Video codecs tend to have profiles and levels with relatively strict limitations on precision and dimensions, limitations that are mostly guided by the needs of the present but cannot really afford to consider the potential needs of the future because there's a need to keep hardware implementations commercially feasible. E.g. for video, even for production workflows, typically 12-bit precision would be considered sufficient, so video codecs generally won't support more than that (or they do, but only in some high profile that nobody actually implements). But for still images, even in just "prosumer" use cases, having more precision available (during production) is desirable.
juliobbv but they measured PSNR, SSIM and VMAF against the AOM CTC test set
2025-10-09 07:42:26
I don't trust those metrics at all, and aggregation using BD-rate is problematic too imo. I get the desire to use objective metrics (it's convenient to get some numbers, way faster and cheaper than doing subjective experiments) but I think video codec devs and especially AOM have been relying on just objective metrics way too much. It's the same in MPEG where they create these PSNR monsters that beat anything else on PSNR but it all looks like a disgusting smooth plastic mess.
Exorcist
2025-10-09 07:44:33
2025-10-09 07:45:16
5 FILTERS, FEEL IT <:FeelsAmazingMan:808826295768449054>
veluca
Adrian The Frog i guess this is the still image
2025-10-09 08:15:07
I wouldn't necessarily trust YUV PSNR or VMAF-Y to say anything sensible at all on image (and I am going to bet most of those gains are in the very low bitrate area)
_wb_
2025-10-09 08:23:42
PSNR is a reasonable metric for the high bitrate region (say, PSNR>45), where fidelity and per-pixel numerical accuracy are more or less the same things. But at low bitrates, there is very little correlation between PSNR and actual image quality.
2025-10-09 08:26:26
As for VMAF, it's not a fidelity metric but an appeal estimator, which makes it basically unsuitable to use for codec evaluation/development since it is very easy to cheat it: just sharpen the image or stretch the contrast a bit (either as preprocessing or implicitly by making different choices in the encoder) and you can get huge improvements according to VMAF.
jonnyawsom3
2025-10-09 01:52:34
There's certainly improvements that have me impressed, but a lot that causes me concern too. At this point showing PSNR is a sign you don't know what you're doing, or want to trick results into looking good. The fact HW decoders were the only ones mentioned then entire presentation doesn't give me high hopes for any legacy systems, seeing as I already struggle with some AV1 streams on my desktop yet alone my phone. All test conditions were 4:2:0, so any high quality or synthetic content is likely to be quite poor
dogelition
juliobbv Google also performed a subjective evaluation, and MOS improvement was larger (up to 38%)
2025-10-09 02:24:12
undershot their target then <https://youtu.be/bCwjTVJ3F3w?t=1064>
juliobbv
_wb_ I don't trust those metrics at all, and aggregation using BD-rate is problematic too imo. I get the desire to use objective metrics (it's convenient to get some numbers, way faster and cheaper than doing subjective experiments) but I think video codec devs and especially AOM have been relying on just objective metrics way too much. It's the same in MPEG where they create these PSNR monsters that beat anything else on PSNR but it all looks like a disgusting smooth plastic mess.
2025-10-09 04:00:44
I agree with what you said, but the presenters also showed a preliminary subjective test result MOS section, and the codec performs even better than what PSNR/SSIM/VMAF report, so there was some care to not over-optimize on the chosen metrics
2025-10-09 04:01:00
we do need a third-party test though
_wb_
2025-10-09 04:09:15
are there any details on how the subjective test was done? besides "conducted internally in Google" and using an 11-point scale DCR
2025-10-09 04:10:02
and to what AV1 encoder are they comparing?
juliobbv
_wb_ What I mean by a format being outdated is not really that a newer one exists with better compression (this can happen quite easily), but it's more about ecosystem and format features. E.g. I consider lossy WebP outdated not just because VP8 was succeeded by VP9, VP10/AV1, and now AV2, but mostly because it is limited to tv-range 8-bit yuv (not enough precision for current display technology) and has image dimension limitations that are real limitations for current use cases. Video codecs tend to have profiles and levels with relatively strict limitations on precision and dimensions, limitations that are mostly guided by the needs of the present but cannot really afford to consider the potential needs of the future because there's a need to keep hardware implementations commercially feasible. E.g. for video, even for production workflows, typically 12-bit precision would be considered sufficient, so video codecs generally won't support more than that (or they do, but only in some high profile that nobody actually implements). But for still images, even in just "prosumer" use cases, having more precision available (during production) is desirable.
2025-10-09 04:12:12
I guess we're thinking of different meanings of outdated. But I get what you mean -- AVIF's forte will never be 16+ bit or gigapixel images.
_wb_ and to what AV1 encoder are they comparing?
2025-10-09 04:12:35
my educated guess is that they're using the latest version of AV1 libaom
_wb_
2025-10-09 04:14:14
yeah but the difference between default and -a tune=iq is maybe as large as that difference between av1 and av2 they're showing
juliobbv
2025-10-09 04:20:06
or (sometimes) the difference between default SVT-AV1 and SVT-AV1-HDR 😉
2025-10-09 04:20:34
I'm wondering how amenable to psychovisual tuning the new coding tools in AV2 are
afed
2025-10-09 04:30:55
I think the comparisons might be mostly true, and it's basically comparing a reference encoder without psy improvements (though more mature for libaom-av1 over the years since release) against a reference encoder for av2 except that it's usually primarily streaming bitrates and focus, because that's the most interesting for the majority of online platforms and google, but it can be quite low bitrates and quality like for personal use
juliobbv
dogelition undershot their target then <https://youtu.be/bCwjTVJ3F3w?t=1064>
2025-10-09 09:37:26
38% vs 40%, close enough
2025-10-09 09:37:44
especially because the encoder hasn't specifically been optimized for subjective quality anyway
cioute
2025-10-10 09:44:38
What can you say about highest quality preset of av1_nvenc (nvidia)?
Exorcist
2025-10-10 09:49:16
tune uhq ≈ svt-av1 preset 6
Mine18
Exorcist tune uhq ≈ svt-av1 preset 6
2025-10-10 10:18:49
mainline svt, community forks are better
Lumen
Exorcist tune uhq ≈ svt-av1 preset 6
2025-10-10 11:45:01
oh wow! this is insanely good for an hardware encoder
2025-10-10 11:45:33
*just realizes that she got an nvidia card too so she can use that as well*
Adrian The Frog
2025-10-10 04:44:18
What are thoughts on Jpeg XS? Obviously goals are different, but is it good at what it does?
Mine18
Lumen *just realizes that she got an nvidia card too so she can use that as well*
2025-10-10 08:02:56
if you could provide some testing to corroborate this, and even compare it to -hdr that would be neat
Lumen
Mine18 if you could provide some testing to corroborate this, and even compare it to -hdr that would be neat
2025-10-10 08:03:31
true... I got both amd with my iGPU and nvidia at the same time
2025-10-10 08:03:34
it is super convenient
2025-10-10 08:03:37
also, vship runs like a charm
jonnyawsom3
2025-10-10 08:23:02
I don't mean anything by it, but Exorcist does tend to copy paste things from ChatGPT a lot, so it might not be based on anything
Lumen
2025-10-10 08:26:06
very true
2025-10-10 08:26:17
AI users are a danger now...
Mine18
I don't mean anything by it, but Exorcist does tend to copy paste things from ChatGPT a lot, so it might not be based on anything
2025-10-10 09:56:20
I think exorcist is referencing Rigaya, which shows RTX 40 AV1 being close to SVT 8bit P6 in certain scenarios
2025-10-10 09:56:25
https://rigaya.github.io/vq_results/
jonnyawsom3
2025-10-10 10:05:30
Huh, interesting, I didn't know about that site
gb82
NovaZone tho avif is already fantastic so idk how they can improve much
2025-10-11 05:29:37
https://halide.cx/blog/julio-barba-interview/ > I'm very excited about features like user-defined Quantization Matrices (QMs). This unlocks some powerful applications, most notably the ability to convert JPEG images into the AV2 format without the additional quality loss that normally happens when you transcode between formats. On top of that, you can apply deblocking filters to these converted images to smooth out artifacts and improve their perceived quality even more. > > AV2 also uses higher precision math for standard 8-bit content. This helps prevent "banding" — those ugly, visible steps in what should be a smooth color gradient — which can be caused by rounding errors during compression. sorry to necro, but I think this stuff is exciting about AV2
_wb_
2025-10-11 06:52:41
more internal precision at 8-bit is indeed a good idea for av2, the precision in av1 is too low to avoid banding in some cases when doing 8-bit sRGB at 400 nits
2025-10-11 06:56:52
I wonder if lossless jpeg recompression will indeed be possible. Just explicit quant matrices is not quite enough, there's a bunch of details that also need to be made identical...
Soda
diskorduser Releasing a new codec every ~5 years. Not a good idea.
2025-10-11 03:56:58
its been 7 years not 5. there was 4 years between vp9 and av1 lol.
2025-10-11 03:57:24
oh didnt realize i nerco that far back,
afed
2025-10-11 04:32:34
I think if the efficiency goals had been achieved earlier, av2 would have been released earlier as well with the same time gap between generations as in the previous ones but it seems that now, with each generation, it is much more difficult (especially for a royalty-free video format, which is still quite limited in terms of the algorithms and methods that can be used, it's a minefield for patents and also less companies are share good and strong patents and research, even among aom members) also, hardware adoption for av1 has been much slower, even now, after so many years, it is much less than 50% (and hardware is also required for drm, without drm most companies will not even sell licenses for content) for av2, adoption will probably be better and faster, and then there will probably be an era of ai video formats (patents also work differently for ai models than for traditional codecs), although I also don't know how much ai codecs will be relevant and good, efficiency has not yet been proven in real use
Quackdoc
2025-10-11 04:35:49
I dont know if it will be faster, devs already invested into testing and making sure av1 is good and well implemented. Unless av2 is practically drop in, I don't see myself even bothering with it
2025-10-11 04:36:03
ill wait for AV3
afed
2025-10-11 04:37:06
but av3 can be an ai format <:kekw:808717074305122316>
Quackdoc
2025-10-11 04:39:04
[dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&name=dogelol)
afed
2025-10-11 04:48:02
considering that all the money in the world is being invested in ai and models for any purposes are developing quite rapidly, not even every year, but every week and if we assume that the time for the next generation is also about 5-8 years, then for ai it's a enormous timeframe if ai bubble does not collapse by that time <:kekw:808717074305122316>
gb82
_wb_ I wonder if lossless jpeg recompression will indeed be possible. Just explicit quant matrices is not quite enough, there's a bunch of details that also need to be made identical...
2025-10-11 04:53:13
<@297955493698076672> r u able to share more on this?
juliobbv
gb82 <@297955493698076672> r u able to share more on this?
2025-10-11 04:55:20
all I know right now is that lossless jpeg recompression isn't possible because are the DCT basis functions in AV2 are slightly different from JPEG
2025-10-11 04:56:14
so if JPEG -> AV2 recompression does happen, it'd be one-way only
2025-10-11 04:57:11
with an option to leverage AV2's deblocking and restoration filters
gb82
2025-10-11 05:01:22
Gotcha, and it’d be near-lossless?
juliobbv
2025-10-11 05:09:49
it should be, from the prototypes I've seen
gb82
2025-10-12 11:13:57
:0
diskorduser
2025-10-13 03:48:44
https://www.youtube.com/watch?v=_BsjI3IUtlg
spider-mario
2025-10-13 08:26:36
is `zli` a nod?
2025-10-13 10:21:00
I wonder how useful it could be for FASTQ data
2025-10-13 10:22:37
https://arxiv.org/pdf/2510.03203 > This then begs the question: why aren’t application-specific compressors more common? raises* the question
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
Mine18 https://rigaya.github.io/vq_results/
2025-10-14 12:59:34
no VP9 for whatever reason
DZgas Ж
2025-10-14 09:12:10
In 2025, SVT-AV1 was finally finalized to the point that, two years later, I can use not `-svtav1-params lookahead=120:tune=1:scm=1:irefresh-type=2:enable-cdef=1:enable-dlf=0:enable-mfmv=1:enable-qm=0:enable-restoration=0:enable-tf=0:enable-tpl-la=1:fast-decode=0:enable-dg=1:startup-mg-size=4:tile-columns=0:tile-rows=0:enable-variance-boost=1:variance-octile=1:variance-boost-strength=2` but just use `-svtav1-params "enable-variance-boost=1:variance-octile=1:variance-boost-strength=2"` Although I still have complaints about enable-tf=1, which can do bad things on a smooth 60 fps picture, I think, in general, you can turn a blind eye if you don’t do "source" encoding <:AV1:805851461774475316>
username
2025-10-18 08:39:44
https://docs.google.com/document/d/1SH5Pm1nRj9Qci9fBYVyE-5asj-GffL5evJa7OEZv3eY/ https://bugzilla.mozilla.org/show_bug.cgi?id=1991746 https://bugzilla.mozilla.org/show_bug.cgi?id=1991747 https://bugzilla.mozilla.org/show_bug.cgi?id=1991748
username https://docs.google.com/document/d/1SH5Pm1nRj9Qci9fBYVyE-5asj-GffL5evJa7OEZv3eY/ https://bugzilla.mozilla.org/show_bug.cgi?id=1991746 https://bugzilla.mozilla.org/show_bug.cgi?id=1991747 https://bugzilla.mozilla.org/show_bug.cgi?id=1991748
2025-10-18 08:40:32
I'm genuinely upset at this. why is Firefox **intentionally** supporting MKV incorrectly
2025-10-18 08:42:30
one of the main points of MKV is that you can put anything inside of it yet Firefox is restricting it to only codecs that exist within other media containers instead of the full set of codecs actually supported by the browser
2025-10-18 08:43:54
when I was reading the discussions Mozilla where having about MKV support in Firefox a while back I had felt like the way they where talking about it was suspicious and weird. I guess I was right!
lonjil
2025-10-18 08:49:11
which codecs should they be supporting?
username
lonjil which codecs should they be supporting?
2025-10-18 08:49:58
all of the ones supported by the rest of the browser? that's how Chromium does it which makes sense
2025-10-18 08:50:28
minus images
2025-10-18 08:58:22
one of the most popular pieces of recording software that exists exposes FLAC and PCM as simple options to select from a dropdown when recording to MKV (the default output container). Firefox supports both FLAC and WAV but explicitly decided to not support them within MKV
2025-10-18 08:59:47
Chromium doesn't have this as a problem because they did the logical option of just exposing all of their video and audio codecs to MKV
lonjil
2025-10-18 11:09:10
someone should throw this at that web interop thing
Quackdoc
username I'm genuinely upset at this. why is Firefox **intentionally** supporting MKV incorrectly
2025-10-19 01:30:53
to be fair, it's not like they are actually going out of their way to not support it, just that they haven't bothered to put the effort into supporting it, that being said, the fact that it's not just a - { aac, opus ...} + {aac, opus, flac ...} says more about the code organization of firefox then anything else
DZgas Ж
2025-10-20 09:45:11
Interestingly, Google created WebM so they wouldn't have to add MKV, and everyone was happy with it.
Exorcist
2025-10-20 10:15:37
Firefox will add something only when Google pay money to Mozilla
Meow
2025-10-20 12:12:17
So they added things related to AI
Quackdoc
DZgas Ж Interestingly, Google created WebM so they wouldn't have to add MKV, and everyone was happy with it.
2025-10-20 12:36:29
webm only supporting free formats is immensely important for being "able to support <format>"
DZgas Ж
2025-10-21 03:07:37
I've been studying compression for about eight years now, I think. But only now have I learned about Zopfli, which compresses data into pure Deflate, but much better. I'm really surprised to learn about this, because when encoding APNG, I wondered how Zopfli, from 2013, could have been added to a format from 2004. Well, it turns out that's exactly it. It simply compressed my test animation better than 7zip (lzma2), which was a bit surprising (~0.05%). (I'm talking about APNG Assembler)
A homosapien
2025-10-21 03:52:01
It's cool to see how things progress over time. I was reading old blogs saying Zopfli was considered "too slow to be useful". But with various optimizations and multi-threading (eg. ECT) it's very much usable. Similar to AV1.
2025-10-21 03:53:01
Also the recent(ish) improvements to brotli are cool as well, shame there's no release for it yet.
afed
2025-10-21 04:06:38
RC2 at least https://github.com/google/brotli/releases/tag/v1.2.0rc2
cioute
2025-10-23 06:17:41
when 10 bit jpeg?
jonnyawsom3
2025-10-23 06:34:20
It already exists
cioute
2025-10-23 07:09:16
how to turn on it in smartphone's camera app
lonjil
2025-10-23 08:21:55
You can't
cioute
2025-10-25 10:06:43
wow, 7z compressed a raw video (1057 mb, bgr24) to 19.9 mb archive, lossless libx265 (bgr0) - 49.6 mb, when 7z videocodec?
_wb_
2025-10-25 10:21:32
With that kind of reduction, is it a raw video shot with the lens cap on or something?
Exorcist
2025-10-25 10:33:00
I guess Keynote screen record
spider-mario
2025-10-25 10:44:54
yeah, maybe x265 would do better with very long GOP
TheBigBadBoy - 𝙸𝚛
2025-10-25 10:48:29
I always wondered how good was good/slow x264 compression + avrecode
2025-10-25 10:50:26
I completely change the subject, but OH MY we should see float support in FLAC soon™ https://github.com/xiph/flac/pull/842 32bit is already working, they want to also support 64bit apparently it'll take time before they add it to the spec tho, but I love this [⠀](https://cdn.discordapp.com/emojis/714771929420005426.webp?size=48&name=NUT)
spider-mario
2025-10-25 11:12:59
64-bit seems so unnecessary
2025-10-25 11:13:12
who is ever going to _store_ 64-bit floating point audio?
Cacodemon345
2025-10-25 11:25:27
I guess it's for professional productions.
TheBigBadBoy - 𝙸𝚛
2025-10-25 11:54:46
all they say about 64bit is > There is also the 64-bit float format (in both endiannesses) - not that it is any more urgently needed for listening, but for compatibility (edit: with DAW plugins, for example) it wouldn't be a bad thing for a FLAC plugin to be able to handle "everything" the application could save. (64-bits would likely need more than 5-bit Rice, but who cares if that element also makes today's decoders err out on something they cannot decode.) imo yeah it's useless but seeing 32bit float FLAC support is really interesting
2025-10-25 11:55:21
all my music collection is in FLAC, except 1 or 2 tracks in WavPack because of 32bit float <:KekDog:805390049033191445>
spider-mario
2025-10-25 11:58:08
working on https://github.com/google/tabuli, I’ve also used WavPack over FLAC because of limits on the number of channels
TheBigBadBoy - 𝙸𝚛
2025-10-25 12:23:20
you need more than 8 channels ?
2025-10-25 12:24:11
I never saw anything with more than that in the wild
spider-mario
2025-10-25 12:28:49
3rd-order ambisonics is 16 channels for example
TheBigBadBoy - 𝙸𝚛
2025-10-25 12:29:08
unlike float encoding, FLAC devs are not really interested in supporting more channels <:KekDog:805390049033191445> https://github.com/xiph/flac/issues/319
lonjil
2025-10-25 12:59:29
Sounds like we need FLAC XL
RaveSteel
2025-10-25 03:41:09
migu
Quackdoc
2025-10-25 03:45:39
yeah, traditional encoding formats tend to do really good when it comes to encoding raw rgb data. I wouldnt be surprised if encoding a 12bit yuv444 video will at least get closer results
Exorcist
2025-10-25 03:49:51
Nice try but `ffmpeg -i "nothing.avi" -colorspace bt709 -qp 0 -preset veryslow "nothing.mkv"` result 8,184,265 bytes
Quackdoc
2025-10-25 03:50:25
make sure you specify pixel format
2025-10-25 03:51:04
iirc you want 10bit depth
2025-10-25 03:51:33
it should still prolly win tho
Exorcist Nice try but `ffmpeg -i "nothing.avi" -colorspace bt709 -qp 0 -preset veryslow "nothing.mkv"` result 8,184,265 bytes
2025-10-25 03:52:16
but it's important to remember that ffmpeg will convert to a yuv format if done like this, which is very much more efficient in x264 and x265, even in yuv444
Exorcist
2025-10-25 03:53:53
`ffmpeg -i "nothing.avi" -vf format=yuv444p10le -colorspace bt709 -qp 0 -preset veryslow "nothing2.mkv"` result 13,901,793 bytes
2025-10-25 03:55:56
In x264 preset veryslow there is parameter `--ref 16` insane for most video, but very good for this
Quackdoc
2025-10-25 03:57:01
yeee, it's nice, ~~but it's not rgb~~ still good enough for most of my uses, dunno if it applies to cioute
spider-mario
2025-10-25 03:58:36
```console $ x264 --qp 0 --preset veryslow --input-csp rgb --output-csp rgb --colormatrix GBR --output compressed.mkv nothing.avi ``` -> 11 869 623 bytes
Quackdoc
2025-10-25 04:02:43
0.0
Adrian The Frog
2025-10-25 04:16:27
I wonder how good a jxl would be at storing lossless audio Like a 1x10,000,000 x 2 channel image
2025-10-25 04:16:49
Or maybe a 2x10,000,000 one channel image
cioute
2025-10-25 08:06:33
is converting pixel formats truly lossless? if yes, 7z videocodec is destroyed, at least it was fast
A homosapien
2025-10-25 08:11:11
It depends, 8 bit rgb -> 8 bit yuv is lossy. 8 bit rgb -> 10 bit yuv (if done properly) is lossless.
2025-10-25 08:12:55
To be on the safe side, if you are in rgb, you want to stay within rgb. If you are in yuv, you want to stay within yuv.
2025-10-25 08:14:07
libavif has a wiki page detailing the off by 1 errors that come from converting rgb to yuv and vise-versa. https://github.com/AOMediaCodec/libavif/wiki/Drift#rgb---yuv---rgb-codepoint-drift
cioute
2025-10-25 08:17:14
is from bgr24 to yuv444p10le lossless? if yes, then 13.4 mb h264 won
A homosapien
2025-10-25 08:17:50
I got it down to 11.1 MB (11,700,424 bytes) using `libx264rgb`
cioute is from bgr24 to yuv444p10le lossless? if yes, then 13.4 mb h264 won
2025-10-25 08:19:12
8 bit rgb to 10 bit yuv should be lossless, but I'm not sure if ffmpeg's conversion process is accurate enough to guarantee lossless.
cioute
2025-10-25 08:20:07
is from bgr24 to gbrp lossless?
2025-10-25 08:21:34
you still need this file?
A homosapien
cioute is from bgr24 to gbrp lossless?
2025-10-25 08:23:16
I think so, they are both in the same color model (rgb), therefore no conversion is needed, the difference is that the color planes are in a different order but it's lossless
cioute you still need this file?
2025-10-25 08:23:28
I downloaded the file you posted here
awxkee
2025-10-25 08:27:29
Mathematically loseless YUV is possible only in YCgCo type with 4:4:4 layout and FULL ( PC ) range, when it is implemented using coding scheme what ITU-R provided, not a matrix based ( as chromium does )
cioute
_wb_ With that kind of reduction, is it a raw video shot with the lens cap on or something?
2025-10-25 08:27:41
i just became slightly less incompetent
awxkee
2025-10-25 08:28:12
Otherwise it's lossy in one way or another
cioute
2025-10-25 08:32:10
is heic in android camera apps use 10 bit by default?
awxkee Otherwise it's lossy in one way or another
2025-10-25 08:32:34
7z videocodec still has a chance?
awxkee
2025-10-25 08:50:09
Depends on what you mean by “a chance.” If the application that puts the frame in a 7z file works successfully, then you’ve done it 100%. If you mean something else, I don’t think so.
A homosapien
2025-10-25 08:54:42
According to my numbers, using `libx264rgb` is better and can be opened in a video player, so I think 7z videocodec compression is not needed.
jonnyawsom3
Adrian The Frog I wonder how good a jxl would be at storing lossless audio Like a 1x10,000,000 x 2 channel image
2025-10-25 09:04:47
We messed around with lossy audio a long time ago and it worked pretty well https://discord.com/channels/794206087879852103/794206170445119489/1133208727600762921 Not sure about using such long images though, as groups are only 1024x1024 max
Quackdoc
cioute is heic in android camera apps use 10 bit by default?
2025-10-25 09:20:31
depends on the app but I would say that it's unlikely to be default
lonjil
2025-10-25 11:46:25
My take of unknown temperature: instead of trying to invent new vector file formats to replace SVG, the best option would be to just create a subset of PDF that only supports the stuff you want in an image format.
Adrian The Frog
cioute is heic in android camera apps use 10 bit by default?
2025-10-26 02:07:18
on my oneplus 12 there's an off-by-default toggle to save images as 10 bit heic instead of 8 bit heic or jpeg unfortunately the google camera app only supports saving as raw or 8 bit jpeg
juliobbv
2025-10-29 05:58:02
Hey <@794205442175402004>, do you think it'd be possible to switch Cloudinary's free converter to use tune iq? https://cloudinary.com/tools/image-to-avif
2025-10-29 05:58:41
(hopefully) it should be an easy backend change
2025-10-29 06:01:16
somebody should also work on an image-to-jxl too 😉
jonnyawsom3
juliobbv somebody should also work on an image-to-jxl too 😉
2025-10-29 07:32:21
They have this <https://cloudinary.com/tools/png-to-jxl>, but this one isn't even doing transcoding https://cloudinary.com/tools/jpg-to-jxl
_wb_
2025-10-29 07:42:16
These "free converters" are just simple demo apps based on the cloudinary api. Currently we're not using tune iq yet, and also not doing lossless jpeg transcoding (since usually there's a downscale or other transformations before encoding, so it would only be useful in the no-op case). I'm trying to get both things prioritized but it's tricky, there are always more urgent things it seems :). We'll get there eventually.
juliobbv
_wb_ These "free converters" are just simple demo apps based on the cloudinary api. Currently we're not using tune iq yet, and also not doing lossless jpeg transcoding (since usually there's a downscale or other transformations before encoding, so it would only be useful in the no-op case). I'm trying to get both things prioritized but it's tricky, there are always more urgent things it seems :). We'll get there eventually.
2025-10-29 08:49:02
got you, that's 100% fair
2025-10-29 08:49:22
maybe those changes are a great fit for a hackathon project 😄
2025-10-29 08:50:14
but I understand the "always having something more urgent on the horizon" bit
_wb_
2025-10-29 08:56:41
Making the changes is not the difficult part, that's just changing a few lines of code in the backend. But any change in a system that is in production has implications, e.g. on bandwidth, cpu, cloudinary's costs and revenue, etc. Even a small change can translate to a $1m difference quite easily. That's the main thing that causes resistance to just changing stuff.
juliobbv
2025-10-29 09:22:20
yeah, I was thinking along the lines of starting by adding the change as a feature flag for an internal account, test, and expand from there
2025-10-29 09:22:40
(disclaimer: I don't know Cloudinary's API backend code :D)
2025-10-29 09:23:34
small, incremental steps are the way
_wb_
juliobbv yeah, I was thinking along the lines of starting by adding the change as a feature flag for an internal account, test, and expand from there
2025-10-29 09:44:37
We always do any change like that, behind a test flag at first to do internal QA, then gradual rollout to users while monitoring (typically we start with free accounts first). It would be reckless to just do instant full rollout on anything, we have SLAs to respect etc.
juliobbv
2025-10-29 09:48:30
that makes complete sense, and in line with my understanding
2025-10-29 09:50:13
that said, `tune=iq` is meant to improve on the bandwidth/cpu/revenue frontier
2025-10-29 09:51:08
if it weren't, that'd be a bad bug that needs to be fixed ASAP, and I wouldn't be doing my job well 😅
2025-10-29 09:52:10
but I understand it's ultimately a matter of priorities for a company to take on
_wb_
2025-10-29 09:54:40
I know, which is why I'm pushing it internally. But things are complicated, e.g. reducing bandwidth is not necessarily good for our revenue since we're still charging many customers by bandwidth (this is in the process of changing, but such changes are slow, existing contracts have to be respected, etc etc). In general, at the moment it is easier to get a funky new AI functionality prioritized than improvements in compression.
juliobbv
_wb_ I know, which is why I'm pushing it internally. But things are complicated, e.g. reducing bandwidth is not necessarily good for our revenue since we're still charging many customers by bandwidth (this is in the process of changing, but such changes are slow, existing contracts have to be respected, etc etc). In general, at the moment it is easier to get a funky new AI functionality prioritized than improvements in compression.
2025-10-29 09:56:34
thanks for fighting the good fight BTW, I appreciate (and admire) the work you've been doing 🙏🏻
_wb_
2025-10-29 09:58:09
Anyway, we'll get there eventually. Same with jpegli btw, we're still not using it — we started using it but we hit some Heisenbug probably related to avx512 that caused hard-to-reproduce increased crash rates, so the change was reverted and we're back to the combination of mozjpeg and libjpeg-turbo that we were using before.
juliobbv
2025-10-29 10:02:11
I agree, jpegli deserves its place to shine
2025-10-29 10:03:16
it kinda sucks that AI anything is prioritized over everything else
jonnyawsom3
2025-10-29 10:08:17
I've said it a few times, but there's a dozen pending PRs in the jpegli repo with various fixes and improvements. Only Eustas can approve things there though, so they've been sitting for months and the libjxl version isn't synced to the Google repo either
_wb_
juliobbv it kinda sucks that AI anything is prioritized over everything else
2025-10-29 10:08:29
well there is a lot of interesting stuff that can be done now with AI, and it's getting good enough to be actually usable. But yeah, there's also a lot of hype etc.
I've said it a few times, but there's a dozen pending PRs in the jpegli repo with various fixes and improvements. Only Eustas can approve things there though, so they've been sitting for months and the libjxl version isn't synced to the Google repo either
2025-10-29 10:10:44
<@811568887577444363> probably the jpegli in the libjxl repo should be removed and instead become a submodule, right? that way there's a single source of truth
juliobbv
_wb_ well there is a lot of interesting stuff that can be done now with AI, and it's getting good enough to be actually usable. But yeah, there's also a lot of hype etc.
2025-10-29 10:11:58
I wonder whether a super fast and lightweight NN-based filter with very low/no added metadata will be feasible in the near future
2025-10-29 10:12:10
the stuff that I've seen so far is just too slow
_wb_
2025-10-29 10:12:38
wasn't AV2 doing something like that already?
juliobbv
_wb_ wasn't AV2 doing something like that already?
2025-10-29 10:13:49
there was a proposal for a NN-based in-loop deblocking filter that had decent coding gains, but it was deemed too slow for AV2's encode/decode budget goals
2025-10-29 10:15:39
there are a couple of pre-trained filters that used machine learning to derive them that made it into AV2 though
2025-10-29 10:16:35
one is from Samsung, the Guided Detail Filter
2025-10-29 10:17:27
https://gitlab.com/AOMediaCodec/avm/-/merge_requests/1657
2025-10-29 10:19:03
the most nifty IMO, but there's barely any external documentation 🙁
_wb_
2025-10-29 10:19:34
Besides things that require new decode-side stuff, I think there's room for AI-based encoder heuristics to do better encoding in existing conventional codecs. With some semantic understanding of an image, more is possible than just trying to reach a uniform fidelity target in all parts of the image. Semantic adaptive quantization could be interesting. Then again, even if the AI works great, it's not in general possible to know what are the truly important image regions without knowing the context. The same image containing a car, a woman, a tree and a building will have different priorities in the context of a website selling cars, a fashion magazine, a botanist journal or an architect portfolio.
juliobbv
2025-10-29 10:20:12
yeah, I'd love to work on semantic AQ at some point of my career
2025-10-29 10:20:53
I still need to learn the toolset to get there though...
jonnyawsom3
juliobbv the most nifty IMO, but there's barely any external documentation 🙁
2025-10-29 10:21:36
Awww, it's request to access https://www.researchgate.net/publication/395471554_Guided_Detail_Filter_for_AVM
_wb_ <@811568887577444363> probably the jpegli in the libjxl repo should be removed and instead become a submodule, right? that way there's a single source of truth
2025-10-29 10:21:46
That would be ideal, but the jpegli repo still uses a lot of duplicate files from libjxl, so I'm not sure if it would be that simple
_wb_
2025-10-29 10:22:55
probably requires some refactoring to put the shared stuff in a separate submodule that both of them can use, or something like that.
jonnyawsom3
_wb_ Besides things that require new decode-side stuff, I think there's room for AI-based encoder heuristics to do better encoding in existing conventional codecs. With some semantic understanding of an image, more is possible than just trying to reach a uniform fidelity target in all parts of the image. Semantic adaptive quantization could be interesting. Then again, even if the AI works great, it's not in general possible to know what are the truly important image regions without knowing the context. The same image containing a car, a woman, a tree and a building will have different priorities in the context of a website selling cars, a fashion magazine, a botanist journal or an architect portfolio.
2025-10-29 10:24:30
Equally important is making sure the training metric is good. Yesterday while in the voice channel here, I finally realised why post-0.8 was giving blurry output. Block size selection was weighted too much towards larger blocks, which made metrics better but removed fine details in the image to the human eye. We'll be working on a remediation PR soon after more testing and tuning
juliobbv
Equally important is making sure the training metric is good. Yesterday while in the voice channel here, I finally realised why post-0.8 was giving blurry output. Block size selection was weighted too much towards larger blocks, which made metrics better but removed fine details in the image to the human eye. We'll be working on a remediation PR soon after more testing and tuning
2025-10-29 10:26:52
great news! looking forward to that change
jonnyawsom3
2025-10-29 10:28:10
We also still have the desaturation issue to deal with, but I think that will require a new quant table to properly fix, unless there's another control to raise the B channel's AC quality
juliobbv
Awww, it's request to access https://www.researchgate.net/publication/395471554_Guided_Detail_Filter_for_AVM
2025-10-29 10:33:44
for now, the best public documentation of GDF is from Andrey's talk: https://youtu.be/Se8E_SUlU3w?si=3lRbGozDKSiSToP_&t=1355
We also still have the desaturation issue to deal with, but I think that will require a new quant table to properly fix, unless there's another control to raise the B channel's AC quality
2025-10-29 10:42:14
ideally you'd factor in luma and chroma masking into B quant for maximum efficiency (basically, give just enough extra bits to the problematic areas), but that does sound like a more complicated change
jonnyawsom3
2025-10-29 10:45:40
In this case the problem areas are almost exclusively the high frequency range of the B channel, so a less agressive quant table should do the trick. The issue is that for vibrant colors like pure yellow, in XYB it requires B to be at a near exact value for 0. A single value change to B in XYB turns into a 10 increase in RGB, so the aggressive quantization turns the saturated colors into a grey/white instead as they get 10-30 added to the B channel on decode
juliobbv
2025-10-29 10:47:34
that makes sense
2025-10-29 10:50:33
does JXL have a separate channel adaptive quantization mechanism? if so, you can do something like "if problematic block then boost B quant" instead of doing it globally
2025-10-29 10:52:25
it might be worth investigating
2025-10-29 10:54:00
but that could be left as in improvement over the global first implementaiton
_wb_
2025-10-29 11:44:08
No, adaptive quant weights are for all components, to save signaling cost. But it is possible to use a less steep quant table for B, or to adjust the overall amounts of bits going to B vs to X and Y, both with very low signaling cost.
cioute
2025-10-29 11:22:05
What is intra encoding? What does it give?
_wb_
2025-10-30 09:52:06
intra is just compressing a frame independently, as opposed to inter which is using other frames as a reference, e.g. using motion vectors + residual encoding. Typically in video codecs intra coding is only used for a small number of keyframes, and most frames are coded using inter coding.
cioute
_wb_ intra is just compressing a frame independently, as opposed to inter which is using other frames as a reference, e.g. using motion vectors + residual encoding. Typically in video codecs intra coding is only used for a small number of keyframes, and most frames are coded using inter coding.
2025-10-30 11:35:06
pros/cons?
jonnyawsom3
2025-10-30 11:41:19
https://en.wikipedia.org/wiki/Video_compression_picture_types
Quackdoc
cioute pros/cons?
2025-10-30 12:20:54
fast decode :D
cioute
Quackdoc fast decode :D
2025-10-30 01:17:08
cons?
Quackdoc
2025-10-30 01:24:35
big file sizes
cioute
Quackdoc big file sizes
2025-10-30 01:49:00
Are hardware decoders not limited by bitrate? If yes, then no profit
Quackdoc
2025-10-30 01:50:42
you wouldn't want to use intra encoded video where you would use hwdecoder in any case
lonjil
2025-10-30 01:55:48
Brb designing a hw motion JXL encoder
_wb_
2025-10-30 03:58:44
Intra-only is typically used in production workflows and in digital cinema, in production mostly to be able to seek/cut at every frame without causing generation loss, in digital cinema to be sure there are no artifacts associated with inter frame coding. After all the movie will be shown on a big screen in very sensitive viewing conditions (dark room, some viewers pretty low viewing distance compared to the screen size), and compression artifacts are not considered acceptable at all. Main downside of intra-only is that the file sizes are huge compared to what can be saved with using inter. For netflix/youtube video streaming, intra-only is not an option at all, much more aggressive compression is needed than what can be done with intra-only. Inter frame techniques are great when low bitrates are needed — but they become increasingly less useful as fidelity goes up; it only works well if most residuals can be quantized away, and at high fidelity settings, the residuals will end up having (almost) as much entropy as the data itself, defeating the purpose of inter-frame prediction.
jonnyawsom3
2025-10-30 04:06:12
The best we could do in animated JXL would probably be quantized differential floats. Storing the difference between frames, but quantizing the difference to avoid being bigger than a standard lossy frame (pure speculation)
monad
2025-10-30 10:35:44
shrek-to-jxl is good enough
Demiurge
Equally important is making sure the training metric is good. Yesterday while in the voice channel here, I finally realised why post-0.8 was giving blurry output. Block size selection was weighted too much towards larger blocks, which made metrics better but removed fine details in the image to the human eye. We'll be working on a remediation PR soon after more testing and tuning
2025-10-31 07:59:50
Doing the Lord's work
2025-10-31 08:06:00
Cannot trust metrics. Cannot tune an image codec with a blindfold on.
2025-10-31 08:07:40
Way too often, doing the exact opposite of what the metric tells you to do is how to preserve fidelity
2025-10-31 08:08:59
Way too often, taking a big hit to the "objective score" is a huge win for actually being able to see what's in the image.
2025-10-31 08:15:49
And I think we are at a point where image codecs are so optimized and even over-fitted to preserve good objective scores, that the only techniques remaining for big bitrate savings are probably all techniques that metrics really, really dislike. Things that would give huge penalties to metric scores. Like spectral error diffusion. Spline and noise replacement. Maybe even sone kind of contrast-adaptive quantization weighting, if that's not already done.
Emre
2025-10-31 06:23:52
You are undermining the importance of metrics a little bit too much
2025-10-31 06:24:10
I agree with the "blindfold" part but they are extremely important
2025-10-31 06:24:26
I think, "huge" penalties to metric scores wouldn't work
2025-10-31 06:24:44
And what happens when two people disagree with each other?
2025-10-31 06:26:23
Metrics provide speed, objectivity, and practicality. You can't make everything be seen by a large audience.
2025-10-31 06:26:46
Just use different metrics, different statistical pooling methods, or improve the current metrics in some other ways.
lonjil
2025-10-31 06:32:54
new jp2000 decoder https://github.com/LaurenzV/hayro/tree/main/hayro-jpeg2000
_wb_
Emre Metrics provide speed, objectivity, and practicality. You can't make everything be seen by a large audience.
2025-10-31 07:58:51
I agree that metrics provide speed and practicality, but objectivity that's mostly an illusion if you're talking about perceptual metrics. Error metrics like PSNR are "objective" in being a measure for numerical error but they are not at all correlating well with perception let alone being an objective measure of it; in fact it has very strong biases (e.g. w.r.t. image content and w.r.t. codecs).
ignaloidas
2025-10-31 08:06:50
the only objective metric is having ~100 people rate images (but it doesn't scale)
jonnyawsom3
2025-10-31 08:18:19
In the context of the quality issue I was talking about, SSIMU2 was correct but the other metrics scored higher with the worse result. When you have a 'good' metric it's generally fine to use it for larger changes, but when it comes down to fine tuning/fine details, the human eye still does better
Adrian The Frog
2025-11-01 04:08:15
As far as I can tell there hasn't been any progress in free lossless audio codecs usable by consumers since like 2006
Demiurge
ignaloidas the only objective metric is having ~100 people rate images (but it doesn't scale)
2025-11-01 06:45:20
Or how many objectively defined visual features are perceptively discernible
2025-11-01 06:45:59
For example: in one codec; a freckle disappears, in the other codec it remains
2025-11-01 06:46:35
But computers are bad at that for some reason right now
2025-11-01 06:46:48
Hell, even humans aren't that good at it
2025-11-01 06:46:58
It's difficult work
A homosapien
2025-11-01 06:59:52
If the average person can't consistently discern a specific freckle disappearing, was it really ever that important to begin with? A unique problem when tuning for perception, do we target the average joe, or do we hyper obsess over the smallest details?
2025-11-01 07:05:08
I really like how butteraugli handles this. Correct me if I'm wrong, but the standard distance of 1 is visually lossless to most people. However to us it's not visually lossless because we are trained to see compression artifacts. I think it strikes a good balance of targeting the mean perception and keeping relevant details.
TheBigBadBoy - 𝙸𝚛
Adrian The Frog As far as I can tell there hasn't been any progress in free lossless audio codecs usable by consumers since like 2006
2025-11-01 07:51:44
wrong... e.g. there's SAC, which is quite new and beats every other codecs if using ~same compression time, and can even go really far in slowness for extra compression little benchmark here https://docs.google.com/spreadsheets/d/1sqQPgG92dSlMVi9AX2r-seiUCMO0gjL_wUTRPTIaAYI/edit?usp=sharing
2025-11-01 07:56:02
but no support (except from the tool itself ofc) https://github.com/slmdev/sac/ If I had to choose a codec without looking at how good it is supported, I would go for LA (literally lossless-audio lol), very fast and compress really well
afed
2025-11-01 08:03:15
also HALAC is aimed at high speed with good compression (although it is not open source yet, it is planned when the format is finalized) https://hydrogenaudio.org/index.php/topic,125248.0.html
ignaloidas
A homosapien If the average person can't consistently discern a specific freckle disappearing, was it really ever that important to begin with? A unique problem when tuning for perception, do we target the average joe, or do we hyper obsess over the smallest details?
2025-11-01 08:19:57
the importance of a feature is directly proportional to how many people discern it disappearing
Demiurge Or how many objectively defined visual features are perceptively discernible
2025-11-01 08:21:52
This just pushes the issue from defining an objective metric to defining a measurement on whether a visual feature is perceptively discernible, which I don't think is any easier
Demiurge
A homosapien If the average person can't consistently discern a specific freckle disappearing, was it really ever that important to begin with? A unique problem when tuning for perception, do we target the average joe, or do we hyper obsess over the smallest details?
2025-11-01 08:28:19
Often, it's a matter of people not noticing until it's pointed out to them. The initial hurdle is the challenge of knowing what to look for in the first place. If you can pin down specific details and image features that actually disappear below the noise floor and become imperceptible and objectively lost and destroyed after compression, that is meaningful and that does matter. Information that was discernible and conveyed effectively in the original image, but not in the compressed image, could always be important depending on the context.
2025-11-01 08:31:00
Like if the original conveys a certain texture that gets lost or changed in the compressed version. Or small details like nails, seams, freckles, or writing.
jonnyawsom3
2025-11-01 08:31:18
The more information at the same bitrate, the lower you can push the quality while still having good results. If detail is missing, turn the quality up
2025-11-01 08:32:00
The more efficient we make it, the better quality at the same size
Demiurge
2025-11-01 08:32:02
I think quality should be measured in terms of how many distinct visual features are preserved or wiped away
2025-11-01 08:33:32
When something becomes indiscernible and disappears, that's how fidelity should be measured: how well it conveys the same information and details that the original was able to convey
2025-11-01 08:34:37
If something exists in the original but not in the compressed version, that is slightly worse than the reverse situation
2025-11-01 08:36:40
Because if something is missing, you never knew it was there. If something is added that wasn't there before, it's usually easy to tell it's just an artifact.
2025-11-01 08:45:23
Or put another way: I think quality should NOT be measured based on "how good it looks, man" based on a casual viewing by a casual viewer.
TheBigBadBoy - 𝙸𝚛
afed also HALAC is aimed at high speed with good compression (although it is not open source yet, it is planned when the format is finalized) https://hydrogenaudio.org/index.php/topic,125248.0.html
2025-11-01 08:52:17
your link redirect to HALIC which is an image codec 🤔
_wb_
2025-11-01 08:53:04
There's a huge difference between side by side comparison and flip test. Try a "find the 7 differences" puzzle both ways and it is obvious why it is only a puzzle if it's side by side.
2025-11-01 08:55:07
Flip testing is good to test fidelity. Not showing the original image at all (absolute category rating in BT.500 terms) is good to test appeal. Side by side comparison is testing a mix between fidelity and appeal.
afed
TheBigBadBoy - 𝙸𝚛 your link redirect to HALIC which is an image codec 🤔
2025-11-01 09:06:07
It must be HALAC HALIC on the encode forum for me, there is no redirection unless I intentionally click on links in a post with HALIC, from the same author
TheBigBadBoy - 𝙸𝚛
2025-11-01 09:31:59
nevermind I'm fucking stupid <:kekw:808717074305122316>
Adrian The Frog
2025-11-01 12:37:43
I wonder about the importance of absolute position of features tho I think it would be better to have a freckle in slightly the wrong place than no freckle at all
spider-mario
_wb_ There's a huge difference between side by side comparison and flip test. Try a "find the 7 differences" puzzle both ways and it is obvious why it is only a puzzle if it's side by side.
2025-11-01 03:06:17
there is a tool for flip tests in the libjxl codebase, by the way, if anyone is curious to try one
2025-11-01 03:07:18
(build with `cmake -DJPEGXL_ENABLE_VIEWERS=YES`, then it’s `tools/flicker_test/flicker_test`)
jonnyawsom3
2025-11-01 03:19:04
I generally do flicker tests as I only have a 1080p monitor, so I can see more of the image at once than side-by-side
AccessViolation_
2025-11-02 03:13:40
> WebP's downsides include: > \- [...] TV range colors (16-235 instead of 0-255), does anyone know more about this? this seems really bad if true
2025-11-02 03:14:53
is 16-235 tonemapped to 0-255 or something, so you effectively have fewer bits per channel? surely you can represent pure black and pure white...
2025-11-02 03:15:24
source: <https://github.com/web-platform-tests/interop/issues/994#issuecomment-3404234150>
lonjil
2025-11-02 03:20:41
TV range means 16 and below is pure black and 235 and above are pure white
veluca
2025-11-02 03:24:01
(also TV range is an abomination that should have died years ago and it's beyond me why people keep including in modern formats)
2025-11-02 03:24:26
(and I say "years" because I am not sure if I can confidently say "decades")
Exorcist
2025-11-02 03:25:58
23.976 FPS 44100 Hz
AccessViolation_
2025-11-02 03:30:55
sorry why are we doing this??
lonjil
2025-11-02 03:31:34
Ok basically you know how they invented CRT TVs like 100 years ago?
2025-11-02 03:32:38
In those, the signal that controls the beam strength was between 0V and some other voltage. To make things simpler, every voltage below some threshold was black, and every voltage above some threshold was white.
2025-11-02 03:33:00
And when sampling a TV signal, the whole range is recorded accurately at whatever bit depth
2025-11-02 03:33:11
Including the over and undershoots
2025-11-02 03:33:29
This is needed because sometimes the over and undershoots can contain useful data.
2025-11-02 03:33:49
Then for whatever reason they decided to keep doing it that way even when TV went fully digital.
jonnyawsom3
2025-11-02 03:33:52
(Basically) All video formats are still TV range by default too. I was just reading about it after my friend sent a link from the VLC conference... Damn I wish I was there
AccessViolation_
2025-11-02 03:35:25
...that's insane
ignaloidas
veluca (also TV range is an abomination that should have died years ago and it's beyond me why people keep including in modern formats)
2025-11-02 03:35:37
same reason why HDMI is still has vblank/hblank periods - you can just change how the data gets into the system without any real changes to the rest of the system
lonjil
2025-11-02 03:36:52
tfw HDMI is literally VGA but digital and with some extra data stuffed in the blanking intervals
AccessViolation_
2025-11-02 03:37:51
so, webp is still quantizing almost black to black and almost white to white like this?
veluca
2025-11-02 03:38:30
no no, webp lossy "just" converts to effectively ~7.8 bits
AccessViolation_
2025-11-02 03:40:35
ah okay, so it's doing this then > is 16-235 tonemapped to 0-255 or something, so you effectively have fewer bits per channel that's not *as* bad, but 8 bits per channel is already too few (as evidenced by color banding in slow gradients everywhere), and that's just making it worse
2025-11-02 03:42:13
I'm actually at a loss for words lmao
lonjil
2025-11-02 03:43:25
who wants to help me make an 18-bit fixed point video codec? 😄
jonnyawsom3
AccessViolation_ source: <https://github.com/web-platform-tests/interop/issues/994#issuecomment-3404234150>
2025-11-02 03:43:48
Also thanks for reminding me, just posted about the PDF announcement on there
AccessViolation_
2025-11-02 03:46:29
I've leaned a lot in 10 minutes and I hate all of it
jonnyawsom3
2025-11-02 03:56:15
Welcome to compression, where you find out how wrong everything is so you learn how to fix it
AccessViolation_
2025-11-02 04:03:43
JPEG XL: *bitdepth-agnostic encoding using fractions of an intensity target. effective and elegant, both functionally and in terms of design aesthetic.* WebP: <:banding:804346788982030337>
_wb_
lonjil who wants to help me make an 18-bit fixed point video codec? 😄
2025-11-02 07:59:19
18-bit because FPGA friendly?
lonjil
2025-11-02 07:59:25
yeah
2025-11-02 07:59:54
* FPGA friendly * Probably good enough for most use cases * Way more than what current codecs get you
_wb_
2025-11-02 08:01:51
you will need some more internal precision for things like DCT, so probably cannot really target 18-bit RGB / YUV
lonjil
2025-11-02 08:02:02
aye
2025-11-02 08:02:15
probably 16-bit input and 18-bit internally
_wb_
2025-11-02 08:02:43
yeah that is also convenient since 16-bit is two bytes and byte alignment is quite practical for IO
lonjil
2025-11-02 08:13:26
I'm studying FPGA dev right now. Would be a cool exam project, or making a toy JXL encoder. Though right now I'm drowing in a type of assignment known as "writing reports and documentation". Teach claims the number 1 thing companies want, are fresh grads who know how to write reports, since any rando can code but few people are competent at writing report. Which seems reasonable. Still really annoying though.
veluca
lonjil probably 16-bit input and 18-bit internally
2025-11-02 08:31:57
you can't do large DCTs that way though
lonjil
2025-11-02 08:33:03
hm
2025-11-02 08:34:19
who needs DCTs bigger than 4x4? :V
veluca
2025-11-02 08:35:05
eh 8x8 is fine
lonjil
2025-11-02 08:37:15
As I recall, Pik was originally 8x8 only before JPEG asked for better low bpp support. So I suppose 8x8 only would be a decent choice.
veluca
2025-11-02 08:38:31
correct
lonjil
2025-11-02 08:38:33
Maybe 16x16 would be fine for smooth gradients, recalling Jpegli's improved smooth gradient precision.
veluca
2025-11-02 08:38:49
I mean
2025-11-02 08:38:53
you work on 16 bits
2025-11-02 08:39:00
you can drop a couple of LSBs 😛
2025-11-02 08:39:11
for large transforms
lonjil
2025-11-02 08:39:13
yeah 😄
veluca
2025-11-02 08:39:51
the transpose might be a challenge
2025-11-02 08:40:02
on a fpga
2025-11-02 08:40:11
more than the precision, I mean
lonjil
2025-11-02 08:40:40
hm, yeah
2025-11-02 08:43:54
I guess the only way I'll find out is by experimenting. Writing that darned report in Microsoft Word comes first though.
A homosapien
2025-11-02 10:35:23
WebP hate still going strong in the mainstream, although there is some push back now. https://fixvx.com/stupidtechtakes/status/1984989563736191253
RaveSteel
2025-11-02 10:37:03
>stupid tech takes
2025-11-02 10:37:05
nomen est omen
username
2025-11-02 10:38:10
don't know what the common pushback is but IMO it should be nuanced
RaveSteel
2025-11-02 10:38:20
but seriously, that list is incredibly stupid
dogelition
lonjil TV range means 16 and below is pure black and 235 and above are pure white
2025-11-03 12:36:07
the crazy part is that there is content out there that has significant information above 235. iirc severance in sdr goes above 235 quite a bit? so while 235 is the nominal peak, tvs do show things beyond that. but on any normal pc setup it'll just be clipped
Meow
A homosapien WebP hate still going strong in the mainstream, although there is some push back now. https://fixvx.com/stupidtechtakes/status/1984989563736191253
2025-11-03 02:13:10
The hate is just a trend without anything technical
2025-11-03 02:13:34
"I hate because they hate"
RaveSteel
2025-11-03 02:19:09
Many complaints from the thread are also outdated. still with the old "nothing supports it"
HCrikki
2025-11-03 02:30:59
webp images identifying as jpegs with fake file extensions hasnt helped
Demiurge
2025-11-03 02:31:31
I think webp hate is 100% justified. It was a very half baked format no one asked for but was forced on everyone with all its known flaws, by the same man who says that there's "no wider community interest" in jxl
HCrikki
2025-11-03 02:33:53
webp interest wasnt even real, its mostly served by cdns and for resized previews of the larger originals. its use will collapse down to almost zero when better is available - and i dont mean aivif, even though it was the designated successor of webp
Meow
RaveSteel Many complaints from the thread are also outdated. still with the old "nothing supports it"
2025-11-03 02:34:39
All my productive softwares support WebP
2025-11-03 02:35:24
Those "artists" who shall use Clip Studio Paint the most... it supports WebP completely as well
Demiurge
2025-11-03 02:56:04
2025-11-03 04:12:50
Meow
2025-11-03 05:28:15
CSP can make animated WebP too
Exorcist
A homosapien WebP hate still going strong in the mainstream, although there is some push back now. https://fixvx.com/stupidtechtakes/status/1984989563736191253
2025-11-03 05:39:54
Try to upload WebP for YouTube thumbnail
2025-11-03 05:43:45
Google is super arrogance that YouTube auto convert thumbnail to WebP, but user can't upload WebP for thumbnail
Meow
2025-11-03 05:48:09
I don't want to blame Google for its dissociative identity disorder
Cacodemon345
2025-11-03 06:03:39
We know they have serious bureaucracy problems tbh.
2025-11-03 06:03:55
Chrome team still fighting with JXL team.
Demiurge
2025-11-03 04:02:31
I like how the immortal elves, fairest and wisest, get JPEG
Adrian The Frog
2025-11-03 08:36:54
I know there's still probably some decent gains to be had out of the jxl bitstream but is there any thought of a successor? What would even change if so?
HCrikki
2025-11-03 08:53:08
its already futureproof today and there's a lot of room to think of new limits for higher profile levels in the future
2025-11-03 08:54:15
stable bitstreams with such massive breathing room simplifies decoding, onus is on encoders and workflows to improve their encoding efficiency
veluca
2025-11-03 08:55:37
there's *plenty* of things in the bitstream I'd love to have done differently, but nothing that makes me hope for a successor any time soon 😛
AccessViolation_
Adrian The Frog I know there's still probably some decent gains to be had out of the jxl bitstream but is there any thought of a successor? What would even change if so?
2025-11-03 08:57:13
I asked something similar a while ago and got some interesting responses https://discord.com/channels/794206087879852103/794206170445119489/1336029940570656808
jonnyawsom3
2025-11-03 10:35:33
<@794205442175402004> missed deleting this one
lonjil
2025-11-03 10:38:11
weird, discord's auto delete on ban feature must've messed up
veluca
2025-11-03 10:42:45
deleted
2025-11-03 10:43:07
I had assumed it would happen with time but nope 😛
Demiurge
veluca there's *plenty* of things in the bitstream I'd love to have done differently, but nothing that makes me hope for a successor any time soon 😛
2025-11-04 01:04:55
So in other words, lots of relatively minor nitpicks but nothing too big? (I suggested this earlier but, could always do some unofficial/optional "variant" bitstream with those little nitpicks addressed, and hide the encoder behind a bunch of runtime and compile-time flags so normies don't accidentally encode with it)
A homosapien
2025-11-04 09:04:10
2025-11-04 09:04:11
Cool visual improvements from SVT-AV1-PSY at the VLC conference
juliobbv
2025-11-04 11:42:27
BTW, you can <@703028154431832094> and me anything about the presentation, or VDD in general
2025-11-04 11:42:43
I hope recordings will be available soon
jonnyawsom3
2025-11-04 11:44:38
I'm looking forward to reading about the motion vector based gaussian splatting too
cioute
2025-11-07 02:32:43
Is webp better than jpeg in term of smartphone photo?
Adrian The Frog
2025-11-07 02:47:20
Yes
AccessViolation_
2025-11-07 02:58:30
generally yes, though if I remember some highly tuned JPEG encoders are competitive? I remember <@794205442175402004> mentioning this
jonnyawsom3
2025-11-07 02:59:05
It depends. For high quality, just stick with JPEG, ideally JPEGLI, due to WebP's TV range and forced 4:2:0
_wb_
2025-11-07 03:02:23
it depends on the quality range you're interested in. For the low end ("web quality", not including the more high-end web applications), WebP does outperform JPEG. At the high end ("camera quality"), WebP is inferior to even just libjpeg-turbo. In the region between those two (high end of web quality, low end of camera quality), WebP is comparable to libjpeg-turbo and worse than jpegli.
AccessViolation_
2025-11-07 03:06:47
> it depends on the quality range you're interested in. For the low end ("web quality", not including the more high-end web applications), WebP does outperform JPEG. also worth noting that JPEG does however support progressive decoding which is nice for people with slow internet connections. WebP does not (to my knowledge). the Lighthouse score isn't everything!