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

jonnyawsom3
2025-01-10 02:56:07
Damn, I was busy running benchmarks xD
2025-01-10 02:56:53
But yeah, that was during a charity stream with a friend, so not your usual gameplay
Meow
2025-01-10 05:30:57
On PC?
jonnyawsom3
2025-01-10 05:39:47
Yeah
Meow
2025-01-10 06:11:42
If you have an HDR display with Nvidia App or Xbox Game Bar, it would be JXR
jonnyawsom3
2025-01-10 06:29:55
I know, I have JXR files even in SDR
2025-01-10 06:30:35
2025-01-10 06:30:44
Meow
2025-01-10 06:36:03
Interesting I thought JXR is for only HDR screenshots on Windows
2025-01-10 06:37:10
I use the default capture so they're always PNG
jonnyawsom3
2025-01-10 07:20:03
That was using NVIDIA photo mode. Usually I just print screen
Meow
2025-01-10 07:29:13
My GPU is from AMD so that's not possible
jonnyawsom3
2025-01-10 08:00:55
The JXR is broken anyway, so it doesn't matter
Meow
2025-01-10 09:05:48
Looks pretty surreal
jonnyawsom3
2025-01-10 09:07:00
Very red, that's for sure
Meow
2025-01-10 09:30:48
Writing a tutorial about using WebP lossless (including near-lossless) for a Chinese forum
2025-01-10 09:32:21
It explicitly says WebP lossy is worse than current JPEG encoders
2025-01-10 02:14:12
Uh an account is required for thumbnails https://www.tyboard.net/forum.php?mod=viewthread&tid=1770
2025-01-10 02:17:12
2025-01-10 02:21:21
Didn't know I could upload WebP on Discord now
username
2025-01-10 02:59:53
WebP has worked on Discord for quite a while
Meow
2025-01-10 03:09:26
Hmm I haven't tried it for long time
2025-01-10 04:59:27
So impressive that thumbnails display more information than original images
Demiurge
2025-01-11 04:22:48
Discord breaks if you don't have webp support :/
2025-01-11 04:24:07
One of the only websites that won't allow you to disable webp in the browser and accept headers
Meow
2025-01-11 06:48:46
I wouldn't disable something part of <@532010383041363969>'s masterpiece
jonnyawsom3
2025-01-11 07:34:14
Lossy wasn't his work, but yeah
Demiurge
2025-01-11 08:45:05
He was ordered to cripple it on purpose too, to match the limits of the crappy lossy mode.
2025-01-11 08:45:39
Even though there was no technical reason not to support higher bit depths and larger image sizes
_wb_
2025-01-11 09:33:36
Image sizes no, hardcoding for 8-bit does allow some things that become harder when you also have to support higher bit depths though. Such as the color cache.
Meow
2025-01-11 01:27:10
Decided to follow this for PNG again https://imageoptim.com/color-profiles.html
2025-01-11 01:28:13
Fed up by many weird colour profiles (not spaces)
Quackdoc
2025-01-11 03:05:58
> Save images in the sRGB profile with gamma 2.2, but don't embed any profile in the image. That's the most compatible and most efficient solution. heresy
2025-01-11 03:07:04
boy I hate this
2025-01-11 03:08:15
if you want accuracy, save with 2.2 *and tag with 2.2*
2025-01-11 03:08:33
that way colormanaged applications will do it right, and non colormanaged applications can get it rough 50% of the time
Meow
2025-01-11 03:13:19
He has some strong hates on something like animated images
2025-01-11 04:57:43
Do JPEG and JPEG XL both always add sRGB IEC61966-2.1 on purpose when the original PNG file doesn't include any colour profile?
A homosapien
Meow Decided to follow this for PNG again https://imageoptim.com/color-profiles.html
2025-01-11 06:18:45
I legitimately did this for a time, most apps I was using didn't have color management (or a really bad implementation) so stripping out the profile after converting to srgb was more consistent and less of a hassle for me. 😅
2025-01-11 06:30:31
I thought the icc profile was just bloat
Quackdoc if you want accuracy, save with 2.2 *and tag with 2.2*
2025-01-11 06:31:50
Apparently at the time leaving your images untagged was the most consistent for some reason. https://kornel.ski/en/color
2025-01-11 06:33:24
If you don't agree with his reasoning, you can just ping the dev, he's here in the server
spider-mario
2025-01-11 06:36:37
I’m not sure I realised that ICC profiles even existed before I learnt of their function
_wb_
2025-01-11 08:20:42
Using untagged implicitly sRGB images is kind of OK imo, probably even a good idea a few years ago, but I think today many displays are P3 and it's better not to clamp the gamut.
spider-mario
2025-01-11 08:24:13
and even libjxl’s Display-P3 ICC profile (not enum) is 536 bytes, nowhere near the 100 kB mentioned on that imageoptim page
Quackdoc
2025-01-11 08:30:38
using untagged images is ok as long as you have no care for decent accuracy
2025-01-11 08:31:35
whether an app linearizes the image using the inverse sRGB oetf or using a pure 2.2 is up in the air. and ofc you have the issues of display too but you have that anyways
_wb_
2025-01-11 08:48:19
Usually only CMYK profiles get really big, as in hundreds of kB. Typical RGB spaces can all be described in an ICC profile well under 1kB.
2025-01-11 08:49:47
Untagged means sRGB according to W3C, and by now I think all browsers follow that.
dogelition
Quackdoc that way colormanaged applications will do it right, and non colormanaged applications can get it rough 50% of the time
2025-01-11 09:14:51
realistically, don't most people use color managed applications (web browsers) with ~2.2 displays and the default (sRGB) icc profile? that makes it look wrong
Quackdoc
2025-01-11 09:21:24
we don't know how displays work on average, best guess is a survey filmlight that found around that at minimum 25% of displays, possibly 50% use a inverse sRGB oetf. We also can't always know for sure how our source image was graded. This is why tagging 2.2 is ideal. On a color managed pipeline it will work perfectly. Applications can take the 2.2 tagged image and convert it to to display properly on an inverse oetf monitor. On a color managed application and a non colormanaged display, the color managed application *should* pass through the 2.2 as is, so should the non color managed application. at this point you have a "best guess" of around 75-50% chance your image will display correctly. this also has the benefit of making editing the image way easier since we don't need to guess if it was sRGB encoded or 2.2 encoded
dogelition
2025-01-11 09:26:52
> On a color managed application and a non colormanaged display, the color managed application *should* pass through the 2.2 as is right, except iirc that's neither what chrome nor firefox does if you just have the default sRGB profile assigned in windows
Quackdoc
2025-01-11 09:32:58
yeah but then you have a color managed application and a colormanaged display
dogelition
2025-01-11 09:36:11
i'm just talking about what windows does out of the box
Quackdoc
2025-01-11 09:37:53
iirc windows sets the default profile based on EDID
dogelition
2025-01-11 09:38:38
no, you just get the sRGB profile
Quackdoc
2025-01-11 09:41:14
hmmm, last time I checked my TV defaulted to a rec709 profile, but I can check again
username
2025-01-11 10:48:45
maybe if your on Windows 11 and have some bleeding new monitor but in my experience whenever I or a friend try plugging in a P3 monitor Windows will have no clue it's P3 and you need to go out of your way to download the ICC from the manufacturer and set the monitor to it
2025-01-11 10:49:13
this is how it's been for all my P3 monitors and most if not all of my friend's P3 monitors
paperboyo
_wb_ Usually only CMYK profiles get really big, as in hundreds of kB. Typical RGB spaces can all be described in an ICC profile well under 1kB.
2025-01-12 03:07:13
> by now I think all browsers follow that Last time I checked, Firefox default was still to displayed untagged images in monitor‘s colourspace? (they’ve fixed it and then went back) But I haven‘t checked in a while.
Meow
spider-mario and even libjxl’s Display-P3 ICC profile (not enum) is 536 bytes, nowhere near the 100 kB mentioned on that imageoptim page
2025-01-12 05:14:01
Maybe that's an issue only for JPEG and PNG
2025-01-17 08:26:27
Does FileOptimizer use more efforts on PNG by default? The optimisation took longer than my expectation
2025-01-17 08:26:55
Usually I use ImageOptim on macOS
2025-01-17 08:43:52
For a 2 MiB PNG, FileOptimizer took about 10 minutes by default (effort 5), and it took about 30 minutes at effort 9 with additional saving of... 2 KiB
2025-01-17 08:47:47
Converting to lossless WebP could be significantly slower than lossless JXL but still be massively faster than PNG optimisation
TheBigBadBoy - 𝙸𝚛
2025-01-17 10:16:59
FileOptimizer simply uses ECT under the hood (between others), but I don't remember what was their default compression setting (I saw many times `-60099`, but not sure)
Meow
2025-01-17 10:24:31
The OxiPNG phrase took the longest
Demiurge
2025-01-17 11:09:43
Oxipng never takes more than a second or two per image for me on an ancient cpu
2025-01-17 11:10:01
Usually under a second
jonnyawsom3
2025-01-17 11:15:15
Well, depends on settings, and the image
2025-01-17 11:15:41
Worst case it's using Zopfli, which isn't a multithreaded fork like ECT
Meow
2025-01-17 11:58:48
Is there any PNG optimisation that utilises multithreads?
jonnyawsom3
2025-01-17 12:00:50
Well, *sometimes* ECT does with `--mt-deflate`
Demiurge
2025-01-17 12:21:18
Just use default oxipng...
2025-01-17 12:21:26
It's crazy fast
Meow
Demiurge Just use default oxipng...
2025-01-17 01:25:22
I didn't change anything for that 10-minute optimisation
2025-01-17 01:25:39
Everything was default
Demiurge
2025-01-17 01:28:17
oxipng standalone (not part of some other image optimizer ui) never takes that long
2025-01-17 01:28:38
When I run oxipng by itself on the command line it always finishes in 1 second
CrushedAsian255
2025-01-17 01:34:46
How big was the image?
Meow
CrushedAsian255 How big was the image?
2025-01-17 01:50:58
I've said, about 2 MiB
2025-01-17 01:51:36
This one
DZgas Ж
2025-01-17 02:00:50
<:garfieldneutral:823249094180732998> Neuron Activation<:garfieldsurprised:823250154319773727>
Meow
2025-01-17 02:11:01
Much faster with ImageOptim but the compression isn't that aggresive
2025-01-17 02:12:34
About 6 KiB larger than the highest effort of FileOptimizer unfortunately
A homosapien
2025-01-18 12:49:50
pingo is also multithreaded and is somewhat faster than ECT in my testing
2025-01-18 12:54:22
```wintime -- oxipng -a --strip all janeDoe.png PageFaultCount: 66614 PeakWorkingSetSize: 71.63 MiB QuotaPeakPagedPoolUsage: 29.79 KiB QuotaPeakNonPagedPoolUsage: 7.297 KiB PeakPagefileUsage: 106.9 MiB Wall time: 0 days, 00:00:00.940 (0.94 seconds) User time: 0 days, 00:00:00.078 (0.08 seconds) Kernel time: 0 days, 00:00:01.265 (1.27 seconds) wintime -- pingo -l -strip janeDoe.png PageFaultCount: 60378 PeakWorkingSetSize: 63.04 MiB QuotaPeakPagedPoolUsage: 28.73 KiB QuotaPeakNonPagedPoolUsage: 7.43 KiB PeakPagefileUsage: 73.99 MiB Wall time: 0 days, 00:00:00.632 (0.63 seconds) User time: 0 days, 00:00:00.046 (0.05 seconds) Kernel time: 0 days, 00:00:00.625 (0.62 seconds) wintime -- ect --mt-deflate -strip janeDoe.png PageFaultCount: 163015 PeakWorkingSetSize: 68.36 MiB QuotaPeakPagedPoolUsage: 25.8 KiB QuotaPeakNonPagedPoolUsage: 9.422 KiB PeakPagefileUsage: 74.86 MiB Wall time: 0 days, 00:00:01.592 (1.59 seconds) User time: 0 days, 00:00:00.093 (0.09 seconds) Kernel time: 0 days, 00:00:02.640 (2.64 seconds)```
2025-01-18 12:55:21
```oxipng - 1,897,397 bytes pingo -- 1,906,135 bytes ECT ---- 1,907,564 bytes```
Meow
2025-01-18 04:42:34
Isn't -a (--alpha) of OxiPNG somehow a bit lossy for the Alpha channel?
2025-01-18 05:01:27
Testing again as I didn't put --strip correctly
2025-01-18 05:02:58
I thought -s and --strip were exactly identical
A homosapien
Meow Isn't -a (--alpha) of OxiPNG somehow a bit lossy for the Alpha channel?
2025-01-18 05:15:27
Unless you're using the 100% transparent pixel values for something, the loss is not important.
Meow
A homosapien Unless you're using the 100% transparent pixel values for something, the loss is not important.
2025-01-18 05:20:33
`dssim 0.00000000 ssimulacra2 100.00000000` That's true
2025-01-18 05:22:53
And interesting that `oxipng -o max -a -Z` performed significantly faster than without -a
A homosapien
2025-01-18 05:28:02
I would recommend using `--fast` with `-Z`
2025-01-18 05:28:12
speeds things up quite a bit
Meow
2025-01-18 05:44:02
`byte sec command 1,891,258 236 -o max -a -Z 1,895,231 4 -o max -a 1,895,231 93 (ImageOptim Pngcrush+OxiPNG) 1,895,597 111 -o max -a -Z --fast 1,981,670 386 -o max -Z 1,981,670 162 -o max -Z --fast 1,987,272 5 -o max`
2025-01-18 05:45:30
all with `--strip all`
2025-01-18 05:48:55
Surprisingly efficient with `oxipng -o max -a --strip all`
A homosapien
2025-01-18 06:15:20
fun fact, `-o 4` is often just as small as `-o max` so if you want speed its a good option
Meow
2025-01-18 10:04:54
Doing -o max -a -Z on my favourites and wow about 20 KB is saved within 2 hours
CrushedAsian255
2025-01-18 10:05:23
nice
Meow
2025-01-18 10:33:29
That's for images already optimised before
2025-01-18 10:34:01
Sometimes it would say "Could not optimize further, no change written"
2025-01-18 11:17:08
file size = 3335881 bytes (2510 bytes = 0.08% decrease)
TheBigBadBoy - 𝙸𝚛
Meow `byte sec command 1,891,258 236 -o max -a -Z 1,895,231 4 -o max -a 1,895,231 93 (ImageOptim Pngcrush+OxiPNG) 1,895,597 111 -o max -a -Z --fast 1,981,670 386 -o max -Z 1,981,670 162 -o max -Z --fast 1,987,272 5 -o max`
2025-01-18 12:34:10
```1,893,329 48m10s ect -99999 --mt-deflate -strip 1,893,382 8m46s ect -80199 --mt-deflate -strip 1,893,877 4.7s ect -9 --mt-deflate -strip``` I think that ECT is a little bad at dealing with alpha all the cases where I saw ECT loosing (ie not giving the smallest output) had alpha perhaps there is no alpha loss at all (even if completely transparent and would not change anything visually)?
Meow
2025-01-18 12:36:52
It took 40 minutes more for saving another 53 bytes
TheBigBadBoy - 𝙸𝚛
2025-01-18 12:37:02
<:YEP:808828808127971399>
2025-01-18 12:38:06
and perhaps it could save a few bytes again by not using `--mt-deflate` [⠀](https://cdn.discordapp.com/emojis/654081052108652544.webp?size=48&name=av1_Hmmm)
Meow
2025-01-18 12:41:43
ZopfliPNG prevails
DZgas Ж
Meow Someone tried QOA?
2025-01-18 01:16:06
no
Meow
2025-01-19 10:55:41
Still spending my entire weekend on using ZopfliPNG via OxiPNG towards my favourites
2025-01-19 10:56:42
Sometimes it could save about 1% additionally that's impressive
2025-01-19 02:40:56
`11296138 bytes (34 bytes = 0.00% decrease)` Niiiiiiiiiice
DZgas Ж
2025-01-20 07:46:37
`ffmpeg -i INPUT -movflags +faststart -pix_fmt yuv420p -vf "hqdn3d=luma_spatial=1:chroma_spatial=1:chroma_tmp=2:luma_tmp=3,zscale=w=1280:h=-2:filter=spline36" -c:a libopus -b:a 120k -frame_duration 60 -vbr on -c:v libx265 -preset placebo -bf 5 -refs 4 -crf 26 -g 900 -x265-params "open-gop=1:me=star:rskip=0:tskip=0:scenecut=0:rc_lookahead=60:aq-mode=3:lookahead-slices=0:wpp=1:ctu=32:b-intra=1:qg-size=32:subme=7:qpstep=10:aq-mode=3:weightp=0:weightb=0:aq-strength=1.4:tu-intra-depth=4:tu-inter-depth=4:early-skip=1:rd=6:qcomp=0.7:rect=0:amp=0:psy-rd=0:rdoq=0:psy-rdoq=0:cbqpoffs=-2:crqpoffs=-4:min-cu-size=16:no-deblock=1:max-merge=5:merange=92:frame-threads=1" TG_OUT_EASYHEVC.mp4` special key for hevc. I make it for a very long time. hevc result in decoding speed is same to avc at the same resolution. Default for 4-6 cores. For parallelization on 8+ cores replace frame-threads=1 with frame-threads=4 at the end 1280x only. crf 26-28 only.
2025-01-20 07:51:14
made for telegram <:H265_HEVC:805856045347242016>
Meow
2025-01-20 11:54:00
`16201380 bytes (13 bytes = 0.00% decrease)` Yeeeeeeees
2025-01-20 11:54:42
Wonder if I can't reach closer to 0
TheBigBadBoy - 𝙸𝚛
Meow This one
2025-01-20 12:41:59
is it that file ?
Meow
2025-01-20 12:56:04
I've been optimising other files
Kleis Auke
2025-01-20 04:28:43
It always makes me sad when I read things like "There is little support for JXL and it is unclear if it will gain acceptance on the web (especially as Chrome removed support)." - https://github.com/lovell/sharp/issues/4314
Quackdoc
2025-01-20 04:34:22
we can be in comfort knowing they are wrong because apple devices are already a, while a minority, still a significant one
jonnyawsom3
2025-01-20 04:48:29
It makes me wince seeing UltraHDR when jpegli can already do it without having to bloat filesizes
Demiurge
2025-01-20 11:34:17
"UltraHDR" is cringe
Quackdoc
2025-01-20 11:36:05
ultraHDR is chad [av1_chad](https://cdn.discordapp.com/emojis/862625638238257183.webp?size=48&name=av1_chad)
2025-01-20 11:36:33
anything that helps me leave cursed SDR is good in my books 😎
jonnyawsom3
2025-01-20 11:37:44
~~Meanwhile me on my 8 year old hardware~~
Quackdoc
2025-01-20 11:42:34
Linux and panel swap time [av1_chad](https://cdn.discordapp.com/emojis/862625638238257183.webp?size=48&name=av1_chad)
Meow
2025-01-21 06:56:39
It took over 4 hours to optimise 4 images about 300 KiB each, with ZopfliPNG via OxiPNG on an office laptop
Demiurge
2025-01-21 07:36:33
https://www.jwz.org/blog/2023/09/webp-is-going-great/
2025-01-21 07:36:38
I love jwz :D
Meow
2025-01-21 08:16:33
OxiPNG: `public.png: Invalid PNG header detected`
2025-01-21 08:17:10
OxiPNG: `55530 bytes (17.92% smaller): ...\dog.png`
A homosapien
Meow OxiPNG: `public.png: Invalid PNG header detected`
2025-01-21 08:26:20
This is actually an AVIF
Meow
2025-01-21 08:27:04
Hmm that damn source calls it PNG
2025-01-21 08:28:35
That `dog.png` is hosted by the website itself instead
juliobbv
Meow OxiPNG: `public.png: Invalid PNG header detected`
2025-01-21 07:19:41
hold on, does discord now support AVIF previewing?!
2025-01-21 07:20:34
you only need to rename them to a png? <:kekw:808717074305122316>
jonnyawsom3
2025-01-21 07:20:43
Apparently on Desktop, yes
2025-01-21 07:20:48
On my phone it was broken
juliobbv
2025-01-21 07:20:55
huh
2025-01-21 07:21:11
that's news for me
Quackdoc
2025-01-21 07:21:26
yeah, discord desktop is just an electron app, so it uses electron to render the preview
AccessViolation_
2025-01-21 07:21:50
jonnyawsom3
2025-01-21 07:21:58
Wait, nevermind, it's sending WebP
AccessViolation_
AccessViolation_
2025-01-21 07:22:32
I don't have a JXL capable browser signed into Discord but I'm gonna assume it doesn't work lol
juliobbv
Quackdoc yeah, discord desktop is just an electron app, so it uses electron to render the preview
2025-01-21 07:22:35
so, the previous behavior (for the longest time) was that discord used to refuse to give a preview of AVIF files
Quackdoc
2025-01-21 07:22:41
if you are on desktop app or chrome, better discord has an extension that lets you embed more formats directly
juliobbv so, the previous behavior (for the longest time) was that discord used to refuse to give a preview of AVIF files
2025-01-21 07:23:12
yeah, for the desktop app it was likely because of old chromium. on web app it worked for me for a long time
juliobbv
2025-01-21 07:23:45
interesting 🤔
2025-01-21 07:24:13
Quackdoc
2025-01-21 07:24:23
https://github.com/Knewest/embed-more-images
juliobbv
juliobbv
2025-01-21 07:25:01
aww it still doesn't work for jxls
2025-01-21 07:25:09
worth the 5 second try though
Quackdoc
2025-01-21 07:25:25
yeah since it relies on the browser, if you use betterdiscord in a modded chromium and mod this extension it does work
2025-01-21 07:25:42
I did try with the wasm extensions but it doesnt work, chromium itself needs to support it
juliobbv
Quackdoc yeah, for the desktop app it was likely because of old chromium. on web app it worked for me for a long time
2025-01-21 07:29:16
it's worse IIRC, discord clients have code to show which image/video attachments are "thumbnailable", so the previous behavior was that if you dragged an AVIF as an attachment, you got a preview of the file (because the underlying Electron browser supporting the format), but once uploaded there was no thumbnail and the attachment just looked like a regular file
2025-01-21 07:29:52
this is without extensions of course
2025-01-21 07:30:04
extensions are love and life <:Hypers:808826266060193874>
Quackdoc
2025-01-21 07:30:08
yes. that is because discord transcodes the image themselves and creates the thumbnail. This is necessary, but since they use their own software its fairly limited
juliobbv
2025-01-21 07:31:12
I wish they would've worked on supporting AV1 video first, it would've caused an overall greater impact
2025-01-21 07:32:21
but I guess they're too worried about inconsistent behavior because of iOS users without HW accelerated AV1 playback being unable to play those vids
Quackdoc
2025-01-21 07:34:08
i dunno, all I know is that I wish we had more third party apps lol
juliobbv
2025-01-21 07:35:07
me too
Quackdoc
2025-01-21 07:35:41
we also have https://github.com/Knewest/uncompressed-discord-images extension which is nice
juliobbv me too
2025-01-21 07:36:33
the only one I know of is https://github.com/diamondburned/dissent/ which requires gtk sadly
AccessViolation_
juliobbv I wish they would've worked on supporting AV1 video first, it would've caused an overall greater impact
2025-01-21 07:40:09
I thought they used AV1 for streaming at this point?
juliobbv
AccessViolation_ I thought they used AV1 for streaming at this point?
2025-01-21 07:41:07
only for certain nvidia cards with AV1 HW acceleration IIRC
AccessViolation_
2025-01-21 07:41:12
https://support.discord.com/hc/en-us/articles/12158692510743-Video-Codec-FAQ#h_01GRYP1FMKTKBCHQ198JCPM0Q1
juliobbv
2025-01-21 07:41:42
i.e. nvidia paid discord some mad money and discord said "yes master"
AccessViolation_
juliobbv only for certain nvidia cards with AV1 HW acceleration IIRC
2025-01-21 07:42:20
(to add, only encoding acceleration is required from the streamer, everyone will see AV1 streams regardless, according to the above support page)
2025-01-21 07:42:51
Wait so it doesn't work on systems that have other AV1 encoding hardware? Just Nvidia GPUs?
Quackdoc
juliobbv only for certain nvidia cards with AV1 HW acceleration IIRC
2025-01-21 07:43:01
I wonder if there is a client mod to use it for amd andintel ones
AccessViolation_
2025-01-21 07:44:28
Man that's kinda scummy
2025-01-21 07:45:32
I guess Nvidia's deal is a net positive even if it's costing them more in bandwidth to serve H.264 compared to AV1
juliobbv
AccessViolation_ Wait so it doesn't work on systems that have other AV1 encoding hardware? Just Nvidia GPUs?
2025-01-21 07:46:12
nope, just nvidia right now AFAICT
2025-01-21 07:46:28
they might've even used a vendor-specific API FWIW
Quackdoc I wonder if there is a client mod to use it for amd andintel ones
2025-01-21 07:47:19
I wonder so too, they'd need to write some kind of wrapper to translate between API calls I guess
2025-01-21 07:47:56
this was done pre-Vulkan video encode extensions
AccessViolation_
2025-01-21 07:48:21
Maybe you can point an AV1 stream at their API endpoint instead of letting the Discord client generate a H.264 stream
Quackdoc
juliobbv I wonder so too, they'd need to write some kind of wrapper to translate between API calls I guess
2025-01-21 07:48:28
it is just chromium, so no need
2025-01-21 07:48:33
it will use what chromium uses.
2025-01-21 07:48:54
likely vaapi, they are likely checking gpu on linux? dunno never looked into it
juliobbv
2025-01-21 07:52:55
I mean the encode part, I'm not entirely sure if they used the stock chromium video encode API, or wrote an Electron extension to talk to a custom API and bundled it with their standalone clients (but this seems way less likely)
Quackdoc
2025-01-21 07:54:28
couldnt say
juliobbv
2025-01-21 07:55:13
a good exercise for modders to investigate 😎
jonnyawsom3
AccessViolation_ (to add, only encoding acceleration is required from the streamer, everyone will see AV1 streams regardless, according to the above support page)
2025-01-21 08:33:25
They were meant to have a fallback, so that if a viewer doesn't have hardware decoding, the stream fallsback to H264/H264... That doesn't work, as I found out when my friend with a 4090 reduced my computer to a stutter by sharing their 4K screen
2025-01-21 08:34:10
I was in a game at the time, wondered why I was only getting 12fps and huge stutters... Had a hunch, opened the debug info and it was 4K AV1
AccessViolation_
2025-01-21 08:34:29
I think the Discord-approved solution to this is that you should also buy a 4090 from their business partner
jonnyawsom3
2025-01-21 08:34:36
5090
Quackdoc
They were meant to have a fallback, so that if a viewer doesn't have hardware decoding, the stream fallsback to H264/H264... That doesn't work, as I found out when my friend with a 4090 reduced my computer to a stutter by sharing their 4K screen
2025-01-21 08:35:33
lmao
2025-01-21 08:35:40
discord dev moment
2025-01-21 08:36:19
that being said, I would stream 720p easily assuming decent down sampling, too bad thats pretty hard to do for text
AccessViolation_
5090
2025-01-21 08:36:47
Is that the one that people thought had great improvements but the provided benchmarks used frame generation?
Quackdoc
2025-01-21 08:36:55
WHAT
2025-01-21 08:37:03
LMAO thats messed up
AccessViolation_
2025-01-21 08:37:50
Yeah it was like, for every frame there were two AI generated ones, and that mode was used for the benchmarked games
2025-01-21 08:38:19
Or that's what I heard, I didn't watch it
2025-01-21 08:38:37
I don't really care personally, I'm content with my laptop and steam deck
jonnyawsom3
2025-01-21 08:38:46
https://discord.com/channels/794206087879852103/806898911091753051/1331362457041768482
Demiurge
2025-01-22 07:46:44
Wouldn't frame generation massively increase input lag?
CrushedAsian255
2025-01-22 09:21:28
Around 1 to 2 (real) frames
Demiurge
2025-01-22 10:29:46
That's really awful actually. So it's basically no different than enabling vsync + motion blur to add a ton of lag to your screen like a drunk and intoxicated effect. But it's even worse because it "increases" your fps making you think you're getting faster performance when it's actually making it tremendously slower to react to your input and movements
CrushedAsian255
2025-01-22 11:10:16
someone did a test of 60-80 ms, which is not great
jonnyawsom3
2025-01-22 07:57:35
They combat it with 'Just use Reflex' and now with Reflex 2 it *might* feel like better latency even if it's fake
juliobbv
2025-01-22 10:10:19
5000s new multi-frame gen doesn't seem to be too good
2025-01-22 10:10:36
it generates too many shimmering and ghosting artifacts
2025-01-22 10:11:16
the new transformer upscaling does look promising though
Scott Kidder
juliobbv hold on, does discord now support AVIF previewing?!
2025-01-23 02:11:59
yeah, Discord web & desktop now support AVIF attachments & embeds, requested as WebP by the app for broader compatibility
juliobbv
Scott Kidder yeah, Discord web & desktop now support AVIF attachments & embeds, requested as WebP by the app for broader compatibility
2025-01-23 02:12:32
excellent job!
Scott Kidder yeah, Discord web & desktop now support AVIF attachments & embeds, requested as WebP by the app for broader compatibility
2025-01-23 02:13:05
question: are there plans to support HDR?
2025-01-23 02:13:57
the current resizer seems to handle HDR in a funky way -- the colors look washed out
2025-01-23 02:14:04
example:
DZgas Ж
2025-01-23 02:17:42
<:PepeGlasses:878298516965982308> no way
Scott Kidder
2025-01-23 02:17:54
yeah, resizing converts images to 8-bit depth, but does propagate ICC color profile data that image uses 12-bit color, so the conversion from 12->8 bit color is probably what's goin on
juliobbv
2025-01-23 02:18:57
ah, that's probably why
Scott Kidder
2025-01-23 02:20:19
yep, one major advantage of JPEG-XL and AVIF for sure
DZgas Ж
2025-01-23 02:20:36
this is small BRUH because when you open the original, discord force download, not viewing it as a webp/jpeg/png
juliobbv
Scott Kidder yep, one major advantage of JPEG-XL and AVIF for sure
2025-01-23 02:21:20
the image doesn't have an ICC profile, just CICP metadata
2025-01-23 02:21:51
it's not mine, but it was most likely a frame taken from a video capture
2025-01-23 02:22:27
so most likely the PQ transfer is getting messed up with the conversion to webp
2025-01-23 02:22:58
where can I report this? the lilliput repo?
DZgas Ж this is small BRUH because when you open the original, discord force download, not viewing it as a webp/jpeg/png
2025-01-23 02:24:50
this is likely the discord CDN need to be taught the correct MIME type for AVIFs
DZgas Ж
2025-01-23 02:25:00
finally 0 kb image
Scott Kidder
juliobbv where can I report this? the lilliput repo?
2025-01-23 02:25:31
yeah, plz do, just open an issue here with details: https://github.com/discord/lilliput
juliobbv
Scott Kidder yeah, plz do, just open an issue here with details: https://github.com/discord/lilliput
2025-01-23 02:26:17
sweet, will do
juliobbv this is likely the discord CDN need to be taught the correct MIME type for AVIFs
2025-01-23 02:27:41
for this one, is there a specific place to report?
DZgas Ж
juliobbv this is likely the discord CDN need to be taught the correct MIME type for AVIFs
2025-01-23 02:28:16
It really amazes me how they can work like this. How can they add format support BUT never open it. just how possible <:NotLikeThis:805132742819053610>
juliobbv
DZgas Ж It really amazes me how they can work like this. How can they add format support BUT never open it. just how possible <:NotLikeThis:805132742819053610>
2025-01-23 02:29:43
that's prob because that falls under the purview of a different team (CDN in this case I think)
DZgas Ж
DZgas Ж finally 0 kb image
2025-01-23 02:30:19
my friend says that his discord crash when he tries to upload my picture lol
Scott Kidder
juliobbv for this one, is there a specific place to report?
2025-01-23 02:31:33
this repo is best for that CDN mime-type issue: https://github.com/discord/discord-api-docs/issues/
2025-01-23 02:32:01
I've already got a fix staged fwiw
DZgas Ж
juliobbv that's prob because that falls under the purview of a different team (CDN in this case I think)
2025-01-23 02:32:03
Well, this explains why Discord hasn't received native Av1 support for 7 years now
2025-01-23 02:32:21
<:Stonks:806137886726553651>
juliobbv
Scott Kidder I've already got a fix staged fwiw
2025-01-23 02:33:35
oh sweet, looking forward to it 👍
DZgas Ж Well, this explains why Discord hasn't received native Av1 support for 7 years now
2025-01-23 02:46:44
IIRC, this one was because the that software that creates the embed (including the thumbnail) requires an environment that understands parsing an AV1 video bitstream
2025-01-23 02:46:52
which wasn't the case for the longest time, not sure nowadays
2025-01-23 02:48:43
it might be now a case of "yep, we understand AV1 streams now" and the embedder will just work just like with VP9, AVC and HEVC
2025-01-23 02:49:23
hope <:JXL:805850130203934781> gets the respect it deserves soon too
Quackdoc
2025-01-23 02:52:37
tbf, I doubt discord will want to ship a wasm decoder any time soon which kinda bones web users.
juliobbv
2025-01-23 02:54:56
it could be done in a best-effort manner too: probe Electron/browser/etc for AV1 decoding/JXL decoding support, and only show the embed if there is support, otherwise show a regular attachment or serve a transcode
2025-01-23 02:56:12
but anyways, it's their choice
jonnyawsom3
2025-01-23 02:59:04
There *are* maintained patches for Chromium adding JXL support back in, ready for when they revise their decision, but Electron could be a bit more hassle
Quackdoc
2025-01-23 02:59:23
i wonder if one of the extensions things could bundles wasm [Hmm](https://cdn.discordapp.com/emojis/1113499891314991275.webp?size=48&name=Hmm)
DZgas Ж
juliobbv but anyways, it's their choice
2025-01-23 03:02:45
A bad choice is also a choice. which says something Well, or as they say. "WE implemented support for the animated webp, but WE haven't implemented support for apng, which had in our stickers for many years."
damian101
CrushedAsian255 someone did a test of 60-80 ms, which is not great
2025-01-23 11:27:45
That's bad. Add that point you should add lag to the audio for it to not appear out of sync...
2025-01-23 11:29:03
Our brain can somewhat adapt to audio lagging behind, and even some input lag, but not video lagging behind audio...
2025-01-23 11:29:50
Any video lag relative to audio of more than ~40ms is unacceptable.
AccessViolation_
2025-01-23 04:00:00
I may be getting ahead of myself but I'm unreasonably excited that the Discord Media Infrastructure EM just joined this server
jonnyawsom3
2025-01-23 04:13:05
My immediate thought was "Time to show them what JPEG XL is made of"
AccessViolation_
2025-01-23 04:19:52
With the sheer amount of JPEGs uploaded by users that are just sitting in storage, and mostly have their webp previews served, I imagine the 'lossless JPEG transcoding' could be pretty huge just for storage even if you're never serving them to users
2025-01-23 04:20:32
But this goes for many platforms, I'd expect the Internet Archive, Wikimedia etc to be all over this but they're not
2025-01-23 04:23:00
Maybe a 20% reduction in storage usage isn't worth the effort
My immediate thought was "Time to show them what JPEG XL is made of"
2025-01-23 04:24:44
Mine was "don't scare them away with your enthusiasm" <:galaxybrain:821831336372338729>
jonnyawsom3
AccessViolation_ With the sheer amount of JPEGs uploaded by users that are just sitting in storage, and mostly have their webp previews served, I imagine the 'lossless JPEG transcoding' could be pretty huge just for storage even if you're never serving them to users
2025-01-23 05:31:56
Well, currently mobile uploads are recompressed as quality 40 JPEGs, so you'd want normal lossy rather than transcoding to get more bang for your buck
Demiurge
2025-01-23 05:33:27
Personally I'm kinda sad about half baked formats like webp and avif wasting so much time and space.
AccessViolation_
Well, currently mobile uploads are recompressed as quality 40 JPEGs, so you'd want normal lossy rather than transcoding to get more bang for your buck
2025-01-23 05:34:47
Oh are they? Like you can't get the original back with 'Open in Browser' either?
Demiurge
2025-01-23 05:35:30
And being forced on everyone just because the guy who leads the team that pushed those formats also happens to be the key/sole decision maker over what codecs Chromium will support.
jonnyawsom3
AccessViolation_ Oh are they? Like you can't get the original back with 'Open in Browser' either?
2025-01-23 05:37:01
2025-01-23 05:37:29
Oh that is so much worse than I expected
AccessViolation_
2025-01-23 05:37:33
Oh that actually explains a lot
2025-01-23 05:38:20
You know I thought "wow phone cameras these days really go all out with tone mapping and post processing" but I guess they were just being compressed more. The tone mapping argument remains though xD
jonnyawsom3
2025-01-23 05:39:28
Uploading from Desktop still sends the raw file, so that's also still true. You can tell when someone's sent from mobile, not even sure how blue got into the black of the tunnel
AccessViolation_
Demiurge Personally I'm kinda sad about half baked formats like webp and avif wasting so much time and space.
2025-01-23 05:42:20
I honestly feel the exact opposite, working with JPEG XL, Rust, and other technologies that are significant improvements unironically fills me with determination
jonnyawsom3
2025-01-23 05:43:07
Strange that they lowered the quality instead of resolution, means absurdly high res files get rewarded more quality just from downscaling, even though they waste memory and time
2025-01-23 05:44:51
Actually, <#803645746661425173>
juliobbv
Strange that they lowered the quality instead of resolution, means absurdly high res files get rewarded more quality just from downscaling, even though they waste memory and time
2025-01-23 05:57:57
looks like it's both lowered quality *and* resolution
2025-01-23 05:58:56
original is 20 MP, encoded is 1.2 MP
Demiurge
AccessViolation_ I honestly feel the exact opposite, working with JPEG XL, Rust, and other technologies that are significant improvements unironically fills me with determination
2025-01-23 05:59:01
But the Chromium Codec Lord and webp/avif lead has declared in his infinite wisdom and ego that there just "isn't enough interest" compared to his own half baked formats
jonnyawsom3
juliobbv original is 20 MP, encoded is 1.2 MP
2025-01-23 05:59:15
Huh, so they took away the one way to work around it on mobile
juliobbv
2025-01-23 05:59:57
desktop uploads should still work I think, testing:
2025-01-23 06:00:54
yeah, desktop (more accurately, web interface) still keeps original resolution and quality
Demiurge
juliobbv desktop uploads should still work I think, testing:
2025-01-23 06:01:01
I'm just wondering why the black level on that image is so much brighter than the black discord chat background on my iphone
2025-01-23 06:01:15
Why is black not black
2025-01-23 06:01:59
That's clearly supposed to be a pitch black shadow, but it's brighter than the discord background
juliobbv
Demiurge I'm just wondering why the black level on that image is so much brighter than the black discord chat background on my iphone
2025-01-23 06:02:44
no idea TBH, I've seen cameras do blacks as dark grays as some sort of stylistic choice
Demiurge
2025-01-23 06:02:54
juliobbv
2025-01-23 06:03:20
Demiurge
2025-01-23 06:04:04
"Ugly and stupid and wrong" is not a valid stylistic preference... :(
juliobbv
Huh, so they took away the one way to work around it on mobile
2025-01-23 06:04:33
yeah, there's no way other than changing the extension unfortunately on mobile
2025-01-23 06:05:31
other than using a 3rd party client or literally load the desktop experience on the web
jonnyawsom3
Demiurge That's clearly supposed to be a pitch black shadow, but it's brighter than the discord background
2025-01-23 06:10:12
Here's the RAW, also wow. 8 years old and my phone has native 7z compression
AccessViolation_
2025-01-23 06:40:45
Okay so discord did also downscale the resolution then
2025-01-23 06:41:43
I didn't notice that at first, I was getting worried when at distance 24 it still wasn't smaller than Discord's JPEG 💀
jonnyawsom3
AccessViolation_ I didn't notice that at first, I was getting worried when at distance 24 it still wasn't smaller than Discord's JPEG 💀
2025-01-23 06:42:29
--resampling 8
2025-01-23 06:42:32
:>
AccessViolation_
2025-01-23 06:44:02
ooo I like that
2025-01-23 06:44:07
delightfully devilish
juliobbv
2025-01-23 06:50:13
prob --resampling 4 is best to match discord's target (that's what discord used to downscale it to)
jonnyawsom3
AccessViolation_ delightfully devilish
2025-01-23 06:50:18
Aurora Borealis, at this time of year, entirely localised to a Quality 40 JPEG?
juliobbv
Aurora Borealis, at this time of year, entirely localised to a Quality 40 JPEG?
2025-01-23 06:51:42
may I see it? ȳ̵̚e̵̪͗ś̴̺!
AccessViolation_
2025-01-23 06:52:42
Seymour! The colors are banding!
2025-01-23 06:54:12
*Steamed Hams Recited From Memory But I'm Obsessed With Image Formats*
jonnyawsom3
AccessViolation_ Seymour! The colors are banding!
2025-01-23 08:46:59
It's worse than I thought, maybe they do have some kind of size target that trades resolution for quality?
juliobbv
Scott Kidder yeah, plz do, just open an issue here with details: https://github.com/discord/lilliput
2025-01-23 08:47:15
filed https://github.com/discord/lilliput/issues/214
2025-01-23 08:48:15
github doesn't want avif or webp attachments? just rename their extensions to jpeg!
Simulping
AccessViolation_ I may be getting ahead of myself but I'm unreasonably excited that the Discord Media Infrastructure EM just joined this server
2025-01-23 10:54:36
they originally joined the av1 discord, I just brought them here <:kekw:992848817324052601>
AccessViolation_ Seymour! The colors are banding!
2025-01-23 10:56:01
No, mother, it's just macroblocking
CrushedAsian255
2025-01-23 11:00:16
-d 25 —resampling 8
Simulping
2025-01-23 11:03:54
https://www.rxddit.com/r/discordapp/comments/1i8c38s/i_hate_10mb_limit/ oh god not this again
2025-01-23 11:04:13
can we at least get mozjpeg q95 if compression is enabled
jonnyawsom3
2025-01-23 11:08:27
If you're gonna change it, why not jpegli
2025-01-23 11:08:42
Get the size of WebP but with actual progressive loading too
AccessViolation_
Simulping No, mother, it's just macroblocking
2025-01-23 11:15:56
Now these macroblocks are quire similar to the ones from JPEG '92 Oh ho ho ho ho noo, patent-free VarDCT! New quality coding tool!
Simulping
If you're gonna change it, why not jpegli
2025-01-23 11:36:53
it's better? <:av1_thinkies:895863009820414004>
2025-01-23 11:36:58
I haven't messed with images for a while now
jonnyawsom3
Simulping it's better? <:av1_thinkies:895863009820414004>
2025-01-23 11:41:51
<https://giannirosato.com/blog/post/jpegli-xyb/>
2025-01-23 11:42:21
Better than WebP, and better than AVIF above a score of 60 or so
2025-01-23 11:43:38
Then throw in the progressive loading, the gracefully degrading [10~bit encoding](<https://github.com/RawTherapee/RawTherapee/issues/7125#issuecomment-2538513015>)....
Simulping
2025-01-24 12:13:57
intriguing
2025-01-24 12:14:02
I'll switch over rq then
juliobbv
Scott Kidder I've already got a fix staged fwiw
2025-01-24 12:55:27
looks like the fix is in
2025-01-24 12:55:39
the original AVIF is opening in the browser now
jonnyawsom3
2025-01-24 02:21:46
Huh, well at least we know it's optmized https://cms.accuweather.com/wp-content/uploads/2025/01/trimmeduk-ezgif.com-overlay-smaller.gif?w=632
Meow
2025-01-24 02:38:23
Éowyn
Simulping
2025-01-24 03:56:58
does any1 know how to extract avif from an av1 video the *right way*?
2025-01-24 03:57:27
doing this results in a low quality image: `ffmpeg -ss 10:00 -t 1 -i in.mkv -frames:v 1 -c copy out.avif`
A homosapien
2025-01-24 04:08:31
what do you mean by low quailty? I've tried your method and it seems to work fine
Quackdoc
Simulping does any1 know how to extract avif from an av1 video the *right way*?
2025-01-24 04:16:31
in the av1 server in scripts channel search bsf
Simulping
A homosapien what do you mean by low quailty? I've tried your method and it seems to work fine
2025-01-24 04:17:05
the img looks much worse than the video itself
A homosapien
2025-01-24 04:18:12
I can't seem to replicate, comparing a screenshot of the video and the extracted avif, they look about the same
Quackdoc
Simulping the img looks much worse than the video itself
2025-01-24 04:18:31
is this a context skill diff? export as a png and diff it
Simulping
Quackdoc is this a context skill diff? export as a png and diff it
2025-01-24 04:18:44
not on desktop rn
2025-01-24 04:18:52
ill try ur script later
DZgas Ж
2025-01-24 08:09:23
does anyone know about the APV codec?
2025-01-24 08:11:45
2025-01-24 08:12:09
looks like google scam <:VP9:981490623452430376> <:avif:1280859209751334913>
2025-01-24 08:13:23
like EVC codec scam <:ReeCat:806087208678588437>
Quackdoc
2025-01-24 08:23:28
https://github.com/openapv/openapv
2025-01-24 08:23:33
it doesn't work last I checked it
2025-01-24 08:23:56
it just produced garbage
spider-mario
2025-01-24 08:25:33
looking at the readme, it seems to be intended as something like DNxHR / DNxHD / ProRes?
2025-01-24 08:26:52
not sure why I’d use it on an Android device
Quackdoc
2025-01-24 08:26:55
I believe so yes, I was sadly never able to get it working, but my workflow works just fine with jxl punted into an mkv anyways
spider-mario not sure why I’d use it on an Android device
2025-01-24 08:28:29
Phone capture, Generally (when paired with some light processing) phone cameras are generally capable enough to fit the needs of many videographers, the main issue is that we have HEVC or AVC for capture, both of which are... bad to put it in the best possible light
2025-01-24 08:28:47
this is to compete with iphone + prores
2025-01-24 08:30:55
actually, I wonder. I bet an hwaccel jxl encoder could do this quite nicely [Hmm](https://cdn.discordapp.com/emojis/1113499891314991275.webp?size=48&name=Hmm)
RaveSteel
spider-mario not sure why I’d use it on an Android device
2025-01-24 10:43:55
Maybe Google plans for parity in regards to video recording? Since Apple supports ProRes capture on the iPhone
2025-01-24 10:44:02
Very exciting it true
CrushedAsian255
Quackdoc actually, I wonder. I bet an hwaccel jxl encoder could do this quite nicely [Hmm](https://cdn.discordapp.com/emojis/1113499891314991275.webp?size=48&name=Hmm)
2025-01-24 10:45:14
DNjxL
AccessViolation_
2025-01-24 12:13:18
They probably want it for Pixel phones, the camera is a selling point
2025-01-24 12:13:44
I'm not sure we would have had their HDR JPEGs either if Pixel wasn't a thing
DZgas Ж
Quackdoc it doesn't work last I checked it
2025-01-24 01:02:22
yes, the same shit as the EVC. There are no encoders binary, no decoder, no comparisons of quality, speed, and no sense at all in all this It looks like they couldn't create an efficient AV1 encoder and don't want to take intel svt-av 1. just because. It's just that there's something that **one developer** want and could push into Android 16 for personal purposes. It's all very strange
2025-01-24 01:11:23
Okay. Let's we'll see later. Because I can't even look. This is what was done literally yesterday "by the standards metric", there are not even any tests anywhere. This year I faced the fact that AV1 is 10 times more expensive than AVC and I just can't use it as an codec that anyone can play. at 1280x720 resolution. Therefore, I spent a lot of time to create a HEVC version that will have super-fast decoding speed comparable to AVC. https://discord.com/channels/794206087879852103/805176455658733570/1330805672127758336 APV could probably be a good candidate to replace HEVC. Provided that the decoding complexity is the same. Provided that the quality is better than HEVC. Provided that the encoding speed is faster. -- but if at least one of these conditions is not met, well, it will be a useless codec. Because besides HEVC there is VP9 which also meets all the conditions, and even the decoding speed of VP9 is almost the same as AVC.
2025-01-24 01:12:11
vp9 is killed by parallelization issues at the design level of the standard
2025-01-24 01:12:41
svt-vp9 to be honest, worse than x264
jonnyawsom3
CrushedAsian255 DNjxL
2025-01-24 02:59:39
https://tinydng.com/
Meow
https://tinydng.com/
2025-01-24 03:28:34
Interesting > TinyDNG parses the input DNG file, and then it replaces the preview images with the Jpegli re-encoded data and replaces the high-resolution part with the JPEG-XL encoded data. The compression process runs in the browser, and no server is needed.
2025-01-24 03:31:09
Some mentioned before but I missed
jonnyawsom3
2025-01-24 03:33:50
I'm fairly sure it uses JXL not jpegli for the preview
Quackdoc
AccessViolation_ They probably want it for Pixel phones, the camera is a selling point
2025-01-24 06:41:20
Samsung is the ones announced to be supporting it
DZgas Ж yes, the same shit as the EVC. There are no encoders binary, no decoder, no comparisons of quality, speed, and no sense at all in all this It looks like they couldn't create an efficient AV1 encoder and don't want to take intel svt-av 1. just because. It's just that there's something that **one developer** want and could push into Android 16 for personal purposes. It's all very strange
2025-01-24 06:42:09
that in the end doesn't make much sense for this, since it is something only application/hardware devs will use
DZgas Ж Okay. Let's we'll see later. Because I can't even look. This is what was done literally yesterday "by the standards metric", there are not even any tests anywhere. This year I faced the fact that AV1 is 10 times more expensive than AVC and I just can't use it as an codec that anyone can play. at 1280x720 resolution. Therefore, I spent a lot of time to create a HEVC version that will have super-fast decoding speed comparable to AVC. https://discord.com/channels/794206087879852103/805176455658733570/1330805672127758336 APV could probably be a good candidate to replace HEVC. Provided that the decoding complexity is the same. Provided that the quality is better than HEVC. Provided that the encoding speed is faster. -- but if at least one of these conditions is not met, well, it will be a useless codec. Because besides HEVC there is VP9 which also meets all the conditions, and even the decoding speed of VP9 is almost the same as AVC.
2025-01-24 06:43:38
APV is going to be like, 10x bigger then hevc or vp9
DZgas Ж
Quackdoc APV is going to be like, 10x bigger then hevc or vp9
2025-01-24 06:51:37
<:galaxybrain:821831336372338729>
Quackdoc
DZgas Ж <:galaxybrain:821831336372338729>
2025-01-24 06:54:25
yup, as said here > The APV codec is a professional video codec, which was developed in response to the need for professional level high quality video recording and post production. it's intended as a replacement to something like prores/cineform/dnxhr basically, it's a mezzanine, you will likely get similar file sizes by just encoding a sequence of jxl frames
DZgas Ж
Quackdoc yup, as said here > The APV codec is a professional video codec, which was developed in response to the need for professional level high quality video recording and post production. it's intended as a replacement to something like prores/cineform/dnxhr basically, it's a mezzanine, you will likely get similar file sizes by just encoding a sequence of jxl frames
2025-01-24 06:59:55
clear. in general, the thing is not for normie people then it makes sense
2025-01-24 07:01:21
apart from avc and hevc, there are no other formats that can compress near loseless
2025-01-24 07:01:46
or some 12+ bits color
Quackdoc
2025-01-24 07:06:26
yup, and even then AVC and HEVC are far too slow to deal with in most workflows that this is intended for
Meow
https://tinydng.com/
2025-01-25 06:33:20
Seems they treat d0.5 as visually lossless
A homosapien
2025-01-25 08:10:42
which it is
Tirr
2025-01-25 08:13:44
d0.5 is lossless enough in most cases
Meow
2025-01-25 10:21:48
From the AIC-3 draft <@794205442175402004> shared in October
2025-01-25 10:22:46
2025-01-25 10:26:54
So there are some formal values for quality points
2025-01-25 10:28:29
Use cases as well
_wb_
2025-01-25 11:21:27
This is still just a draft, it may change during the process. Plan is to submit DIS in April, and then it's about half a year for national standardization bodies to comment.
Meow
2025-01-25 11:22:49
Sure just for references and not official yet
2025-01-25 05:03:04
Then WebP's recommended near-lossless 60 is also roughly identical to "boosted visually lossless"
Jyrki Alakuijala
Meow Then WebP's recommended near-lossless 60 is also roughly identical to "boosted visually lossless"
2025-01-25 07:06:13
I feel like that's my private recommendation -- has that been lifted into an official recommendation by the webp maintenance team?
Meow
2025-01-25 07:16:00
Yeah it's not officially recommended. No value is defined.
2025-01-25 07:21:48
I would presume that this feature has been forgotten for years and there was even no review for it
2025-01-25 07:22:50
I wouldn't call my short tutorial and comparison as a review
Demiurge
2025-01-25 09:26:41
No one should give Google any money or watch YouTube without an ad blocker frankly
2025-01-25 09:27:04
You're already paying them with your taxes
RaveSteel
Simulping doing this results in a low quality image: `ffmpeg -ss 10:00 -t 1 -i in.mkv -frames:v 1 -c copy out.avif`
2025-01-26 12:40:08
Did you do some further testing after this?
Simulping
RaveSteel Did you do some further testing after this?
2025-01-26 01:16:04
not yet
Demiurge You're already paying them with your taxes
2025-01-26 01:35:03
no i don't <:trollhq:1116404564007080067>
Demiurge
2025-01-26 04:24:15
You don't pay taxes? Nice. It's typically not a good idea in the long term to give gangs and protection rackets what they want.
Meow
Jyrki Alakuijala I feel like that's my private recommendation -- has that been lifted into an official recommendation by the webp maintenance team?
2025-01-26 06:45:22
> Specify the level of near-lossless image preprocessing. This option adjusts pixel values to help compressibility, but has minimal impact on the visual quality. It triggers lossless compression mode automatically. The range is 0 (maximum preprocessing) to 100 (no preprocessing, the default). The typical value is around 60. Note that lossy with -q 100 can at times yield better results.
Simulping
Demiurge You don't pay taxes? Nice. It's typically not a good idea in the long term to give gangs and protection rackets what they want.
2025-01-26 12:29:09
I evade taxes daily
2025-01-26 12:29:24
like buying food
2025-01-26 12:29:26
<:trollhq:1116404564007080067>
RaveSteel
Simulping I evade taxes daily
2025-01-26 12:43:24
https://tenor.com/view/giga-chad-gigachad-big-gif-21053844
Meow
2025-01-30 06:11:32
The metric for WebP in this test looks questionable for me https://www.ctrl.blog/entry/webp-vs-guetzli-zopfli.html
2025-01-30 06:13:31
And it seems that the author confuses with how those encoders really did
_wb_
2025-01-30 09:18:26
Wait, does the author assume that webp qX is the same quality as guetzli qX or libjpeg-turbo qX?
Meow
2025-01-30 10:09:37
Coincidentally I tested some lossy WebP results yesterday and its q88 was closer to JXL d2.0
2025-01-30 10:10:22
Yes distance 2.0
HCrikki
2025-01-30 12:26:32
the images should always be included. it was a huge eyeopener for me seeing what the appraised ultralow filesizes for another format actually represented (unusable quality levels far worse than what wouldve been tolerated with jpeg)
Meow
2025-01-30 12:44:12
I found it as I was seeking some reviews about WebP near-lossless. But `-near_lossless 98` in that isn't quite meaningful at all
2025-01-30 05:11:47
I could say Jpegli could be even better than WebP near-lossless in terms of compression ratio
2025-01-30 05:14:33
This makes the use cases of WebP near-lossless significantly fewer
jonnyawsom3
Meow I could say Jpegli could be even better than WebP near-lossless in terms of compression ratio
2025-01-30 06:17:46
Not specifically near-lossless, but https://giannirosato.com/blog/post/jpegli-xyb/
Meow
2025-01-30 06:18:44
Yeah this is where I know that Jpegli supports XYB
A homosapien
2025-01-31 01:35:15
Visually lossless is a better word to describe the high fidelity qualilty range.
2025-01-31 01:49:49
Which is something WebP can't do well, even Jpeg blows it out of the water
Meow
A homosapien Which is something WebP can't do well, even Jpeg blows it out of the water
2025-01-31 04:28:53
But the function of near-lossless is part of WebP lossless and the author recommended using it for normal cases
2025-01-31 04:30:45
Based on my little test, the use cases would be significantly narrowed down to -near_lossless 60 or 80 when the image has Alpha
A homosapien
2025-01-31 09:15:20
oh yeah I forgot images with alpha <:WebP:1279637593868210368>
Simulping
2025-01-31 03:06:31
is jxl good for animated images (medium quality, literal video ported as an image for web uses)
2025-01-31 03:06:34
or should i use avif
AccessViolation_
2025-01-31 04:00:57
I thought animated AVIF was just an AV1 video
2025-01-31 04:01:08
If that's the case, definitely AVIF
2025-01-31 04:03:09
Oh it's apparently not exactly the same, but it's close and does use a lot of the same interframe compression
Quackdoc
AccessViolation_ Oh it's apparently not exactly the same, but it's close and does use a lot of the same interframe compression
2025-01-31 04:04:52
it's pretty much 1:1 with some extras tacked on
jonnyawsom3
2025-01-31 04:05:31
IIRC AVIF *was* distinct, but a while back they just said screw it and allowed normal AV1 payloads
Quackdoc
2025-01-31 04:06:32
only for a brief time during the v 0.0.whatever phase
2025-01-31 04:06:56
at first it was somewhat ambigous, then they said they wanted it to be limited down, then a month or two later they said they wanted a fill video
AccessViolation_
Simulping or should i use avif
2025-01-31 04:08:32
The only interframe compression JXL can support is copying segments of previous frames over to new frames, and it can do so using blend modes, so you can for example store new frames as the residuals of some blend operation, to effectively get lossless (or lossy, with some more constraints) interframe video compression. You could theoretically even do some motion estimation for pan and tilt by patching the previous frame or segments of it to a different location in the next frame instead of to the exact same location, but you'd have to write an encoder that does so first. Currently the encoder attempts no interframe compression at all
2025-01-31 04:11:27
I think JXL would be a pretty good fit for for example animated pixel art. Instead of storing every frame you just store the parts that move for every frame and patch copy them in
Quackdoc
Simulping is jxl good for animated images (medium quality, literal video ported as an image for web uses)
2025-01-31 04:11:37
the answer is maybe one day jxl will be good for this ™️ but for now, just use avif
Simulping
2025-01-31 04:13:46
that's what I was looking for
jonnyawsom3
2025-01-31 04:29:31
Use the video format for video
_wb_
2025-01-31 04:43:50
for lossy video, av1 or any other video codec is much more suitable than jxl, which is a still image codec.
2025-01-31 04:50:21
jxl may have some video applications but not web delivery of video. It could be useful as a mezzanine codec for lossless or very-high-quality intra-only video, where you'd currently maybe use ffv1 or prores, or j2k. It might also be useful for very specific types of animations that don't benefit (much) from inter frame, things like slideshows or some kinds of animated illustrations, or low-framerate stuff. Maybe for cinemagraphs it would also be more suitable than video codecs. But for the bulk of the web use cases for video, from short looping GIF-like meme videos to netflix, video codecs are the way to go.
CrushedAsian255
2025-02-01 01:12:47
Are there any good lossless video formats that support interframe compression?
RaveSteel
2025-02-01 01:34:20
You could use h264/h265 lossless
damian101
CrushedAsian255 Are there any good lossless video formats that support interframe compression?
2025-02-01 02:14:48
When significant lossless interframe compression gains are possible, x264 is probably the best option. x265 compresses worse, only reason one might want to use it is because lossless H.265 can be hardware-decoded, or because 12 bpc is needed.
2025-02-01 02:18:11
x264 is already well optimized with default settings for lossless encoding, but x265 is not.
CrushedAsian255
2025-02-01 02:19:50
How fast is x264 lossless decode?
damian101
CrushedAsian255 How fast is x264 lossless decode?
2025-02-01 02:21:25
it's definitely not bad...
2025-02-01 02:22:02
I can do a quick benchmark, actually, have some files lying around
2025-02-01 02:22:10
ffv1 for reference
spider-mario
When significant lossless interframe compression gains are possible, x264 is probably the best option. x265 compresses worse, only reason one might want to use it is because lossless H.265 can be hardware-decoded, or because 12 bpc is needed.
2025-02-01 08:53:39
also, 10-bit hardware decoding is more widespread with H.265, isn’t it?
2025-02-01 08:54:41
although sometimes only 4:2:0
damian101
spider-mario also, 10-bit hardware decoding is more widespread with H.265, isn’t it?
2025-02-01 08:55:19
Yes, very correct. However, for lossless, this makes no difference as H.264 uses its own profile for lossless anyway
2025-02-01 08:55:36
whic is not supported by hardware decoders anyway
spider-mario
2025-02-01 08:55:46
oh, right, somehow I missed the very first “lossless”
2025-02-01 08:56:16
my brain just outright ignored it: “when significant interframe compression gains are possible”
damian101
2025-02-01 08:57:51
but yeah, considering hardware decoding, I always wondered if H.265 might not be one of the very best options for beyond-transparency intermediate video encoding for editing and stuff
Quackdoc
2025-02-01 08:58:58
I would never use hwdec for video editing
2025-02-01 08:59:05
like, at all at all
damian101
Quackdoc I would never use hwdec for video editing
2025-02-01 09:04:31
hmm, why
Quackdoc
hmm, why
2025-02-01 09:05:06
not reliable enough, hwdec can have corrupted frames, bad color rendering and all sorts of weird issues
damian101
Quackdoc not reliable enough, hwdec can have corrupted frames, bad color rendering and all sorts of weird issues
2025-02-01 09:05:19
preview is not export
Quackdoc
2025-02-01 09:05:53
no, but if you are doing any color work
damian101
2025-02-01 09:06:11
well, why would there be issues...
2025-02-01 09:06:36
color management is not part of the hardware decoder
Quackdoc
2025-02-01 09:07:04
because they can, and will, just straight up mess up rendering
damian101
2025-02-01 09:07:13
how...
Quackdoc
2025-02-01 09:08:35
there are lots of potential stuff, for instance some gpus like intel igpus need to use some gpu processing to decode the stream properly which includes float math
2025-02-01 09:08:52
some nvidia cards just straight up crap themselves on some x264 streams too
RaveSteel
2025-02-01 09:19:59
To be fair, serious colouring work would probably not be done with h264 video
Quackdoc
2025-02-01 09:51:47
you would be surprised, a lot of HQ video gets imported as h264. it doesn't always make sense to transcode to a mezzanine
spider-mario
2025-02-01 11:17:32
I don’t remember any such issues editing H.265 footage from my camera
Quackdoc
2025-02-02 06:29:29
h265 is heavy AF which makes it a pain, editing more then 4 tracks cripples my PC lol
spider-mario
2025-02-02 08:24:15
yeah, my desktop struggles a bit speed-wise sometimes
2025-02-02 08:24:20
much smoother on my macbook pro
_wb_
2025-02-02 08:32:35
I assume you get hw decode for h265 on a macbook?
spider-mario
2025-02-02 08:54:59
I would assume so
jonnyawsom3
2025-02-02 08:58:30
Reminds me of No Man's Sky's website again... Dozens of videos playing at once, 8K images... Eugh
Quackdoc
2025-02-02 09:19:39
lol
Meow
2025-02-03 01:47:38
Yesterday on macOS I accidentally found that "lossless" JXR produced by jxrlib, isn't really lossless
2025-02-03 01:47:58
I'll check on Windows as well
2025-02-03 01:51:59
Well winget even doesn't include jxr
2025-02-03 12:33:55
These settings (except Quality) for Jpegli can let XnConvert export the JPEG file exactly identical to what `cjpegli` produces by default
2025-02-03 12:36:34
e.g. this exports the same as `cjpegli -q 96`
2025-02-03 12:41:40
Not open-source however and it's free for non-commercial usages only
jonnyawsom3
2025-02-03 12:48:30
Yeah, that looks right. Though thinking about it, maybe subsampling should be changed based on this chart (At least for XYB). Then it *should* always beat WebP if not also AVIF
Meow
2025-02-03 12:50:04
Hmm I just tried for the exact same result (verified with ssimulacra2)
jonnyawsom3
2025-02-03 12:51:28
Non-XYB has much smaller gains, but 4:2:0 to 4:4:4 could still be an improvement
Meow Hmm I just tried for the exact same result (verified with ssimulacra2)
2025-02-03 01:04:18
You mean with XnConvert and Jpegli, or the graph I posted?
Meow
You mean with XnConvert and Jpegli, or the graph I posted?
2025-02-03 01:04:41
XnConvert vs cjpegli
jonnyawsom3
2025-02-03 01:05:08
Ah, yeah
Meow
2025-02-03 01:19:23
Tried building jpegli on Windows but it was extremely troublesome comparing to macOS
Meow Yesterday on macOS I accidentally found that "lossless" JXR produced by jxrlib, isn't really lossless
2025-02-03 03:05:05
Found the solution: Add `-l 0`
2025-02-03 03:05:48
> -l overlapping 0: No overlapping > 1: One level overlapping (default) > 2: Two level overlapping > (if not set is One for quality >= 0.5 or Two for quality < 0.5)
2025-02-03 04:06:43
XnConvert produces slightly different sizes for other formats like JXL and WebP. Because of older encoders?
2025-02-07 03:08:18
The updated `cwebp` script for Windows .bat that can append the input file's modification time as the output file's creation time `@echo off for %%f in (%*) do ( cwebp -lossless -m 6 -q 100 -mt -v -progress "%%~f" -o "%%~nf.webp" powershell "(Get-Item '%%~nf.webp').CreationTime = (Get-Item '%%~f').LastWriteTime" ) pause`
2025-02-07 03:11:02
Testing the similar mechanism on macOS as well
2025-02-07 03:20:29
It's universal that other codecs including cjxl can follow too
2025-02-07 03:21:04
I just don't and can't test cjxl on Windows
Quackdoc
2025-02-07 04:05:51
>not using sh pain
Meow
2025-02-07 04:51:29
What
Demiurge
2025-02-07 08:17:12
It's using CMD.EXE and powerhell
2025-02-07 08:17:27
Quack's just complaining about that
2025-02-07 08:18:38
Bourne/Korn shell is a little easier to use
Meow
2025-02-07 09:53:41
I just use built-in features as much as possible for casual users
Demiurge
2025-02-07 10:01:17
On some systems, /bin/sh is built in
Meow
Demiurge On some systems, /bin/sh is built in
2025-02-07 12:15:03
On macOS I use AppleScript for it
jonnyawsom3
2025-02-07 09:00:17
Interesting https://youtu.be/7O9eKxH46ZE
CrushedAsian255
2025-02-09 04:02:19
We should buy that person a new PC
Meow
Meow The updated `cwebp` script for Windows .bat that can append the input file's modification time as the output file's creation time `@echo off for %%f in (%*) do ( cwebp -lossless -m 6 -q 100 -mt -v -progress "%%~f" -o "%%~nf.webp" powershell "(Get-Item '%%~nf.webp').CreationTime = (Get-Item '%%~f').LastWriteTime" ) pause`
2025-02-10 02:06:50
Use this now as the original with PowerShell would be flagged "Trojan:PowerShell/Timestomp.A" > `@echo off > for %%f in (%*) do ( > cwebp -lossless -m 6 -q 100 -mt -v -progress "%%~f" -o "%%~nf.webp" > coreutils touch -r "%%~f" "%%~nf.webp" > ) > pause`
2025-02-10 02:07:59
Yes I made a Trojan horse
RaveSteel
2025-02-10 02:08:03
lul
Meow
2025-02-10 02:12:25
But with copying and renaming it's fine 😏
2025-02-10 02:50:04
The ultimate solution is using `touch`. Built-in solutions suck
RaveSteel
2025-02-10 02:50:51
touch is definitely the easiest solution, but does not support copying birth right, as you described earlier
Meow
2025-02-10 03:04:19
Yeah I have to give up on the idea. Windows itself sucks at that too
2025-02-10 03:13:23
`touch` can copy Btime on macOS however
Quackdoc
Meow Use this now as the original with PowerShell would be flagged "Trojan:PowerShell/Timestomp.A" > `@echo off > for %%f in (%*) do ( > cwebp -lossless -m 6 -q 100 -mt -v -progress "%%~f" -o "%%~nf.webp" > coreutils touch -r "%%~f" "%%~nf.webp" > ) > pause`
2025-02-10 03:23:33
which coreutils tho [av1_woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&name=av1_woag)
Meow
Quackdoc which coreutils tho [av1_woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&name=av1_woag)
2025-02-10 03:24:35
This one. Is it all right? https://github.com/uutils/coreutils
Quackdoc
2025-02-10 03:24:45
yes [av1_chad](https://cdn.discordapp.com/emojis/862625638238257183.webp?size=48&name=av1_chad)
Meow
2025-02-10 03:25:11
This is available on winget
Quackdoc
2025-02-10 03:25:20
[av1_woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&name=av1_woag)
2025-02-10 03:25:22
thats neat
2025-02-10 03:25:48
I wonder if brush or rust-parallel are availible on winget
2025-02-10 03:26:23
answer is no
Meow
2025-02-10 03:26:31
coreutils uutils.coreutils 0.0.28 winget