Udgivelsen af rav1e 0.5.0, en koder til AV1-videokodningsformatet, har fundet sted. Produktet er udviklet af Mozilla- og Xiph-samfundene og adskiller sig fra libaom-referenceimplementeringen, skrevet i C/C++, ved at øge kodningshastigheden og øget opmærksomhed på sikkerheden (komprimeringseffektiviteten halter stadig bagefter). Produktet er skrevet i Rust-programmeringssproget med monteringsoptimeringer (72.2% - assembler, 27.5% - Rust), koden distribueres under BSD-licensen. Klare builds er forberedt til Windows og macOS (builds til Linux springes midlertidigt over på grund af problemer med det kontinuerlige integrationssystem).
rav1e understøtter alle kernefunktionerne i AV1, inklusive understøttelse af intra- og inter-frames, 64x64 superblokke, 4:2:0, 4:2:2 og 4:4:4 chroma subsampling. , 8-, 10- og 12 -bit farvedybdekodning, RDO (Rate-Distortion Optimization) forvrængningsoptimering, forskellige tilstande til forudsigelse af inter-frame ændringer og detektering af transformationer, bithastighedskontrol og scene trunkeringsdetektion.
AV1-formatet er mærkbart foran H.264 og VP9 med hensyn til kompressionsmuligheder, men på grund af kompleksiteten af de algoritmer, der implementerer dem, kræver det væsentligt mere tid til kodning (i kodningshastighed er libaom hundredvis af gange bagefter libvpx- vp9, og tusindvis af gange bag x264). rav1e-koderen tilbyder 11 ydeevneniveauer, hvoraf det højeste leverer næsten realtidskodningshastigheder. Encoderen er tilgængelig både som et kommandolinjeværktøj og som et bibliotek.
Den nye version indeholder følgende ændringer:
- Betydelig acceleration af codec;
- Rettede en fejl, der fik koderen til at gå ned ved visse videostørrelser;
- Brug af AVX2-instruktioner til at fremskynde Wiener-estimeringen markant for 13 bits pr. kanal (op til 16 gange). Tilsvarende blev brugen af SIMD-instruktioner tilføjet, som gjorde det muligt at fremskynde beregningerne med op til 7 gange under lignende forhold;
- Masser af mindre rettelser og optimeringer til x86, arm32 og arm64 platforme.
Kilde: opennet.ru