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

๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
2025-03-15 09:44:51
libjxl doesn't seem to, for 30 image sequences it currently needs 4 seconds (`-m 0 -e 1 -brotli_effort 0`, lossy VarDCT)
2025-03-15 09:45:23
cwebp takes 1 or 2 seconds (`-m 0`, lossy)
Quackdoc jxl should be able to do that, I dunno if libjxl currently can, perhaps fjxl can
2025-03-15 09:57:33
is there an example on using fjxl?
jonnyawsom3
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  is there an example on using fjxl?
2025-03-15 10:10:37
The fjxl codepath activates at effort 1 lossless. IIRC fast lossy is essentially just jpegli
Quackdoc define low latency
2025-03-15 10:21:55
Also define high quality and size reduction. What resolution? Reduction compared to what?
Quackdoc
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  libjxl doesn't seem to, for 30 image sequences it currently needs 4 seconds (`-m 0 -e 1 -brotli_effort 0`, lossy VarDCT)
2025-03-15 10:26:57
what are you feeding it?
jonnyawsom3
2025-03-15 10:28:24
Also use the MP/s, not time measurements. Input decoding isn't the fastest with cjxl
Quackdoc
2025-03-15 10:30:57
A quick test on my laptop is 15fps on ffmpeg but afaik ffmpeg does not make use of frame parallel encoding
2025-03-15 10:31:44
17-20fps with -xyb 0
2025-03-15 10:32:21
not the fastest thing, but way faster then 4 seconds
RaveSteel
2025-03-15 10:35:44
I get ~45fps for 1080p at d1
2025-03-15 10:35:59
Could be usable
Quackdoc
2025-03-15 10:38:05
when you do frame parallel encoding you gain a lot of speed
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
Also define high quality and size reduction. What resolution? Reduction compared to what?
2025-03-15 10:44:59
SSIMU2, less than 50% from the original bitstream
Quackdoc what are you feeding it?
2025-03-15 10:46:09
PNGs, but I now think it's a bad idea...
Quackdoc
2025-03-15 10:47:20
png with cjxl is slow
RaveSteel
2025-03-15 10:47:26
what is your intended use case?
Quackdoc
2025-03-15 10:50:57
for context ``` โžœ Pictures hyperfine --runs 15 'cjxl -d 1 -e 1 --disable_output output.png.pfm' Benchmark 1: cjxl -d 1 -e 1 --disable_output output.png.pfm Time (mean ยฑ ฯƒ): 85.0 ms ยฑ 2.1 ms [User: 120.8 ms, System: 42.7 ms] Range (min โ€ฆ max): 81.7 ms โ€ฆ 89.6 ms 15 runs ```
2025-03-15 10:51:05
after converting to a pfm using magick
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
RaveSteel what is your intended use case?
2025-03-15 10:59:24
remote viewing/access or virtual machine control
2025-03-15 10:59:44
VNC sucks, SPICE consumes too much bandwidth
2025-03-15 10:59:50
none supported HDR
CrushedAsian255
Quackdoc for context ``` โžœ Pictures hyperfine --runs 15 'cjxl -d 1 -e 1 --disable_output output.png.pfm' Benchmark 1: cjxl -d 1 -e 1 --disable_output output.png.pfm Time (mean ยฑ ฯƒ): 85.0 ms ยฑ 2.1 ms [User: 120.8 ms, System: 42.7 ms] Range (min โ€ฆ max): 81.7 ms โ€ฆ 89.6 ms 15 runs ```
2025-03-16 12:39:36
What is hyper fine
A homosapien
CrushedAsian255 What is hyper fine
2025-03-16 12:47:37
https://github.com/sharkdp/hyperfine
Meow
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  is there an image codec that's low latency with high quality that's not JPEG XS? as long as there is size reduction
2025-03-16 01:50:29
QOI?
RaveSteel
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  remote viewing/access or virtual machine control
2025-03-16 01:55:45
If you have reasonably fast hardware can you try ffmpeg encoding? I got over 30fps easily, but I have top hardware
BlueSwordM
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  libjxl doesn't seem to, for 30 image sequences it currently needs 4 seconds (`-m 0 -e 1 -brotli_effort 0`, lossy VarDCT)
2025-03-16 01:59:04
Why not use a video codec for this?
Quackdoc
BlueSwordM Why not use a video codec for this?
2025-03-16 05:01:10
well, if all intra is necessary, then an image codec is typically superior
_wb_
2025-03-16 07:10:39
HTJ2K and JPEG XS are both aiming at fast all-intra
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
BlueSwordM Why not use a video codec for this?
2025-03-16 07:17:15
because near-uncompressed quality is *required*
BlueSwordM
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  because near-uncompressed quality is *required*
2025-03-16 07:18:37
Increase the bitrate further and use 4:4:4 full-range ๐Ÿ™‚
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
_wb_ HTJ2K and JPEG XS are both aiming at fast all-intra
2025-03-16 07:20:17
first time hearing about HTJ2K, only knew about regular J2K prior
BlueSwordM Increase the bitrate further and use 4:4:4 full-range ๐Ÿ™‚
2025-03-16 07:25:04
any video codec that has an encoding and decoding latency below 20ms?
_wb_
2025-03-16 07:35:17
JPEG XS has a latency expressed in _rows_, if ultra low latency is what you need, it can do 4 row latency which at 30 fps full HD boils down to 4/1080/30 seconds = 0.123 ms
jonnyawsom3
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  because near-uncompressed quality is *required*
2025-03-16 07:35:18
So, would effort 1 lossless work? (May need a clang build https://discord.com/channels/794206087879852103/803645746661425173/1348861631836323871)
_wb_
2025-03-16 07:36:20
At least for a hardware implementation where the additional latency due to coding itself is negligible
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
_wb_ JPEG XS has a latency expressed in _rows_, if ultra low latency is what you need, it can do 4 row latency which at 30 fps full HD boils down to 4/1080/30 seconds = 0.123 ms
2025-03-16 07:37:34
~~iirc JPEG XS has patent requirements, that's why I'm looking for alternatives~~
So, would effort 1 lossless work? (May need a clang build https://discord.com/channels/794206087879852103/803645746661425173/1348861631836323871)
2025-03-16 07:38:02
time to find out at the next opportunity!
_wb_
2025-03-16 07:38:27
Libjxl E1 lossless should be able to reach about 500 Mpx/s easily on a typical CPU, so about 250 fps for full HD.
2025-03-16 07:38:52
Main problem with it will be that decoding is actually slower
jonnyawsom3
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  time to find out at the next opportunity!
2025-03-16 07:39:08
I was seeing 6ms encode time at 1080p with the exe uploaded just above the link
2025-03-16 07:39:23
On an 8 year old Ryzen 1700
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด 
_wb_ Main problem with it will be that decoding is actually slower
2025-03-16 07:39:57
~~next up: low-latency JPEG XL~~
I was seeing 6ms encode time at 1080p with the exe uploaded just above the link
2025-03-16 07:40:17
that's actually quite impressive...
jonnyawsom3
_wb_ Main problem with it will be that decoding is actually slower
2025-03-16 07:40:35
Slower than encode, but still twice as fast as PNG
_wb_
2025-03-16 07:41:10
Probably with more specialization we could get E1 decode quite a bit faster than it is now, but still a little slower than encode
2025-03-16 07:43:05
The funny thing is that at the super high speeds, encode is inherently easier to SIMDify since it already knows all pixels while the decoder only knows them after decoding.
jonnyawsom3
๐‘›๐‘ฆ๐‘•๐‘ฃ๐‘ธ๐‘ฅ๐‘ฉ๐‘ฏ๐‘ฆ | ๆœ€ไธ่ชฟๅ’Œใฎไผๆ’ญ่€… | ็•ฐ่ญฐใฎๅ…ƒ็ด  ~~next up: low-latency JPEG XL~~
2025-03-16 07:44:21
It's a shame --faster_decoding is bugged/has negligible impact. It should really use the fixed MA trees of e1 and e2 at least, then with further options like g0
2025-03-16 07:45:44
It seems to just disable the MA tree and predictors entirely at 1 and 2 https://github.com/libjxl/libjxl/issues/3532
juliobbv
_wb_ The funny thing is that at the super high speeds, encode is inherently easier to SIMDify since it already knows all pixels while the decoder only knows them after decoding.
2025-03-16 07:54:33
does JXL have the concept of restart markers? I wonder if you could speed up decoding by processing each group of blocks in parallel
_wb_
2025-03-16 07:56:20
It does tiling in groups already so you can do MT decode
juliobbv
2025-03-16 07:57:54
aah I got you
2025-03-16 07:58:37
how small can those tile groups get? like for JPEG-like encoding effort scenarios
jonnyawsom3
2025-03-16 08:00:04
128x128
2025-03-16 08:00:21
At least for modular
2025-03-16 08:01:39
128x128, 256x256, 512x512 and 1024x1024 for lossless. VarDCT can do classic JPEG
juliobbv
2025-03-16 08:04:38
IIUC lossless JPEG recompression works by rearranging coefs so they fit VarDCT tile groups, by breaking some DC prediction dependencies, am I right?
2025-03-16 08:05:23
anyway, sounds like 128x128 is still small enough for reasonable parallelism in practice
_wb_
2025-03-16 08:28:25
JPEG is basically just a special case of VarDCT where all blocks happen to be DCT8x8 and the adaptive quantization weights are constant. Like with all VarDCT, for the DC there is a modular subbitstream for 256x256 groups of DC coefficients (this corresponds to regions covering 2048x2048 pixels). At the boundaries of those groups there is poor prediction to avoid data dependencies between groups, but overall the DC prediction in jxl will be a lot better than what you have in JPEG...
2025-03-16 08:29:08
VarDCT has a fixed group size of 256x256 for both DC and AC.
juliobbv
2025-03-16 09:19:32
thanks for the explanation, <@794205442175402004>!
JKUser4592
2025-03-16 11:33:30
Anyone heard of AVCI and AVCS files?
_wb_
2025-03-16 01:06:52
AVCI is h264 in a HEIF container iirc
2025-03-16 01:07:15
And I would guess AVCS is the same but animated (sequence)
JKUser4592
2025-03-16 05:15:45
How do I remux AVC/H.264 videos to AVCI/ACVS files?
_wb_
2025-03-16 06:21:06
Maybe libheif has a way to do that? I dunno, never tried...
TheBigBadBoy - ๐™ธ๐š›
2025-03-16 06:52:59
> The I in AVCI is for Intra-frame encoding [...] as opposed to Inter-frame encoding totally makes sense <:kekw:808717074305122316>
Demiurge
2025-03-16 06:53:55
jpeg xs software is free for "evaluation" whatever that means, they don't elaborate. Presumably they don't give permission to use it in a commercial product.
2025-03-16 06:54:28
But they don't elaborate what they mean by "evaluation" so maybe I'm wrong to presume that.
2025-03-16 06:55:51
Also it looks like the intended use is hardware, not software. Like in camera sensors and cars and whatever.
2025-03-16 06:56:46
As a replacement for uncompressed video
BlueSwordM
JKUser4592 How do I remux AVC/H.264 videos to AVCI/ACVS files?
2025-03-16 07:21:54
You can't remux normal AVC videos to AVC**I**. I = All-intra. Normal videos are not all-intra.
JKUser4592
BlueSwordM You can't remux normal AVC videos to AVC**I**. I = All-intra. Normal videos are not all-intra.
2025-03-16 07:25:47
What about this, then? https://en.wikipedia.org/wiki/High_E...I:_AVC_in_HEIF
_wb_
2025-03-16 07:25:55
JXS does have patents from Fraunhofer and Intopix, it's mainly meant to be used in video production hardware.
BlueSwordM
JKUser4592 What about this, then? https://en.wikipedia.org/wiki/High_E...I:_AVC_in_HEIF
2025-03-16 07:27:04
Oh, there's nothing preventing you from shoving normal video into an HEIF container. Same thing with AVIF: you can have pictures, all-intra and normal video.
_wb_
2025-03-16 07:27:19
Presumably if you want to use interframe you have to call it AVCS. Likely software implementations will not care if the brand name is correct.
Quackdoc
2025-03-16 08:26:46
I wouldnt be so sure, ff used to poop itself with avif if you used the wrong brand
2025-03-16 08:26:52
no idea if it still does
Cacodemon345
2025-03-16 09:01:51
JXS is super pointless.
_wb_
2025-03-16 09:02:23
I wouldn't say pointless, it's just a pretty specific niche thing
Cacodemon345
2025-03-16 09:02:25
Internet sites do just fine with video codec streaming.
_wb_
2025-03-16 09:03:05
JXS targets way higher quality and bitrate than internet video streaming
2025-03-16 09:03:22
It is meant for production, not delivery
JKUser4592
BlueSwordM Oh, there's nothing preventing you from shoving normal video into an HEIF container. Same thing with AVIF: you can have pictures, all-intra and normal video.
2025-03-16 10:27:16
How do I do that?
novomesk
_wb_ Maybe libheif has a way to do that? I dunno, never tried...
2025-03-16 10:44:21
MP4Box
CrushedAsian255
Cacodemon345 Internet sites do just fine with video codec streaming.
2025-03-16 11:01:37
JXS should be treated more as a way to reduce bandwidth when sending uncompressed video. Think of it as more like ADPCM than something like Opus
Meow
novomesk QOI works on Telegram Desktop too.
2025-03-17 02:31:20
Confirmed. QOI can be uploaded as a lossy compressed image or original file
JKUser4592
novomesk MP4Box
2025-03-17 01:49:36
How would that work?
RaveSteel
JKUser4592 How would that work?
2025-03-17 02:00:01
https://manpages.org/mp4box
JKUser4592
RaveSteel https://manpages.org/mp4box
2025-03-17 02:57:53
I don't get it
novomesk
2025-03-17 06:18:22
Conversion from PNG to AVCI (example): ffmpeg -i IMG_4086.png -an -vframes 1 -vf format=yuv420p -preset veryslow IMG_4086.h264 MP4Box -add-image IMG_4086.h264:id=1:primary -ab avci -ab miaf -ab MiAB -ab mif1 -brand avci -new IMG_4086.avci
Meow
2025-03-19 01:11:49
https://forums.macrumors.com/threads/turn-any-macos-folder-into-an-image-converter-heres-how.2453484/
2025-03-19 01:12:23
> can it handle webp into png/jpgs? > I do it all the time to convert those stupid and annoying webp files into jpgs. What a stupid and annoying format. /rant over.
2025-03-19 05:19:44
A simplified "Dynamic Wallpaper" .heic that just contains 2 images for Light and Dark modes. I can't get the ones based on sun and time to correctly switch however SSIMULACRA2 85.85117936 for the "Light" image
JKUser4592
novomesk Conversion from PNG to AVCI (example): ffmpeg -i IMG_4086.png -an -vframes 1 -vf format=yuv420p -preset veryslow IMG_4086.h264 MP4Box -add-image IMG_4086.h264:id=1:primary -ab avci -ab miaf -ab MiAB -ab mif1 -brand avci -new IMG_4086.avci
2025-03-19 07:15:31
What about for videos?
A homosapien
JKUser4592 What about for videos?
2025-03-19 09:42:12
Swap the input from PNG your Video file
JKUser4592
A homosapien Swap the input from PNG your Video file
2025-03-20 12:42:30
"ffmpeg -i input.mkv -an -vframes 1 -vf format=yuv420p -preset veryslow output.h264" Won't this be lossy?
Quackdoc
2025-03-20 12:43:55
`-qp 0`
A homosapien
2025-03-20 12:44:01
you can replace `-vf format=yuv420p -preset veryslow` with `-c:v copy`, but it would only work with videos that are already h264
Quackdoc
2025-03-20 12:44:10
that too
JKUser4592
2025-03-20 05:00:56
<@184373105588699137> <@207980494892040194> What about -an -vframes 1? Do I keep or remove that?
Demiurge
2025-03-20 12:21:39
-an just means no audio
DZgas ะ–
2025-03-20 01:40:34
Is Avif2 dead?
Meow
2025-03-20 02:01:43
It depends on AV2
Quackdoc
2025-03-20 05:52:36
unless dav1d extends support forAV2 IMO it's going to be a hard sell
gb82
2025-03-20 11:16:34
https://tenor.com/view/how-about-that-dave-lee-dave2d-what-do-you-think-what-do-you-say-gif-26881293
juliobbv
2025-03-20 11:17:00
davxd
BlueSwordM
DZgas ะ– Is Avif2 dead?
2025-03-21 12:43:21
No.
2025-03-21 12:43:33
AV2 hasn't been released at all <:KekDog:805390049033191445>
DZgas ะ–
BlueSwordM AV2 hasn't been released at all <:KekDog:805390049033191445>
2025-03-21 11:24:31
AV2 does not exist This is a government conspiracy
Meow
2025-03-21 12:32:17
It means adult video No. 2
jonnyawsom3
2025-03-22 01:30:54
I assume libjpegli defaults to the older API because it's more common? <https://github.com/google/jpegli/blob/main/CMakeLists.txt#L125> No mention of being able to use the newer one either, causing some confusion <https://github.com/google/jpegli?tab=readme-ov-file#usage> <https://github.com/RawTherapee/RawTherapee/issues/7125#issuecomment-2745142117>
Meow
2025-03-23 02:52:32
Seems the latest Jpegli repo finally adds a black background to an image with a transparent background
JKUser4592
2025-03-24 07:51:29
How do I make HEIC/HEIF files writable in ImageMagick?
RaveSteel
2025-03-24 07:53:10
You want to encode to HEIC? Why?
pixyc
2025-03-25 04:44:17
https://cdn.discordapp.com/attachments/862482711729012747/1341604925385216072/programmerhumor-io-stackoverflow-memes-backend-memes-7d5256a5e6b92cb.png?ex=67e36d74&is=67e21bf4&hm=e59856f7c88c2fc609886bec2184ac8a04a22db2c0f209fc3d7d29e436fe36de&
JKUser4592
2025-03-28 03:54:02
<@207980494892040194> <@184373105588699137> <@886264098298413078> What image viewers can play AVCI/AVCS files in Windows?
A homosapien
2025-03-28 03:57:18
None as far as I know, it's an apple thing really
Demiurge
2025-03-28 05:06:41
Mpv?
A homosapien
2025-03-28 05:08:37
I couldn't even get it to work even with ffplay...
Demiurge
2025-03-28 05:10:11
`ffmpeg -i input.avci output.jxl`
JKUser4592
Demiurge `ffmpeg -i input.avci output.jxl`
2025-03-28 10:19:34
try that out with this: https://drive.google.com/file/d/1UgVsgmocsO0dB0TfZKLFfNY-cVsVGXZP/view?usp=sharing
VEG
2025-03-30 11:59:32
https://github.com/libjxl/libjxl/releases - is it the correct place to download the latest binaries of jpegli? Looks like there are no binaries on https://github.com/google/jpegli
Meow
2025-03-30 12:36:58
You can still build from that jpegli repo
jonnyawsom3
2025-03-30 12:44:07
Though they're identical currently IIRC
HCrikki
2025-03-30 02:01:03
that generates executables not dlls. anyone got prebuilt dlls that can be dropped in place of an existing mozjpeg?
jonnyawsom3
2025-03-30 03:00:42
That's been a request for a very long time. Having prebuilt DLLs for the 6 and 8 API would help a lpt
HCrikki
2025-03-30 03:12:18
its literally the point of jpegli existing too - being able to swap in DLLs for software you use or even your own, without needing to bother with the source code yourself and passively gaining higher quality without changing your workflows - would be huge for sites serving compressed jpgs and thumbnails but native windows apps need consideration as well. Improving your use of jpg reduces the attractiveness of considering formats like webp, reduces the need for their reluctant adoption and keeps a forward migration path open for images to be eventually losslessly transcoded to jxl
2025-03-30 03:18:39
are there difficulties in generating those libraries/dlls? a nightly or even monthly would be handy to get the public contributing feedback and adoption
jonnyawsom3
2025-03-30 03:23:29
All I know is that everyone who tried has failed to build them
HCrikki
2025-03-30 03:30:38
xnviewmp ships a jpegli dll though ?
Quackdoc
All I know is that everyone who tried has failed to build them
2025-03-30 04:12:21
really? last I tried they compiled in msys perfectly fine
2025-03-30 04:15:29
I would highly reccomend making a pkgbuild for it, I wouldnt mind doing so if someone has a windows machine I can remote into, VM or real doesnt matter, my system isnt setup yet
2025-03-30 04:16:47
if anyone wants to make their own, iirc it would be easier to for https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-libjxl/PKGBUILD according to https://github.com/google/jpegli/blob/main/doc/developing_in_windows_msys.md and then for packaging you can use reference from https://github.com/Quackdoc/msys-pkgbuild/tree/Master/olive-pkgbuild
jonnyawsom3
Quackdoc really? last I tried they compiled in msys perfectly fine
2025-03-30 04:42:51
With the DLLs?
Quackdoc
2025-03-30 04:57:57
yes
2025-03-30 04:58:04
but it was a while ago indeed
Meow
2025-04-05 06:12:13
Not many people knowing the existence of "Lossless JPEG" https://www.reddit.com/r/jpegxl/comments/1jrj4ke/file_size_on_iphone/
HCrikki
2025-04-05 02:31:26
The messaging is disjointed. Not easy to find in one place and fans can only bring attention to what little they themselves know, assuming they do so correctly
2025-04-05 02:36:40
take progressive loading. I vaguely knew that images could start displaying once at least 10-15% of the file was downloaded but according to someone (jxl oxide dev's?) libjxl is capable of displaying images even much earlier and this is just disabled in libjxl so imgs dont start partially loading in ridiculously low quality
2025-04-05 02:44:32
to me, lossless recompression should be pushed for as a major incentive for adoption/migration. Almost all conversion apps do slow full conversions that also sacrifice some quality without even guaranteeing smaller filesize and even bloating it several fold in the case of lossless from a lossy source
2025-04-05 02:47:53
apps should consistently use the quasi-instant fast path for lossless *reversible* compression from jpeg when the original image is a jpeg AND has not been edited, in addition to no longer locking conversion jobs to only one thread because of old compromises they chose 15 years ago and never revisited since
CrushedAsian255
HCrikki apps should consistently use the quasi-instant fast path for lossless *reversible* compression from jpeg when the original image is a jpeg AND has not been edited, in addition to no longer locking conversion jobs to only one thread because of old compromises they chose 15 years ago and never revisited since
2025-04-05 09:48:31
yeah, especially the single threaded thing. Why do so many apps still only use less and 10% of my cpu
jonnyawsom3
2025-04-05 10:18:16
Either they use 1 thread, or they use all and starve the system of resources. Very few use all **cores** so the system remains responsive
HCrikki
2025-04-05 10:19:08
xnviewmp until last week used a low accuracy decode method for jpegs...
2025-04-05 10:20:35
jpegli integration is still not complete too. For instance, thumbnail generation and exporting to greyscale still seem to use the ancient jpeg encoder even though you asked to process it using jpegli
2025-04-05 10:25:15
on encoding performance, those issues are almost always just old decisions that were never revisited since the dawn of dual cores and images encoded fast on everything because resolutions were small then and it made more sense resizing down images first
dogelition
2025-04-07 07:29:36
https://netflixtechblog.com/hdr10-now-streaming-on-netflix-c9ab1f4bd72b
Quackdoc
2025-04-07 07:47:15
HDR10 confuses me, HDR10+ just doubles the confusion lol
dogelition
2025-04-07 07:54:05
what about hdr10 do you find confusing?
TheBigBadBoy - ๐™ธ๐š›
2025-04-07 07:54:42
the "hdr" part
Quackdoc
dogelition what about hdr10 do you find confusing?
2025-04-07 08:13:58
how the metadata is supposed to be used
2025-04-07 08:14:10
as far as I can tell, I cant even find a reccomendation outside of one paywalled tonemapper
DZgas ะ–
2025-04-07 10:34:32
"objective tests"
2025-04-07 10:35:36
https://www.winxdvd.com/video-transcoder/h266-vvc-vs-av1.htm
Demiurge
2025-04-08 01:17:58
libvpx (vp9) was losing to x264 while being 130 times slower so yeah it's easy to believe that a codec made by the same guys is also worse than vvc
Lumen
DZgas ะ– "objective tests"
2025-04-08 06:30:11
Everything here is either outdated or plain wrong
2025-04-08 06:30:43
Av1 is now faster to encode than hevc for a given achieved bitrate,quality
2025-04-08 06:30:58
Vvc is very very very very bad rn
2025-04-08 06:31:16
Currently worse than av1
DZgas ะ–
Demiurge libvpx (vp9) was losing to x264 while being 130 times slower so yeah it's easy to believe that a codec made by the same guys is also worse than vvc
2025-04-08 08:06:55
bruh
Lumen Everything here is either outdated or plain wrong
2025-04-08 08:07:36
It's just a lie, a lying test
Lumen Currently worse than av1
2025-04-08 08:07:55
This is also a lie
Lumen Vvc is very very very very bad rn
2025-04-08 08:11:53
are you aware that the vvc encoder has been added to ffmpeg? Go ahead and test it. I tested it all day yesterday. and you know what, to compress the gameplay of the game at 720p and bitrate 500 "preset medium". it shows better results than av1 in "a unit of time". but this is only a very specific case with Cyberpunk 2077. when tested at higher bitrates or faster presets or on a Minecraft game, av1 is better.
2025-04-08 08:13:08
qp 38-40
2025-04-08 08:18:22
The problem with VVC is that it is not as shared as AVC, it is just another stage of development, because HEVC was made before that, and "they" are already working on the new H267.
2025-04-08 08:19:29
and of course it will be even slower, and even slower.
Lumen
2025-04-08 08:26:34
your user tests mean little there is not even a single mention of BD rate in your testing
2025-04-08 08:30:17
for example, on this test (not mine) and to add to the fire x265 was suuuuper slow while av1 was fast
2025-04-08 08:30:50
on this one, vvc has only 4 sample points because it was just too slow to do more for the tester without dying on its weak ryzen 9 9950x cpu
2025-04-08 08:31:04
this is the vvc in ffmpeg you spoke about
2025-04-08 08:31:47
I don't have a graph of BD-rate encoding time from the same source
2025-04-08 08:32:02
so here is one from the april fool joke (you ll understand why it s april fool joke)
2025-04-08 08:33:20
xDSV3 corresponds in reality to x266 and for the april fool joke, the "lower left is better" is the joke; on that graph, higher is better quality
2025-04-08 08:34:17
these tests are still not enough to completely prove my point there is the question of multiple presets and ... but well, that s at least part of it
2025-04-08 08:43:39
I also don't know how you encoded in av1, which is rather important. Was it svt-av1-psy? was it using ffmpeg instead of av1an?
2025-04-08 08:56:09
also, on your article, they contradict themselves
2025-04-08 08:56:20
2025-04-08 08:56:22
something is wrong somewhere
DZgas ะ–
Lumen on this one, vvc has only 4 sample points because it was just too slow to do more for the tester without dying on its weak ryzen 9 9950x cpu
2025-04-08 01:44:48
this
Lumen your user tests mean little there is not even a single mention of BD rate in your testing
2025-04-08 01:46:33
meh
2025-04-08 01:47:14
I'm on the internet and I'm not interested in anything higher than 1000 bitrate at 8k
Lumen
DZgas ะ– this
2025-04-08 01:50:20
this is very small gain for the time spent and the patent situation and the no support situation
2025-04-08 01:50:23
better wait for av2
DZgas ะ–
Lumen better wait for av2
2025-04-08 01:51:10
๐Ÿ’€
Lumen
2025-04-08 01:51:12
and no one would ever use the bitrate of these samples
2025-04-08 01:51:18
we are talking about a score of 40 ssimu2
2025-04-08 01:51:20
it s unwatchable
DZgas ะ–
2025-04-08 01:52:34
I have very big doubts that av2 will be able to show a better result for the same encoding time. at least by 5 percent. considering that most people use not even average presets, but even faster
Lumen
2025-04-08 01:53:00
I am very unsure about av2 as well
2025-04-08 01:53:04
I don't know anything about it
2025-04-08 01:53:09
I can only hope it ll be good
2025-04-08 01:53:39
but vvc is hopeless to my opinion they might improve in encoding speed and higher bitrate quality (their encoder is probably a bit too immature yet)
2025-04-08 01:53:53
but the patent situation is so bad I don't want to touch it at all
DZgas ะ–
2025-04-08 01:54:15
AV2 does not exist This is a government conspiracy
Lumen
2025-04-08 01:54:20
x)
DZgas ะ–
2025-04-08 01:55:16
Lumen
2025-04-08 01:56:24
av1 is not as expensive as it seems to decode, especially if you use the fast-decode option during encoding
2025-04-08 01:56:37
but it will always be more expensive than x264
2025-04-08 01:56:43
x264 was a great codec for its time
DZgas ะ–
Lumen x264 was a great codec for its time
2025-04-08 02:00:48
x264 is still a great codec, the whole problem is in the encoding resolution. for example, at 640x360 with maximum parameters, it encodes a picture better than HEVC and VP9 for the same encoding time. but if you take 1280x720, then yes, the codec has eliminated it. I use it for 540p at maximum
Lumen
2025-04-08 02:02:01
that low resolutions... I wouldn't even think of using them
2025-04-08 02:02:23
720p hurts already and I would consider it only for handheld devices
2025-04-08 02:02:47
but we probably have different goals in mind
2025-04-08 02:02:56
the tests above were for 1080p
2025-04-08 02:03:05
so that might be why your experience differ
DZgas ะ–
2025-04-08 02:04:50
In general, I spent a very long time testing to switch from AVC to HEVC. The problem was that it is too demanding to DEcode, so I created a hevc preset exclusively specifically for 1280x720, which in terms of decoding speed is almost equal to vp9 and avc at 720p resolution. I didn't think it was possible, and yet, it is. -vf "hqdn3d=luma_spatial=1:chroma_spatial=1:chroma_tmp=2:luma_tmp=3,zscale=w=1280:h=-2:filter=spline36" -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"
Lumen but we probably have different goals in mind
2025-04-08 02:06:11
compression of streams, streamers, in telegram, for viewing mainly on smartphones. A lot of restrictions.
Lumen
2025-04-08 02:06:30
maybe you d like to try svt-av1-psy with --fast-decode=2 svt has its own parameter to improve decoding perf I saw some graphs about decoding speed and quality loss but overall people thought it was a good way to have fast av1 decode
2025-04-08 02:07:18
also it will be faster to encode than x265 placebo
DZgas ะ–
Lumen maybe you d like to try svt-av1-psy with --fast-decode=2 svt has its own parameter to improve decoding perf I saw some graphs about decoding speed and quality loss but overall people thought it was a good way to have fast av1 decode
2025-04-08 02:07:41
This can't help even in theory, in practice it turned out that the complexity of decoding av1 is inevitably 5 to 10 times greater
2025-04-08 02:09:48
The encoding speed is the same. Decoding speed on the processor: 100% avc 55% vp9 50% hevc (my preset, on a normal preset like veryslow about 20-30%) 6% av1
Lumen
2025-04-08 02:10:07
what 6% on av1
2025-04-08 02:10:26
on my computer x265 slower is already slower than svt-av1-psy preset 2
2025-04-08 02:10:35
by a good margin
DZgas ะ–
Lumen on my computer x265 slower is already slower than svt-av1-psy preset 2
2025-04-08 02:11:18
decode ?
Lumen
DZgas ะ– The encoding speed is the same. Decoding speed on the processor: 100% avc 55% vp9 50% hevc (my preset, on a normal preset like veryslow about 20-30%) 6% av1
2025-04-08 02:11:28
there are some weird artifacts in some
DZgas ะ– decode ?
2025-04-08 02:11:42
ho sorry I read encode, for decoding on phone I never tried
DZgas ะ–
2025-04-08 02:12:00
this is something that nobody usually fucking talks about. the more complex the encoding preset. the more small blocks, more separation, more motion vectors
Lumen
2025-04-08 02:12:00
but if you use libdav1d I m surprised a random phone cannot manage it
2025-04-08 02:12:52
for the 1st one it s really present on my screen but well on a phone I don't know if I d see them
2025-04-08 02:13:03
on av1 it would never happen though
DZgas ะ–
2025-04-08 02:13:04
Since I also created my own fork for encoding av1. I inevitably encountered the fact that on preset, for example, 0. The DEcoding speed of AV1 is still 3-4 times slower than on preset 5
Lumen
2025-04-08 02:13:06
av1 prefers to blur everything
DZgas ะ– Since I also created my own fork for encoding av1. I inevitably encountered the fact that on preset, for example, 0. The DEcoding speed of AV1 is still 3-4 times slower than on preset 5
2025-04-08 02:13:26
it is a fork of what?
2025-04-08 02:13:27
๐Ÿ˜จ
DZgas ะ–
2025-04-08 02:13:39
svt-av1 fork
Lumen
2025-04-08 02:14:04
using svt-av1-psy would be better
2025-04-08 02:14:14
let me try to play av1 on my terrible phone
2025-04-08 02:14:32
argg I cannot decrypt my ssd on my phone
2025-04-08 02:15:07
I use MPV for reference
DZgas ะ–
Lumen using svt-av1-psy would be better
2025-04-08 02:16:03
I made bigger changes to the settings of the parameters of work. Although I took from psy the algorithm of increasing QP during shading. Still, I selected the curve of staring myself
Lumen
2025-04-08 02:16:22
which version is it from?
DZgas ะ–
2025-04-08 02:16:53
I don't remember. I made the initial fork from version 2.0.0
2025-04-08 02:18:12
a little later there was a global optimization of the work, which I considered crap. And I separated into my fork, and separated my fork into another fork, which I call the best possible av1 encoder. True, I never found people who could prove it
Lumen it is a fork of what?
2025-04-08 02:20:05
my normal fork https://discord.com/channels/794206087879852103/805176455658733570/1277346077451882638 my "plcebo" fork https://discord.com/channels/794206087879852103/805176455658733570/1278073368612175894 https://discord.com/channels/794206087879852103/805176455658733570/1312052368560623717
2025-04-08 02:20:29
the last one was made due to complete dissatisfaction with the work of "preset -1" in original svt-av1
Lumen
2025-04-08 02:25:18
I m currently viewing a 1080p 24000/1001 fps av1 encode without fast-decode nor tile-column
2025-04-08 02:25:26
my phone cost me 200 euros
2025-04-08 02:25:54
and the quality is unmatched for the size
2025-04-08 02:26:56
seeking is instant as well
DZgas ะ–
Lumen I m currently viewing a 1080p 24000/1001 fps av1 encode without fast-decode nor tile-column
2025-04-08 02:26:58
๐Ÿ‘
Lumen I m currently viewing a 1080p 24000/1001 fps av1 encode without fast-decode nor tile-column
2025-04-08 02:27:27
What preset is it encoded on?
Lumen
2025-04-08 02:28:03
it was first episode of this
2025-04-08 02:28:03
https://nyaa.si/view/1745023
2025-04-08 02:28:06
so preset 2
2025-04-08 02:28:35
after preset 2 the efficiency gain is little to none compared to the time increase
DZgas ะ–
2025-04-08 02:28:37
anime
Lumen
2025-04-08 02:28:40
yes yes
DZgas ะ–
2025-04-08 02:28:42
99% static frame
Lumen
2025-04-08 02:29:03
I don't think I got a live action at hand, I ll test that once back home
2025-04-08 02:29:10
I ll need to encode it too
DZgas ะ–
2025-04-08 02:30:09
encode any Minecraft gameplay. on preset 0 or -1. 10-20 seconds will be enough
Lumen
2025-04-08 02:30:26
I m not going to use preset 0 or -1 it s waste
2025-04-08 02:30:36
using preset 2 with special techniques (NB) is far better
2025-04-08 02:30:45
more use of my computer time x)
DZgas ะ–
2025-04-08 02:31:16
svt-av1 removed decoding level legacy because can't comply
Lumen
2025-04-08 02:31:41
I m going back home now so I ll try that this evening
DZgas ะ–
2025-04-08 02:31:48
Lumen
2025-04-08 03:16:30
wow I cannot possibly download a clip from youtube they are already bad quality
2025-04-08 03:18:25
I ll reinstall minecraft and try to get raws myself
jonnyawsom3
Lumen but if you use libdav1d I m surprised a random phone cannot manage it
2025-04-08 03:46:06
Once in a while I'll stumble across someone on Discord streaming in AV1 at 1440p or 4K. It cripples my computer and maxed out all cores, so god help my poor phone if I ever tried
DZgas ะ–
2025-04-08 03:50:30
<:galaxybrain:821831336372338729> 1440p 2000 kbps
Demiurge
2025-04-08 08:24:08
Yeah avc is not designed for high res and low bitrates. Hevc adds more varblock sizes and VVC adds rectangular blocks
2025-04-08 08:24:19
I think jxl has rectangular blocks too
_wb_
2025-04-08 08:30:20
Yes, jxl has blocks with aspect ratio 1:1, 1:2 and 2:1 for every block size, and also 8x32 / 32x8
Lumen
2025-04-08 08:30:24
okay so it was not trivial especially when there was entities on the screen, here is my little summary (for --preset 2) - 1080p 60fps had a lot of trouble - --fast-decode=2 was clearly not enough - --fast-decode=2 --tile-columns=1 helped visibly but wasnt enough to watch a flawless av1 on my phone - --fast-decode=2 --tile-columns=2 --tile-rows=1 was almost enough, I almost could watch it nicely. This is due to the fact that phone uses ARM so each core is quite weak and tiles allows to improve multithreaded decoding - same but applied for 720p 60 fps which was sadly still not enough for some specific scenes - same but applied for 720p 30 fps, this time finally it worked flawlessly [result](https://discord.nfp.is/?v=https%3A%2F%2Ffiles.catbox.moe%2Fyceto2.mp4) my conclusion is: av1 is harder to decode on phone than I thought, I admit that I still think that for 720p 30 fps, the compression is great here but I cannot say about other codecs because I did not have a proper comparison on that
2025-04-08 08:33:27
okay on my phone it looks alright, on 4K full screen it s x) different
2025-04-08 08:33:47
but that s to be expected for 918 kbps
Quackdoc
2025-04-08 08:34:17
av1 on phone is weird right now because most phones use libgav1 when no hwdec is present
Lumen
2025-04-08 08:34:18
ho god it s so bad on my desktop XDD
Quackdoc
2025-04-08 08:34:52
new android changes this. but... well, its not common'
Lumen
2025-04-08 08:36:53
to share the ssimu2 score if some people want to vomit ๐Ÿ‘€
Quackdoc
2025-04-08 08:38:04
how were you playing the videos on phone?
Lumen
2025-04-08 08:39:14
yeah the point was to get a minecraft gameplay that was fluid on my 200 euros phone ^^
2025-04-08 08:39:34
doesnt excuse the low bitrate- but it seems that this is what the person I was talking to would target
2025-04-08 08:40:06
comparing with other codec would be interesting now
Quackdoc
2025-04-08 08:41:55
what player are you using on what phone?
Lumen
2025-04-08 08:50:58
I used both the default player in google files app and MPV
2025-04-08 08:51:06
there was no significant difference between them
2025-04-08 08:51:25
the phone is relatively random, let me find the name
2025-04-08 08:51:40
moto g54 5G
Quackdoc
2025-04-08 08:56:58
interesting, mpv should be significantly faster seems like it uses dual core a78 and 6 core a55, so it shouldnt be slow [Hmm](https://cdn.discordapp.com/emojis/1113499891314991275.webp?size=48&name=Hmm)
2025-04-08 09:16:57
yeah I have an LG G7 thinq which uses 4 Kryo 385 Gold and 4 Kryo 385 Silver which are based on A75 and A55. so you shouldnt really be having issues decoding av1 too much
Lumen
2025-04-08 09:45:51
I wonder why that was then
2025-04-08 09:45:54
decoding anime was easy
2025-04-08 09:46:04
but minecraft gameplay with entities in front of me wasnt as easy
2025-04-08 09:46:16
and I believe the options I tried should have been quite good at helping decoding
2025-04-08 09:52:38
but it s weird because something like the opening of charlotte plays nicely
2025-04-08 09:52:43
and it is NOT an easy opening
2025-04-08 09:53:01
I wonder why this specific video was so hard
2025-04-08 09:53:20
maybe I should have tried 1080p 24 fps since the beginning
2025-04-08 09:53:25
instead of 720p 60 fps
dogelition
Quackdoc av1 on phone is weird right now because most phones use libgav1 when no hwdec is present
2025-04-08 10:15:18
didn't a google play update replace that with dav1d?
Quackdoc
dogelition didn't a google play update replace that with dav1d?
2025-04-08 10:31:04
on some devices
DZgas ะ–
Lumen okay so it was not trivial especially when there was entities on the screen, here is my little summary (for --preset 2) - 1080p 60fps had a lot of trouble - --fast-decode=2 was clearly not enough - --fast-decode=2 --tile-columns=1 helped visibly but wasnt enough to watch a flawless av1 on my phone - --fast-decode=2 --tile-columns=2 --tile-rows=1 was almost enough, I almost could watch it nicely. This is due to the fact that phone uses ARM so each core is quite weak and tiles allows to improve multithreaded decoding - same but applied for 720p 60 fps which was sadly still not enough for some specific scenes - same but applied for 720p 30 fps, this time finally it worked flawlessly [result](https://discord.nfp.is/?v=https%3A%2F%2Ffiles.catbox.moe%2Fyceto2.mp4) my conclusion is: av1 is harder to decode on phone than I thought, I admit that I still think that for 720p 30 fps, the compression is great here but I cannot say about other codecs because I did not have a proper comparison on that
2025-04-08 10:31:38
<:Stonks:806137886726553651>
2025-04-08 10:33:29
so far I'm making far-reaching conclusions: "guys, because of ARM we're stuck at 720p" <:kekw:808717074305122316> for 1080p use vp9 only
2025-04-08 10:36:48
hevc and av1 overload the decoder too much due to complex motion vectors vp8 avc have too small blocks. vp9 well this is the perfect choice for 1080p in 2025. especially considering that this codec compresses minecraft the best. After all, according to my theory, also because of the hype of minecraft on youtube, engineers made vp9 for youtube based on minecraft. but this is just my schizo-theory
dogelition
Quackdoc on some devices
2025-04-08 10:38:05
google claimed that all android 12+ phones get it, is that not accurate?
Quackdoc
2025-04-08 10:38:34
they get it, ita just not prioritized , apps have to opt in
2025-04-08 10:38:59
a15+ should be dav1d by default
dogelition
2025-04-08 10:39:43
ah
DZgas ะ–
DZgas ะ– hevc and av1 overload the decoder too much due to complex motion vectors vp8 avc have too small blocks. vp9 well this is the perfect choice for 1080p in 2025. especially considering that this codec compresses minecraft the best. After all, according to my theory, also because of the hype of minecraft on youtube, engineers made vp9 for youtube based on minecraft. but this is just my schizo-theory
2025-04-08 10:41:49
I've thought about libvpx is still being update, improved. It's not the same encoder that came out in 2013... Maybe there's no point in AV1, due to the global stagnation of technologies... I'll never live to see av1 streaming... <:SadCheems:890866831047417898>
HCrikki
2025-04-08 10:56:09
iinm you should force an update to google play services. oddly it can stay pinned on a year old version otherwise
A homosapien
2025-04-08 11:59:29
On my phone, an HDR 1080p 60 fps AV1 video plays better with software decoding than hardware decoding in mpv. Libdav1d is truly magical. ๐Ÿ˜…
Quackdoc
2025-04-09 12:19:20
[av1_woag](https://cdn.discordapp.com/emojis/852007419474608208.webp?size=48&name=av1_woag)
A homosapien
2025-04-09 12:41:52
Woah, google photos can play back 4k AV1 video better than mpv, never thought I would see the day
Quackdoc
2025-04-09 12:44:09
well, mpv does have a button to easily disable hwdec at least so it should be the same, but iirc mpv-android changed some defaults around so may need to change some settings
A homosapien
2025-04-09 12:46:49
For mpv I turned on low quality video decoding and set upscaling/downscaling to bilinear_fast and it still struggles
2025-04-09 12:47:12
Google photos just about manages to play the 4k video smoothly, maybe a dropped frame here and there
Quackdoc
2025-04-09 12:48:07
interesting, any chance it's a mali device?
A homosapien
2025-04-09 12:48:23
Pixel 8, idk if that answers your question
Quackdoc
2025-04-09 12:49:11
yeah, not mali I dont think... weird
A homosapien
2025-04-09 12:49:40
No wait, Google Tensor G3 uses Mali-G715 MP7
2025-04-09 12:49:48
so yes it is a mali device
2025-04-09 12:53:32
Okay I downloaded the apk from Github and it's perfoming better compared to google play's mpv apk
2025-04-09 12:54:08
mpv is dropping less frames but still not quite watchable
Quackdoc
2025-04-09 12:55:30
ahhh, yeah. mali and mpv are not exactly great with eachother. there are work arounds but I cant think of them off the top of my head
A homosapien
2025-04-09 12:57:35
Is it a driver issue? The pixel 8's performance was really hampered by crappy drivers on launch.
Quackdoc
2025-04-09 12:58:34
yeah, mali in general has terrible drivers, iirc you could probably enable vulkan, but im not sure if you need a patched build on the G3 or not
A homosapien
2025-04-09 01:00:19
Still, mpv playing 1440p 60 fps HDR AV1 video flawlessly despite suboptimal drivers is kinda nuts. Libdav1d really is doing a ton of heavy lifting ๐Ÿ’ช
CrushedAsian255
DZgas ะ– hevc and av1 overload the decoder too much due to complex motion vectors vp8 avc have too small blocks. vp9 well this is the perfect choice for 1080p in 2025. especially considering that this codec compresses minecraft the best. After all, according to my theory, also because of the hype of minecraft on youtube, engineers made vp9 for youtube based on minecraft. but this is just my schizo-theory
2025-04-09 09:24:35
What about the format makes it seem optimised for Minecraft?
DZgas ะ–
CrushedAsian255 What about the format makes it seem optimised for Minecraft?
2025-04-09 09:37:50
this is just an observation. There is a fact of testing - minecraft is the most incompressible game for compression. And I suddenly noticed that with identical encoding speed VP9 gives a better result than HEVC on all parameters. And also on all parameters better than AV1 (everything lower the "best" parameter)
CrushedAsian255
DZgas ะ– this is just an observation. There is a fact of testing - minecraft is the most incompressible game for compression. And I suddenly noticed that with identical encoding speed VP9 gives a better result than HEVC on all parameters. And also on all parameters better than AV1 (everything lower the "best" parameter)
2025-04-09 09:40:16
What makes it specifically so impossible for compression? Itโ€™s just blocks isnโ€™t it?
2025-04-09 09:40:32
Or is it the complex motion vectors
DZgas ะ–
CrushedAsian255 What makes it specifically so impossible for compression? Itโ€™s just blocks isnโ€™t it?
2025-04-09 09:43:01
well, these are the test results I've seen. Among all the codecs after AVC, minecraft is the game with the least compression gain between vp9 hevc av1 codecs. I've compressed it a lot myself, I'll say that's true. And it's all about a lot of factors, very active gameplay and very complex vector geometry due to the 3D world with sharp block edges
CrushedAsian255 Or is it the complex motion vectors
2025-04-09 09:44:11
And also the impossibility of using deblock filter, in general, the algorithm cannot be used in this game
CrushedAsian255
2025-04-09 09:44:45
Ah so itโ€™s less incompressible and more it goes against all commonly used compression techniques?
2025-04-09 09:45:11
Like you could probably write a Minecraft-specific dedicated compression algorithm but it wouldnโ€™t be like most others?
DZgas ะ–
2025-04-09 09:45:43
<:galaxybrain:821831336372338729> I AM ?
2025-04-09 09:46:14
Well, I created a fork of svt-av1 in order to compress games and minecraft
2025-04-09 09:48:40
but if you need to compress Minecraft quickly, vp9 suddenly becomes the best solution, no compromise
2025-04-09 09:50:39
and one more important thing. vp9 motion vectors are much simpler, about 2-3 times easier to decode than hevc, so in very dynamic scenes in minecraft this will not cause problems with decoding
Demiurge
2025-04-09 12:08:36
JPEG-XM Extended Minecraft
jonnyawsom3
Demiurge JPEG-XM Extended Minecraft
2025-04-09 01:20:01
https://discord.com/channels/794206087879852103/794206087879852106/1323400503765237811
CrushedAsian255 What makes it specifically so impossible for compression? Itโ€™s just blocks isnโ€™t it?
2025-04-09 01:20:56
Issue is the pixel fine detail on far away blocks, sharp edges everywhere and transparent foliage
Kagamiin~ Saphri
2025-04-14 04:00:07
hey, I'm developing a bitmap compression codec
2025-04-14 04:00:53
it's called Pixcrumb, it's meant for planar low-bpp bitmaps, and I'm trying to design it to be relatively fast to decompress while also having good compression ratio
2025-04-14 04:01:52
I'm having trouble with developing it...
2025-04-14 04:02:35
the first coder I made for it used a combination of 4-bit zero terminated literals + exp-Golomb-coded zero-RLE, just like the Pokรฉmon compression codec... and everything else I tried performs worse than that...
2025-04-14 04:03:58
I've tried variable-length coding for the literals and I've tried LZ77 instead of RLE... all 3 combinations of that almost always perform worse than my first coder
2025-04-14 04:05:40
is this the right channel for talking about this?
A homosapien
2025-04-14 04:17:26
Yeah, this channel is right, we're not strict about this kind of stuff as long as it's not super off topic
_wb_
2025-04-14 08:26:16
What do you mean by low-bpp? Lossy or low bit depth? Assuming it is low bit depth since you are mentioning RLE: does it have to be planar? You might be better off doing it interleaved and doing palette or something like lossless webp's color cache...
Kagamiin~ Saphri
_wb_ What do you mean by low-bpp? Lossy or low bit depth? Assuming it is low bit depth since you are mentioning RLE: does it have to be planar? You might be better off doing it interleaved and doing palette or something like lossless webp's color cache...
2025-04-14 09:24:23
I mean low bit depth, low bitplane count (usually 2-4bpp). It could actually be non-planar, but I designed it to be planar because it's an image codec targeting old video game consoles that use planar graphics formats.
2025-04-14 09:24:30
I'll think about it, thanks for the feedback!
LMP88959
Kagamiin~ Saphri I've tried variable-length coding for the literals and I've tried LZ77 instead of RLE... all 3 combinations of that almost always perform worse than my first coder
2025-04-14 09:33:09
for low-bpp dithered art LZ compression works well, for low-bpp non-dithered art, try 2D RLE
Kupitman
A homosapien On my phone, an HDR 1080p 60 fps AV1 video plays better with software decoding than hardware decoding in mpv. Libdav1d is truly magical. ๐Ÿ˜…
2025-04-23 12:44:02
MPV support hardware?!
Demiurge
2025-04-23 03:18:45
Yes. Ctrl+H
Kupitman
Demiurge Yes. Ctrl+H
2025-04-25 08:44:27
LMAO
2025-04-25 08:44:31
i didn't know
lonjil
2025-04-27 05:10:49
A lot of people here have experience with codecs and stuff like reconstruction, so a quick question: I want to create a virtual filesystem that allows editing FLAC metadata without affecting the original files. The difference between what is written to the virtual fs and what is in the underlying fs must be stored, and this must be enough to reconstruct the data that was written to the virtual fs. A plain binary diff could work, but *might* result in excessively large diffs. A file format aware diff would produce the smallest possible difference, but would be more effort to implement. So, does anyone have any idea how hard the latter variant would be to implement? I figure I'll try the binary diff approach first, but I'm curious what people think.
Quackdoc
2025-04-27 06:13:11
FFmpeg can now decode APV so we should benchmark it against JXL, of particular interest is fastdecode
Cacodemon345
2025-04-28 07:32:52
https://www.phoronix.com/news/FFmpeg-Merges-APV-Decoder
TheBigBadBoy - ๐™ธ๐š›
2025-04-29 10:32:32
so I was playing a bit with WavPack encoders to reach best compression and `wavpack -hhx6` was always heavier than FFmpeg's own WV encoder (`-compression_level 12`), but apparently it is because it uses old WV 4.0 and does not embed CRC checks (?)
2025-04-29 10:32:58
too bad we can't disable CRC calculation in `wavpack`
CrushedAsian255
TheBigBadBoy - ๐™ธ๐š› so I was playing a bit with WavPack encoders to reach best compression and `wavpack -hhx6` was always heavier than FFmpeg's own WV encoder (`-compression_level 12`), but apparently it is because it uses old WV 4.0 and does not embed CRC checks (?)
2025-04-29 10:48:21
Are the CRC checks actually that much data?
TheBigBadBoy - ๐™ธ๐š›
2025-04-29 10:58:24
`115000597` bytes `115071869` bytes problem is: I don't really know because apparently it saves the space of CRC blocks, but it has worse compression > I ran ffmpeg's WavPack encoder, and similar happens. With -optimize-mono it can produce smaller files than reference WavPack - I guess due to missing block checksums, which takes up space - and without it is naturally quite a bit worse; size orders are > 8, 7, 4, 6=5 (bit-identically), (here are reference WavPack -hx6 down to -fx3), 1, 2, 3, 0 with -optimize-mono > 8, 7, 4, 6=5 (bit-identically), 2, 3, 1, 0 without. > "0" is ffmpeg's default and encodes dual mono, so on this signal it is twice as big as WavPack -x https://hydrogenaud.io/index.php/topic,123655.msg1025694.html#msg1025694
Kupitman
2025-04-29 11:10:00
71kb...
TheBigBadBoy - ๐™ธ๐š›
2025-04-29 11:18:47
more than that since FFmpeg should compress worse than `wavpack`
damian101
CrushedAsian255 Are the CRC checks actually that much data?
2025-04-30 05:01:20
I doubt that...
2025-04-30 05:02:39
you definitely want those CRC checksums
TheBigBadBoy - ๐™ธ๐š›
2025-04-30 07:44:32
well I quite like how FLAC handled this a simple single MD5 hash for the *whole* file instead of a CRC for each packet or sample or whatever
MSLP
2025-05-02 02:11:57
But packet-based checksums also have their place - they give you more granularity - in case of data corruption you can see which parts of the data have been damaged, and which can be salvaged
TheBigBadBoy - ๐™ธ๐š›
2025-05-02 05:16:22
except for streaming purposes I don't see the point
2025-05-02 05:20:38
bc if you want to have some "extra safety" for local storage, then go for disk backup or RAID 5 or whatever I don't want evety format to implement their own data-corruption detector
2025-05-02 05:21:06
that's personal taste ofc
jonnyawsom3
2025-05-02 06:16:30
JXL inherently has error detection thanks to the ANS runs
RaveSteel
2025-05-04 09:51:26
<@184373105588699137> I did a short test with streaming to youtube. SVT@25000kbit/s and fastest preset. According to yt-dlp all available streams are AVC but youtube's stats for nerds says the video delivered to viewers is VP9. So same as when I last tested
jonnyawsom3
2025-05-04 11:42:47
Apparently the Windows file explorer `Rotate right` and `Rotate left` options add both sRGB and gAMA chunks to PNGs...
2025-05-04 11:43:32
Yet another reason why files keep popping up with Gamma applied to sRGB images I suppose
Quackdoc
2025-05-04 12:19:22
I'm still only getting vp9 on 1440p t.t
RaveSteel
2025-05-04 12:28:45
I also only get VP9 on youtube. But I get VP9 no matter what I am streaming to youtube. They are transcoding everything to VP9
Quackdoc
2025-05-04 12:31:28
their live VP9 encoder craps on their live avc encoder so that is a win
2025-05-04 12:32:04
yeah even just opening a random live stream im getting AVC on ff
RaveSteel
2025-05-04 12:33:28
Interesting. If I myself stream to youtube I receive a VP9 stream. Though I haven't tried extensively on how I could get an AVC stream
Quackdoc
2025-05-04 12:34:05
maybe live moide matters? dunno
RaveSteel
2025-05-04 12:39:22
I have tried different latency modes in youtube's livestream settings, no difference
2025-05-04 12:40:08
the streamed codec also doesn't seem to matter, I tried both AVC and AV1, both are transcoded into a VP9 stream by youtube
Quackdoc
2025-05-04 12:40:33
weird
2025-05-04 12:40:48
I wonder if it depends on injest datacenter load
RaveSteel
2025-05-04 12:41:03
No idea
2025-05-04 12:41:29
bitrate also makes no difference, I tried 25000kbit/s and 250kbit/s, still nets me a VP9 stream
2025-05-04 12:43:08
I have clicked through a few livestreams, all of them are VP9 for me
Quackdoc
2025-05-04 12:43:37
maybe this is a firefox skill issue lmao
RaveSteel
2025-05-04 12:44:38
I don't think so, the same happens with chromium
2025-05-04 12:46:24
Ok, after clicking through a few more streams I found one with AVC, which it is in firefox and chromium
Quackdoc
2025-05-04 12:47:21
yeah I wonder if injest is the issue then
2025-05-04 12:47:23
weird
2025-05-04 12:47:45
then again, I only watch streamers with 40-200 viewers usually so it might be that
RaveSteel
2025-05-04 12:48:34
So in conclusion, no idea why
2025-05-04 12:48:35
lol
Quackdoc
2025-05-04 12:48:45
yup lmao
MSLP
TheBigBadBoy - ๐™ธ๐š› that's personal taste ofc
2025-05-04 07:08:33
Ye, I it's a preference thing - in my case I like those things to be able to work "transparently" and independent of the storage medium. It would be cool if this wouldn't have to be done at a file format level - eg. via built-in function in filesystem which could do create/verify data blocks checksums.
Mine18
2025-05-04 07:59:19
<@184373105588699137> <@167354761270525953> you may need to enable AV1 in account settings/preferences under playback on desktop
Quackdoc
2025-05-04 07:59:38
yeah those are set
RaveSteel
2025-05-04 07:59:46
Same
2025-05-04 08:00:43
There isn't even an option anymore to not have AV1 enabled
Quackdoc
2025-05-05 04:04:21
doesn't seem like vulkan video can encode or decode RGB encoded videos lol
2025-05-05 01:17:14
openapv has finally be merged into ffmpeg https://www.phoronix.com/news/FFmpeg-Adds-APV-Encoder when this lands in stable, im gonna have a lot of fun comparing this to jxl
2025-05-05 01:18:29
man I wish I didn't need to patch ffmpeg <:SadCheems:890866831047417898>
RaveSteel
2025-05-05 01:26:02
I just hope that it really does land with Android 16
Quackdoc
2025-05-05 01:26:24
it will be optional but yes it's in A16
2025-05-05 01:26:57
https://developer.android.com/about/versions/16/features#apv
RaveSteel
2025-05-05 01:27:22
Hopefully it'll be implemented by most vendors
Quackdoc
2025-05-05 01:29:16
I don't see why it wouldn't be tbh, it will likely be default, but some vendors may choose to disable it on lower end hardware because A) it's software encoding so it's really going to hammer the CPU B) it targets bitrates up to gbps, even at lower settings its still going to do 200+mbps which will really kill storage on low end devices
dogelition
2025-05-05 01:30:53
really sucks how much you have to pay extra for more storage on high end phones
2025-05-05 01:31:17
and they don't have sd card support anymore...
2025-05-05 01:33:24
worst offender might be the pixel phones, the 9 pro xl starts at 128 gb and you need to pay 100โ‚ฌ extra for 256 gb
Quackdoc
2025-05-05 01:33:55
some do some don't, I refuse to buy a phone that doesn't, but tbh, Im kinda digging usb storage lately, some real high perf small usb keys that can be strapped to the back for recording
dogelition
2025-05-05 01:35:46
i've seen people record log footage directly to an external ssd from an iphone
RaveSteel
2025-05-05 01:36:06
I have done that lol
2025-05-05 01:36:16
Also on Android with Motioncam
dogelition
2025-05-05 01:36:25
nice
Quackdoc
2025-05-05 01:37:01
motioncam dev went closed source [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&name=av1_dogelol) oh well, not much benefit to using it over mcpro or blackmagic cam
RaveSteel
2025-05-05 01:38:06
Sadly they did, but the app is still good, leagues ahead of any other camera app I've tested. Blackmagic Cam is a joke, seeing as the bitrate selction is super low
Quackdoc
2025-05-05 01:39:00
I mean, it gives you what makes sense for smartphone encoders
RaveSteel
2025-05-05 01:39:11
I think I still have the open source motioncam APK lying around, but the new Pro version is much more advanced
Quackdoc
2025-05-05 01:40:30
afaik I do have a fork with the latest source availible on my repo i managed to grab before it was taken down
RaveSteel
2025-05-05 01:41:17
nice
Quackdoc
2025-05-05 01:41:51
well, mcpro24fps is still out there ~~and cracked~~ so generally I reccomend either using blackmagic if you want a free app, or mcpro24fps which does provide some greater customizability
2025-05-05 01:42:10
the thing I dislike about blackmagic app the most is the absurdly low max iso when in manual mode
jonnyawsom3
Quackdoc openapv has finally be merged into ffmpeg https://www.phoronix.com/news/FFmpeg-Adds-APV-Encoder when this lands in stable, im gonna have a lot of fun comparing this to jxl
2025-05-05 01:44:12
What CPU do you have again?
Quackdoc
2025-05-05 01:44:26
on my desktop? ryzen 2600
jonnyawsom3
2025-05-05 01:52:11
Just thinking if lossless would decode fast enough for video https://discord.com/channels/794206087879852103/803645746661425173/1365676466586783755
RaveSteel
2025-05-05 01:53:51
It can be, even for mobile, but mostly at e1
2025-05-05 01:54:02
but testing with fast decode sounds like an idea, why not
2025-05-05 01:54:07
will try if I have time later
jonnyawsom3
2025-05-05 01:54:32
Napkin maths says FD4 can handle 1080p120
RaveSteel
2025-05-05 01:54:38
ohhhh
2025-05-05 01:54:41
we'll see
Quackdoc
Just thinking if lossless would decode fast enough for video https://discord.com/channels/794206087879852103/803645746661425173/1365676466586783755
2025-05-05 01:55:18
it was fast enough before the older regression
jonnyawsom3
RaveSteel ohhhh
2025-05-05 01:59:52
That was based on my CPU, using your djxl results, you should be able to hit 4K60 (Possibly... maybe)
RaveSteel
2025-05-05 02:18:02
I will try and report back later
jonnyawsom3
Quackdoc it was fast enough before the older regression
2025-05-05 02:32:35
You mean the faster decoding one, or something else?
Quackdoc
2025-05-05 02:33:01
yeah faster decoding, one sec
2025-05-05 02:36:57
this was my decode speed https://cdn.discordapp.com/attachments/673202643916816384/1182221413856313384/image.png?ex=6819b97d&is=681867fd&hm=1c695c546eac3ec87a8fddcce0cff862e5f1bca77aa060c978c458e07e880c81& https://media.discordapp.net/attachments/673202643916816384/1182221277776314398/image.png?ex=6819b95d&is=681867dd&hm=63c4d77c4d2019d74165b9f27517686a218eb3b02c8aa86c29a28ca1742bc800&
2025-05-05 02:37:20
iirc they were both with faster decoding 4
2025-05-05 02:37:57
i plan on restesting, I just need to recompile libjxl git, openapv git, and ffmpeg git
2025-05-05 02:40:31
ah, 98fps is without faster decoding mb
2025-05-05 02:44:31
https://media.discordapp.net/attachments/673202643916816384/1182221278430634014/image.png?ex=6819b95d&is=681867dd&hm=22bbe28d27031b57a35ac25597f1b4d71714375cf924a7403c5f9a1ab1eeb63a&=&format=webp
2025-05-05 02:44:41
this is with faster decoding
2025-05-05 02:46:39
kk, went back and verified, this is how I encoded them `cjxl -e 3 -d 1 --faster_decoding=4`
2025-05-05 05:17:21
``` liboapv AVOptions: -preset <int> E..V....... Encoding preset for setting encoding speed (optimization level control) (from 0 to 4) (default medium) fastest 0 E..V....... fast 1 E..V....... medium 2 E..V....... slow 3 E..V....... placebo 4 E..V....... default 2 E..V....... -qp <int> E..V....... Quantization parameter value for CQP rate control mode (from 0 to 63) (default 32) -oapv-params <dictionary> E..V....... Override the apv configuration using a :-separated list of key=value parameters ```
2025-05-05 05:17:29
it has qp controls, so weird
2025-05-05 05:18:05
also presets instead of profiles
2025-05-05 05:20:38
it can only be muxed in .apv rn which sucks
2025-05-05 05:22:25
also <@853026420792360980> would it be possible to support a `-jxl-params` in ffmpeg?
Traneptora
Quackdoc also <@853026420792360980> would it be possible to support a `-jxl-params` in ffmpeg?
2025-05-05 05:24:22
there's no generic library option parser so individual flags would have to be mapped
Quackdoc
2025-05-05 05:24:48
[sadge](https://cdn.discordapp.com/emojis/1022473190133473381.webp?size=48&name=sadge)
Traneptora
2025-05-05 05:24:56
is there any flag you needed in particular
2025-05-05 05:25:12
none of them are hard, just require commits
Quackdoc
2025-05-05 05:26:19
the only one I actually care for atm is faster_decoding since im more interested in using it for video sequences
2025-05-05 05:27:39
I imagine other people would have other interests tho
2025-05-05 05:36:24
comparing `cjxl -e 6 -d 0.5 --faster_decoding=4` to `-c:v liboapv -preset fast` ```ps โžœ /tmp l out* Permissions Size User Date Modified Name .rw-r--r-- 351M quack 5 May 14:21 out.apv .rw-r--r-- 394M quack 5 May 14:29 outjxl.mkv `````` apv mpv fps avg: 490fps jxl mpv fps avg: 130fps `````` โžœ /tmp hyperfine --runs 5 'ffmpeg -i out.mkv -f null -' 'ffmpeg -i out.apv -f null -' Benchmark 1: ffmpeg -i out.mkv -f null - Time (mean ยฑ ฯƒ): 19.710 s ยฑ 0.198 s [User: 102.234 s, System: 5.019 s] Range (min โ€ฆ max): 19.493 s โ€ฆ 19.973 s 5 runs Benchmark 2: ffmpeg -i out.apv -f null - Time (mean ยฑ ฯƒ): 2.870 s ยฑ 0.053 s [User: 24.793 s, System: 0.605 s] Range (min โ€ฆ max): 2.819 s โ€ฆ 2.942 s 5 runs Summary ffmpeg -i out.apv -f null - ran 6.87 ยฑ 0.14 times faster than ffmpeg -i out.mkv -f null - ```
2025-05-05 05:46:16
apv ``` Video Score for 1439 frames Mean: 85.69301367 Median: 86.31131066 Std Dev: 1.62214221 5th Percentile: 83.13180947 95th Percentile: 86.92562095 ```
2025-05-05 06:03:17
jxl ``` Video Score for 1439 frames Mean: 87.88833392 Median: 87.44315682 Std Dev: 1.54705227 5th Percentile: 86.00371500 95th Percentile: 90.30870678 ```
2025-05-05 06:03:36
can for sure drop the distance a bit on jxl , but all in all, not bad
2025-05-05 06:49:18
for comparison to prores standard, ``` size: 692M ffmpeg time: 2.802 mpv: 55fps Video Score for 1439 frames Mean: 90.97257053 Median: 90.35808189 Std Dev: 1.33401068 5th Percentile: 89.82873741 95th Percentile: 93.17081174 ```
2025-05-05 06:50:14
<@167354761270525953> APV is actually not that bad at all
2025-05-05 06:50:30
I think jxl can probably be tuned to out do it, but for now, it's solid
RaveSteel
2025-05-05 06:50:35
Very nice
2025-05-05 06:50:55
If it can be competive with prores on mobile then that's all I could wish for
2025-05-05 06:54:25
And 10bit
2025-05-05 06:54:31
and LOG
2025-05-05 06:54:36
lol
Quackdoc I think jxl can probably be tuned to out do it, but for now, it's solid
2025-05-05 06:56:14
Maybe when JXL at some point supports scrubbing etc.
Quackdoc
2025-05-05 07:01:48
yeah, I will likely still continue to use jxl since thats how my workflow is setup (I just mux it into a mkv file, so my NLE is fast) but I could see this being a good competitor
RaveSteel
2025-05-05 07:02:33
Your NLE supports JXL in MKV?
Quackdoc
2025-05-05 07:04:24
I use olive which supports what ffmpeg supports
2025-05-05 07:04:45
I just have a small patch to add jxl as an accepted riff type
2025-05-05 07:05:32
```diff diff --git a/libavformat/riff.c b/libavformat/riff.c index df7e9df31b..16e37fb557 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -34,6 +34,7 @@ * files use it as well. */ const AVCodecTag ff_codec_bmp_tags[] = { + { AV_CODEC_ID_JPEGXL, MKTAG('J', 'X', 'L', ' ') }, { AV_CODEC_ID_H264, MKTAG('H', '2', '6', '4') }, { AV_CODEC_ID_H264, MKTAG('h', '2', '6', '4') }, { AV_CODEC_ID_H264, MKTAG('X', '2', '6', '4') }, ```
RaveSteel
2025-05-05 07:06:43
Nice nice. I hope that a new FFmpeg version with the JXL commits releases soon, it's been a while since they have been merged
Quackdoc
2025-05-05 07:07:52
what os?
RaveSteel
2025-05-05 07:09:25
In general
2025-05-05 07:09:40
<@853026420792360980>'s patches were merged in january I believe
Quackdoc
2025-05-05 07:10:05
what were the patches for? iirc ffmpeg should have had a release since then
RaveSteel
2025-05-05 07:10:29
The patches introduced libjxl_anim
2025-05-05 07:10:45
But these patches have not been included in releases since
2025-05-05 07:11:30
You currently need to compile from source to get it
RaveSteel The patches introduced libjxl_anim
2025-05-05 07:13:08
``` ffmpeg version N-118321-g4c96d6bf75 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 14.2.1 (GCC) 20240910 configuration: --enable-libjxl libavutil 59. 55.100 / 59. 55.100 libavcodec 61. 31.101 / 61. 31.101 libavformat 61. 9.106 / 61. 9.106 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 13.100 / 8. 13.100 libswresample 5. 4.100 / 5. 4.100 Encoder libjxl_anim [libjxl JPEG XL animated]: General capabilities: dr1 threads Threading capabilities: other Supported pixel formats: rgb24 rgba rgb48le rgba64le rgbf32le rgbaf32le gray ya8 gray16le ya16le grayf32le libjxl AVOptions: -effort <int> E..V....... Encoding effort (from 1 to 9) (default 7) -distance <float> E..V....... Maximum Butteraugli distance (quality setting, lower = better, zero = lossless, default 1.0) (from -1 to 15) (default -1) -modular <int> E..V....... Force modular mode (from 0 to 1) (default 0) -xyb <int> E..V....... Use XYB-encoding for lossy images (from 0 to 1) (default 1) ```
Quackdoc
2025-05-05 07:13:10
ah rip
RaveSteel
2025-05-05 07:13:59
It's very usable already. If only JPEG transcoding were supported
jonnyawsom3
RaveSteel Maybe when JXL at some point supports scrubbing etc.
2025-05-06 01:26:54
It already does, it's up to viewers to implement it. IIRC VIPS example viewer supports it
Quackdoc comparing `cjxl -e 6 -d 0.5 --faster_decoding=4` to `-c:v liboapv -preset fast` ```ps โžœ /tmp l out* Permissions Size User Date Modified Name .rw-r--r-- 351M quack 5 May 14:21 out.apv .rw-r--r-- 394M quack 5 May 14:29 outjxl.mkv `````` apv mpv fps avg: 490fps jxl mpv fps avg: 130fps `````` โžœ /tmp hyperfine --runs 5 'ffmpeg -i out.mkv -f null -' 'ffmpeg -i out.apv -f null -' Benchmark 1: ffmpeg -i out.mkv -f null - Time (mean ยฑ ฯƒ): 19.710 s ยฑ 0.198 s [User: 102.234 s, System: 5.019 s] Range (min โ€ฆ max): 19.493 s โ€ฆ 19.973 s 5 runs Benchmark 2: ffmpeg -i out.apv -f null - Time (mean ยฑ ฯƒ): 2.870 s ยฑ 0.053 s [User: 24.793 s, System: 0.605 s] Range (min โ€ฆ max): 2.819 s โ€ฆ 2.942 s 5 runs Summary ffmpeg -i out.apv -f null - ran 6.87 ยฑ 0.14 times faster than ffmpeg -i out.mkv -f null - ```
2025-05-06 01:28:42
It'd take quite a bit of storage, but I don't suppose you could try lossless FD4? If I recall we made it even faster than lossy
A homosapien
2025-05-06 01:34:44
Well for lossless sometimes FD3 is faster. Depends on the image and PC.
jonnyawsom3
A homosapien Well for lossless sometimes FD3 is faster. Depends on the image and PC.
2025-05-06 01:48:57
Did we ever actually test against the same image? To see if it's only hardware or image content
A homosapien
2025-05-06 01:49:14
I'm not sure
Quackdoc
It'd take quite a bit of storage, but I don't suppose you could try lossless FD4? If I recall we made it even faster than lossy
2025-05-06 02:04:48
id have to take some time tommorow to do it and find a scratch disk
2025-05-06 02:04:51
but ill try
username
2025-05-06 02:11:43
does anyone know a good way (or anyway really) to visualize the allocation of the 4 VP8 segments in lossy WebP? aka this: https://www.slideshare.net/slideshow/the-vp8-video-codec/8468382#70
2025-05-06 02:12:55
I think `-sns` in cwebp might be responsible for deciding how to split up the image but I have no way to visualize it
spider-mario
2025-05-11 02:35:30
https://www.nature.com/articles/s42256-025-01033-7 > Here we present LMCompress, a new method that leverages large models to compress data. LMCompress shatters all previous lossless compression records on four media types: text, images, video and audio. It halves the compression rates of JPEG-XL for images, FLAC for audio and H.264 for video, and it achieves nearly one-third of the compression rates of zpaq for text. ๐Ÿค”
_wb_
2025-05-11 02:40:25
Halves the rates for lossless? I have a hard time believing that...
2025-05-11 02:41:49
That is, for photographic images, I don't think there's that much room for improvement left for lossless compression.
Tirr
2025-05-11 02:42:34
does it mean we now have a decoder that sizes tens of gigabytes?
jonnyawsom3
spider-mario https://www.nature.com/articles/s42256-025-01033-7 > Here we present LMCompress, a new method that leverages large models to compress data. LMCompress shatters all previous lossless compression records on four media types: text, images, video and audio. It halves the compression rates of JPEG-XL for images, FLAC for audio and H.264 for video, and it achieves nearly one-third of the compression rates of zpaq for text. ๐Ÿค”
2025-05-11 03:10:14
I read that and their previous paper the other day. They have no actual documentation of encoder settings or encoder version. Just linking to previous papers that still don't show any numbers
2025-05-11 03:24:37
2025-05-11 03:25:27
They just link back to the original paper for JPEG XL
CrushedAsian255
spider-mario https://www.nature.com/articles/s42256-025-01033-7 > Here we present LMCompress, a new method that leverages large models to compress data. LMCompress shatters all previous lossless compression records on four media types: text, images, video and audio. It halves the compression rates of JPEG-XL for images, FLAC for audio and H.264 for video, and it achieves nearly one-third of the compression rates of zpaq for text. ๐Ÿค”
2025-05-11 05:10:14
So is it getting an ai model to predict the next token and storing differences?