Dav2d(jbkempf.com)
292 pointsby captain_benderMay 31, 2026

16 Comments

EldodiMay 31, 2026
How is AV2 expected to avoid the patent-pool issues AV1 ran into?

AV1 was designed as royalty-free, but Sisvel’s pool and the recent Dolby/Snap proved the contrary.

https://accessadvance.com/2026/03/24/access-advance-licensor...

UnlockedSecretsMay 31, 2026
They filed a suit, henceforth making a claim of an issue...... They haven't "proved" anything other then they have lawyers on staff that can file some paperwork until the suit is settled in court...
AndrewDuckerMay 31, 2026
How does that prove anything?

They're claiming that there are patents, but that doesn't mean there are.

EldodiMay 31, 2026
Dolby is only the most recent case, Sisvel consorsium actually bills licences per device:

Consumer Display Device: EUR 0.32

Consumer Non-Display Device: EUR 0.11

(source here: https://www.sisvel.com/licensing-programmes/audio-and-video-...)

croesMay 31, 2026
That doesn’t prove their claims are valid.

I can claim the same and offer licenses per device.

UnlockedSecretsMay 31, 2026
How does how they bill for their product, matter in terms of if their lawsuit holds merit?
silotisMay 31, 2026
Can you point to any other patent lawsuit over AV1? AFAIK the Dolby case is the first.
zamadatixMay 31, 2026
Sisvel allows you to pay them if you believe their claims, they haven't actually taken anyone not paying to court yet to prove that. The only court cases for VP9/AV1 from Sisvel so far have been their patents being found invalid/irrelevant.

Dolby is somewhat more interesting in that rather than scare tactics, media hype, and attempting to form a pool about it they are actually taking a patent assertion claim to court.

justincliftMay 31, 2026
That crowd are just deeply concerned one of their lucrative revenue streams is disappearing.

So they seem to be attempting to pull a fast one and use unproven claims to try and convert their competitor into a replacement revenue source.

It'll probably be a case of whoever has the best lawyers + contacts + persistence wins.

But it'll be interesting if discovery shows evidence they know they don't have a case and are trying it anyway. "Piercing the corporate veil" can theoretically be a consequence of that AFAIK.

croesMay 31, 2026
No codec can ever avoid patent-pool claims.
ArodexMay 31, 2026
Every single AV2 news here in the last week has seen exactly the same question.

Either go back read the answers there first, or I will assume you are part of a FUD campaign (yes, I know HN guidelines, but again every single AV2 news in the last week has seen the same rhetorical "questions" as top "comments").

Slurpee99May 31, 2026

  ... improvements around 25% compared to AV1

  AV2 decoding is roughly five times more complex than AV1 decoding
I'm not sure what these two lines mean or if we can compare them, any help?
croesMay 31, 2026
Smaller files but harder to decode
jbkMay 31, 2026
> I'm not sure what these two lines mean or if we can compare them, any help?

AV2 saves 25% bandwidth at the cost of 5x more decoding complexity.

0x1ceb00daMay 31, 2026
What does "complexity" mean here? Computation required?
simjndMay 31, 2026
Yes
BillStrongMay 31, 2026
Yes, much higher computation required to encode it, and decode it, both.
Caspy7May 31, 2026
He only mentioned decode complexity. Would be interesting to know the average encode complexity compared to AV1.
WD-42May 31, 2026
dav1d is the av1 decoder and it’s an insane feat of engineering. Written in assembly, it even eschews the normal c calling convention to get even better performance.
IshKebabMay 31, 2026
The normal C calling convention is really only for cross-binary calls (e.g. between shared libraries). If you're not doing that you can ignore it; it's not a weird thing to do. It would be odd to strictly follow it in assembly and I assume compilers don't either.
whynotmaybeMay 31, 2026
I understood it as compression is 25% better : a quality of 10mbps in av1 can be achieved with 8mbps in Av2. But, it needs 5 times more compute power for this 25% gain.
jordandMay 31, 2026
'AV2 decoding is roughly five times more complex than AV1 decoding. In practice, that means software running on today’s hardware will struggle to decode AV2 in real time without careful, architecture-specific optimization'

AV1 software decoding is already very intensive so AV2 decoding benchmarks are the next thing that would be really interesting (or mortifying) to see.

jbkMay 31, 2026
> AV1 software decoding is already very intensive so AV2 decoding benchmarks are the next thing that would be really interesting (or mortifying) to see.

Yes, this is going to be fun to watch.

mrbluecoatMay 31, 2026
I came to post this as well. Until widespread, inexpensive hardware catches up to a 2018 codec, AV# will remain a niche ideal.
breveMay 31, 2026
Hardly niche. My laptop isn't new and it has hardware AV1 decoding and encoding. My 10 year old iPhone 7 can play 1080p AV1 video in software for over 200 minutes with VLC. The iPhone 7 was released in 2016, a year and a half before AV1. The dav1d decoder is mighty.

Netflix uses AV1: https://netflixtechblog.com/av1-now-powering-30-of-netflix-s...

YouTube uses AV1. It's tough to be more mainstream than that.

Right click on a YouTube video and select Stats for Nerds. If your system is capable of it, chances are it will be playing back in AV1.

Most of the YouTube videos I watch these days are AV1 encodes. Sometimes it's in VP9 and occasionally it's H.264.

sylwareMay 31, 2026
Same. Mostly AV1, sometimes VP9, and rarely h264.

What's missing mostly: live streams which are h264.

Currently, and I say currently, dav1d is so fast, no worries on that side.

weiliddatMay 31, 2026
Supported is different from doing it well though. You do notice the performance hit even on TVs that playback YouTube videos on AV1.

Even on 1080p videos running on AV1 on 1x, the TV system bogs down and any kind of interaction has a variable 1-3s lag. On some TVs if you do 1.25x the TV automatically "downgrades" the resolution to 480p to avoid dropping frames.

I wish there was an option to still use VP9 / H.264 on those systems (even limited to 1080p).

TingPingMay 31, 2026
Youtube artificially limits the resolution, on mine if you cast the exact same video it doesn’t impose that limit and works fine.
Dylan16807May 31, 2026
More reason to never use the builtin stuff in a tv. Cheap sticks can handle decoding fine.
jordandMay 31, 2026
Yeah I could imagine the AV1 codec sticking around for a very long while, even as a fallback for AV2. There's still hundreds of millions of people out there using old/cheap devices (especially in developing countries) where that battery drain from software decoding is a big problem, so AV2 would be nonviable.
ZeroGravitasMay 31, 2026
Some of the early use of VP9 and AV1 was Netflix serving video to people in developing countries. Their metered bandwidth was more of a bottleneck than the CPU playback.
kmfrkMay 31, 2026
Intel's Arc dGPUs were really compelling for dedicated AV1 encode and decode, especially the small form factor of some cards. You could even fit it as a secondary card in a PC dedicated to recording and encode workflows for OBS.

Hope we get a similar option with future lineups that support AV2, especially given how popular video creation and streaming are now.

thrownthatwayMay 31, 2026
Is there a compelling reason encoding needs to be done locally?

The point of encoding is to reduce downstream bandwidth for the viewer, and upstream bandwidth for the distribution network.

The content creator only needs to upload it once.

halJordanMay 31, 2026
Well yes? The platforms only accept certain resolution/bitrates and also most of America isnt running 1gig up. They're running 5-30 mbps up. So yeah they need to encode it.
phkahlerMay 31, 2026
If you don't encode locally as the video is created, you either need to store RAW frames which takes enormous amount of storage, or you use a different format and suffer quality loss by transcending.
IshKebabMay 31, 2026
Video calls & streaming.
poly2itMay 31, 2026
Sorry if this sounds naive, but does it make sense to write a codec library in C/ASM considering how well Rust is progressing, especially when, as the author puts it, AV2 decoding is roughly five times more complex than AV1 decoding?
jbkMay 31, 2026
Because it's 5 times more complex, you need to get the maximum performance available. Therefore more ASM than ever.

Rust does not bring more performance. Just more safety.

LoganDarkMay 31, 2026
The safety can be worth it in certain cases. Like when handling untrusted input. And it's not just Rust: look at WUFFS for example. WUFFS can actually rival handwritten implementations in certain cases.
throawayontheMay 31, 2026
but not these cases
IshKebabMay 31, 2026
I don't see why not. What makes you think this is unique?
xp84May 31, 2026
Are video codecs in the present day able to be sandboxed? In my fantasies at least I’d like the worst a malicious video file can do is cause garbage output or cause the codec to crash.

Forgive the ignorance, I have worked entirely in the abstracted layers of the stack, and mostly web.

TelaneoMay 31, 2026
Go ask FFmpeg what they're writing their encoders and decoders in.
latexrMay 31, 2026
That isn’t particularly helpful to someone asking a question in good faith. What others are using doesn’t clarify why they are using it. Plus, FFmpeg is itself a decade older than Rust. The OP is asking about starting a new project today.
TelaneoMay 31, 2026
> What others are using doesn’t clarify why they are using it.

It does if you ask them, or at least research the topic at hand.

latexrMay 31, 2026
Isn’t that just the same as answering “Google it”, then? We’re on a discussion forum, where matter experts visit, talking about a specific topic. If one can’t ask their questions in this highly relevant situation, where can they? The point of HN is supposed to be gratifying curiosity.
MattRixMay 31, 2026
Yes? There is 5x more code to optimize the ASM for.
ArodexMay 31, 2026
The algorithms deployed in these kind of codecs take into account not only human vision and mathematical laws of information, but also nitty-gritty details of how computers work, which are optimally exploited by directly having humans write detailed assembly rather than a compiler make a best guess and effort.
cogman10May 31, 2026
Encoder and decoder writers frequently need extremely fine grain control over SIMD instructions in order to get good performance.

The way they weave these instructions can be very hard to express with a high level language.

Further, there's a ton of work with arrays and importantly parts of arrays. They can, for example, need to extract every other element up to 1/2 the array. Unfortunately, rust has runtime array bounds checks which make writing that sort of code slower. The compiler can elade those checks, but usually only in simple cases.

The authors would be writing a bunch of unsafe rust to get the performance they want and rust makes that more painful on purpose.

I like rust, but C/ASM really is the right choice here. This is one of the few cases where rust's safety is a major detriment.

muhbaasuMay 31, 2026
The ffmpeg devs have said many times in public that they routinely get speedups of 10x or more over C code. I'm not a reputable source on this myself but I highly recommend looking into their channels, mails, or posts.
throawayontheMay 31, 2026
yes it makes sense to use C/ASM here, but if you're curious, there is a rust port of dav1d named rav1d: https://github.com/memorysafety/rav1d

it's not much slower than the original C/ASM implementation (last i checked ~5%?) but that matters here

IshKebabMay 31, 2026
I don't know why you've been down-voted. It definitely isn't an optimal decision. A video codec isn't all assembly. There's plenty of plain unsafe C code. E.g. this is the first random file I clicked. It has a ton of raw C pointer stuff just begging to be exploited.

https://code.videolan.org/videolan/dav2d/-/blob/main/src/dat...

There is a project to write an AV1 decoder in Rust: Rav1d (really stretching the name here).

https://github.com/memorysafety/rav1d

They got within 5% of the performance of dav1d and held a contest to close the gap but I think I read somewhere that this wasn't achieved.

https://www.memorysafety.org/blog/rav1d-perf-bounty/

They claimed

> This is enough of a difference to be a problem for potential adopters, and, frankly, it just bothers us.

But in my opinion nobody actually cares about 5% in absolute terms. It's likely just Rust naysayers using that as an excuse.

I think the likely reason for dav2d using C is that they can reuse lots of code and infrastructure from dav1d. But I agree it would be much better if they worked on Rav2d instead (these names!). You can hardly complain about a 5% overhead if you're opting in to 5x more decoding complexity.

nmzMay 31, 2026
https://youtu.be/nepKKz-MzFM&t=7195

If you can stand Lex Friedman for a bit, the VLC authors talk about why you use ASM for a video decoder instead of pure C or rust.

GaggiXMay 31, 2026
I would love to see comparisons with AV1 on very low bitrates.
UnlockedSecretsMay 31, 2026
Return of the 8MB Shrek encodes?
MaxikCZMay 31, 2026
https://web.archive.org/web/20210416200451/https://cdn.disco...

Shrek 1 at 8.34MB including audio.. insane

coldpieMay 31, 2026
Video resolution: 128x72, hahah. Late 90s RealPlayer postage stamp video is back! To its credit, that whole movie is probably smaller than RealPlayer itself was.
GaggiXMay 31, 2026
I love this, hope to see a AV2 version at 8MB
ant6nMay 31, 2026
There's a 64MB game boy advance cartridge with shrek on it [1]. Looks pretty horrible [2]. But the GBA only has 16KB fast / 256KB slow RAM, and a 16MHz CPU.

[1] https://archive.org/details/Shrek-Video-GBA [2] https://www.youtube.com/watch?v=CyOfPZQl4MI

lostmsuMay 31, 2026
6MB should be enough for everyone!
husky8May 31, 2026
Is codex working on novel decoders 24/7? I hope
cozzydMay 31, 2026
One would imagine given the name that it would specialize in codecs
aetherspawnMay 31, 2026
Ok whose idea was ‘Wiener filtering’
cogman10May 31, 2026
Norbert Wiener in the 1940s. He invented the technique.

It's a semi-common last name.

https://en.wikipedia.org/wiki/Wiener_filter?wprov=sfla1

anoncowMay 31, 2026
I thought this was about Dave2D
adithyassekharMay 31, 2026
Same
ltheanineMay 31, 2026
Yeah I suppose it’s named after dav1d but still seems like a pretty unfortunate name collision.
fitzroymckayMay 31, 2026
same
latexrMay 31, 2026
When AV1 was first announced, I got the impression the name was chosen partly as a pun/reference/homage to AVI, the classic but outdated format with used to be popular. Then when I saw Dav1d, OK, good way to continue the pun.

But now with AV2 and Dav2d, that completely breaks. Are we eventually going to get AV3/Dav3d and AV4/Dav4d, which will read like Ave/Daved and Ava/Davad? Seems a bit awkward. Was the idea from the start to have the 1 be the version number, and have it specifically be part of the name?

WhrRTheBaboonsMay 31, 2026
> experience Dav... Now in 3D!
jl6May 31, 2026
1dav2codecs?

2av2furious?

HendriktoMay 31, 2026
And then AV3: Tokyo Drift, and after that AV Episode 1.
BillStrongMay 31, 2026
Already predicting which versions to avoid, huh.
xp84May 31, 2026
Or go the Apple Watch naming scheme route.

Just “AV”

Next, AV Series 1 and 2 (released simultaneously)

Later, AV Edition but it costs $10,000

ArubisMay 31, 2026
Da5id could potentially work as a Snow Crash reference.
p1mrxMay 31, 2026
I think it's a reasonable decision. The only people who will interact with dav2d by name are codec nerds, and a simple increment makes the lineage more obvious to that audience.
xp84May 31, 2026
As with all naming schemes in the tech world, I am sure no future scenarios, including successor names, were ever considered
BetterThanSoberMay 31, 2026
I'm pretty sure it is a homage. As for dav1d it's not a reference decoder (although partially funded by AOM iirc) so they might not know that the next iteration will simply be AV2, we have h264, h265, h266 naming though

Tangent but I cannot wait for h269 (or h267 for the younger gen)

latexrMay 31, 2026
I’m fascinated by the flurry of downvotes to a simple commentary and question, especially when the replies are normal. If you’re one of the downvotes, please do share what you found offensive about my comment, I am genuinely interested in what you perceived as problematic.
remix2000May 31, 2026
> Make it fast on older desktop, by writing asm for SSSE3+ chips

I guess 5 years ago (around the time when Intel stopped making SSE-only chips) is technically "older", but I wouldn't prioritize avx2 when devices intended for consuming media definitely experience much less pressure to upgrade than workstations…

otherjasonMay 31, 2026
Almost every Intel CPU released since 2013 has AVX2 support. Some Atom SKUs were longer holdouts, but the fraction of x86 CPUs shipped in the last decade that have AVX2 support is very high.
the__alchemistMay 31, 2026
Not to be confused with Da4vid (world-class hacker and owner of the Black sun) or D4vd (rap artist and alleged murderer)
staindkMay 31, 2026
Or Dave2D, popular tech youtuber
tostiMay 31, 2026
Or dave, the command to start Dangerous Dave.
JoshTriplettMay 31, 2026
> Not to be confused with Da4vid (world-class hacker and owner of the Black sun)

*Da5id

kingstnapMay 31, 2026
This seems like an interesting case to test AI agents on.

Like we had weird examples like C compilers and Bun. This is a much more interesting example because its highly nontrivial.

AV1 exists, Dav1d exists. Lets see AI take the AV2 spec and Dav1d code and try to make a working high performance AV2 decoder.

plopilopMay 31, 2026
Seems like the blog succumbed to the HN hug of death (`Actioning this file would cause "jbkempf.com//blog/2026/dav2d/" to exceed the per-day file actions limit of 160000 actions, try again later`), is there a copy available somewhere?
juliieMay 31, 2026
celsoazevedoMay 31, 2026
kaka314May 31, 2026
Too much traffic from HN?

``` Too Many Requests The page you have tried to access is not available because the owner of the file you are trying to access has exceeded our short term bandwidth limits. Please try again shortly.

Details: Actioning this file would cause "jbkempf.com//blog/2026/dav2d/" to exceed the per-day file actions limit of 160000 actions, try again later ```

hideout_berlinMay 31, 2026
i had that too once i used dyndns address my linux apache crashed when some one posted it here
BetterThanSoberMay 31, 2026
I don't know if I'm underestimating HN's reach but I doubt we did that, probably traffic from a much bigger aggregator/forum
jezzamonMay 31, 2026
You are underestimating HN's reach, this happens all the time. As someone who has been on the front page of HN it's a pretty big rush in traffic!
yieldcrvMay 31, 2026
D4vd
genxyMay 31, 2026
A codec spec isn't done until there is at least one decoder developed in the field. So reference + 1. The field implementations often become the de facto spec.

Reading the MPEG1 specs back in the 90s as a child opened my eyes to how to define complex systems. For a media coding standard, they spent most of their time saying how to interpret encoded bytes, which I realized is genius. Be descriptive about decoding and you don't have to be prescriptive about encoding. Encoding is where you can apply all the creativity, but you need to provide a way to have a shared understanding of the encoded bytes.