Nieuwe implementatie in Rust van AV1-decoder doet debat oplaaien over kosten, prestaties en veiligheid in multimedia software
Het ecosysteem van open-source multimedia software heeft onlangs een nieuwe episode van technologische spanning doorgemaakt. FFmpeg, een van de meest invloedrijke projecten op het gebied van video- en audioprocessing, heeft een sarcastisch commentaar gegeven over rav1d, een AV1-decoder geschreven in Rust, ontwikkeld door de Prossimo-stichting.
Het commentaar volgde op een beloningsprogramma van Prossimo, dat tot $20.000 biedt aan degene die het prestatieniveau van dav1d, de snelste AV1-decoder ter wereld die in C is geschreven, weet te evenaren. Volgens FFmpeg: “Rust is zo goed dat je $20.000 kunt verdienen door het net zo snel te maken als C”, een duidelijke kritiek op het prestatieniveau en de aanpak van Prossimo.
Wat is rav1d?
Rav1d is een implementatie in Rust van de AV1-decoder, ontworpen als een veiliger alternatief voor dav1d, dat in C is geschreven. AV1 is een moderne video-codec die vrij is van royalty’s en veel wordt gebruikt door giganten zoals Netflix, YouTube en Twitch voor de efficiënte compressie van video op internet.
Rust heeft aan populariteit gewonnen als een geheugenveilige programmeertaal, een essentiële eigenschap voor low-level software, vooral als het gaat om bibliotheken die op miljoenen apparaten en systemen worden gebruikt.
Veiligheid versus prestaties
Het doel van Prossimo met rav1d is niet alleen om de prestaties van dav1d te evenaren, maar ook om een codebasis te bieden die het aantal beveiligingsfouten, vaak veroorzaakt door handmatige geheugensynthese in C en C++, vermindert. De beloning richt zich op het dichten van een prestatiekloon van 5% tussen rav1d en dav1d, wat in het domein van videodecodering significant kan zijn.
Echter, de regels van het programma sluiten een groot deel van de wereldwijde ontwikkelaarsgemeenschap uit en beperken de deelname om juridische en regulatorische redenen tot bepaalde regio’s. Dit heeft geleid tot kritiek op de inclusiviteit van de inspanning.
De opstelling van FFmpeg en de industrie
De toon van het commentaar van FFmpeg weerspiegelt een stroming van scepsis ten aanzien van Rust binnen een deel van de C-ontwikkelaars gemeenschap. Hoewel velen de voordelen van Rust op het gebied van veiligheid erkennen, betwijfelen anderen de efficiëntie ervan in projecten waar prestaties prioriteit hebben en laagdrempelig beheer essentieel is.
Het is niet de eerste keer dat Rust voor debat zorgt. Ook binnen de Linux-kernel is de opname van Rust onderwerp geweest van intense interne discussies, die onlangs hebben geleid tot de formalisering van een specifiek beleid om conflicten die voortvloeien uit de introductie van de nieuwe taal te voorkomen.
De geopolitieke context van geheugenveiligheid
De discussie over rav1d vindt niet in een vacuüm plaats. In 2024 publiceerde het Witte Huis een officieel rapport dat opriep tot de adoptie van geheugenveilige talen om exploiteerbare kwetsbaarheden te verminderen, waarbij expliciet steun werd verleend aan talen zoals Rust. Vanuit dit perspectief vertegenwoordigen projecten zoals rav1d een natuurlijke evolutie in de keten van kritieke software.
Is het de moeite waard om te betalen voor gelijke prestaties aan C?
De onderliggende vraag is of het de moeite waard is om tienduizenden dollars te investeren alleen maar om de prestaties van een C-implementatie te evenaren. Voor degenen die veiligheid prioriteren, is het antwoord ja: Rust maakt het mogelijk om een balans te vinden tussen acceptabele prestaties en een kleiner risico op catastrofale fouten. Voor anderen kan het gezien worden als een verdubbeling van inspanningen met een resultaat dat nog steeds inferieur is.
Hoe dan ook, het debat blijft open en de industrie ziet in real-time hoe de balans tussen prestaties, kosten en veiligheid in infrastructuursoftware weer opnieuw wordt gedefinieerd.
Meer informatie en broncode
Referenties: itsfoss en Memory Safety