De release van de SVT-AV1 1.5-bibliotheek (Scalable Video Technology AV1) met implementaties van de encoder en decoder van het AV1-videocoderingsformaat is gepubliceerd. Het project is gemaakt door Intel in samenwerking met Netflix om een prestatieniveau te bereiken dat geschikt is voor on-the-fly videotranscodering en gebruik in video-on-demand (VOD)-services. Momenteel wordt de ontwikkeling uitgevoerd onder auspiciën van de Open Media Alliance (AOMedia), die toezicht houdt op de ontwikkeling van het AV1-videocoderingsformaat. Eerder werd het project ontwikkeld in het kader van het OpenVisualCloud-project, dat ook SVT-HEVC- en SVT-VP9-encoders ontwikkelt. De code wordt gedistribueerd onder de BSD-licentie.
SVT-AV1 vereist een x86_64-processor met ondersteuning voor AVX2-instructies. Om 10-bits AV1-streams in 4K-kwaliteit te coderen, is 48 GB RAM vereist, 1080p 16 GB, 720p 8 GB, 480p 4 GB. Vanwege de complexiteit van de algoritmen die in AV1 worden gebruikt, vereist het coderen van dit formaat aanzienlijk meer bronnen dan andere formaten, waardoor het gebruik van de standaard AV1-encoder voor real-time transcodering niet mogelijk is. De stock-encoder van het AV1-project vereist bijvoorbeeld 5721, 5869 en 658 keer meer berekeningen dan de x264 ("main" profile), x264 ("high" profile) en libvpx-vp9 encoders.
Enkele van de wijzigingen in de nieuwe SVT-AV1-release:
- Er is een optimalisatie van de afweging tussen kwaliteit en snelheid uitgevoerd, waardoor presets M1-M5 met 15-30% zijn versneld en presets M6-M13 met 1-3%.
- Er is een nieuwe MR-preset (—preset -1) toegevoegd die wordt aangeprezen als referentiekwaliteit.
- Optimalisatie van presets M8-M13 in coderingsmodus met lage latentie.
- Ondersteuning toegevoegd voor dynamische selectie van "miniGOP" (Group of Pictures) wijzigingsvoorspellingshiërarchieën voor willekeurige toegangsconfiguraties die standaard zijn ingeschakeld in presets tot en met M9. Het is ook mogelijk om een kleinere miniGOP-startgrootte op te geven om proactief laden te versnellen.
- De mogelijkheid toegevoegd om lambda-schaalfactoren op de opdrachtregel te wijzigen.
- Herschreven plug-in voor gstreamer.
- De mogelijkheid toegevoegd om een bepaald aantal frames over te slaan voordat met coderen wordt begonnen.
- Aanzienlijke opschoning van ongebruikte variabelen en statische functies is uitgevoerd, opmerkingen in de code zijn opnieuw geformatteerd. De grootte van variabelenamen is verkleind om de code leesbaarder te maken.
Bron: opennet.ru