Utgivelse av rav1e 0.5, AV1-koderen

Utgivelsen av rav1e 0.5.0, en koder for AV1-videokodingsformatet, har funnet sted. Produktet er utviklet av Mozilla- og Xiph-miljøene og skiller seg fra libaom-referanseimplementeringen, skrevet i C/C++, ved å øke kodehastigheten og økt oppmerksomhet på sikkerhet (komprimeringseffektiviteten henger fortsatt etter). Produktet er skrevet i Rust-programmeringsspråket med monteringsoptimaliseringer (72.2% - assembler, 27.5% - Rust), koden distribueres under BSD-lisensen. Klare bygg er forberedt for Windows og macOS (bygg for Linux hoppes midlertidig over på grunn av problemer med det kontinuerlige integrasjonssystemet).

rav1e støtter alle kjernefunksjonene til AV1, inkludert støtte for intra- og interrammer, 64x64 superblokker, 4:2:0, 4:2:2 og 4:4:4 chroma subsampling. , 8-, 10- og 12 -bit fargedybdekoding, RDO (Rate-Distortion Optimization) forvrengningsoptimalisering, ulike moduser for å forutsi endringer mellom bilder og oppdage transformasjoner, bithastighetskontroll og sceneavkortingsdeteksjon.

AV1-formatet er merkbart foran H.264 og VP9 når det gjelder komprimeringsmuligheter, men på grunn av kompleksiteten til algoritmene som implementerer dem, krever det betydelig mer tid for koding (i kodingshastighet er libaom hundrevis av ganger bak libvpx- vp9, og tusenvis av ganger bak x264). rav1e-koderen tilbyr 11 ytelsesnivåer, hvorav det høyeste gir nesten sanntids kodingshastigheter. Koderen er tilgjengelig både som et kommandolinjeverktøy og som et bibliotek.

Den nye versjonen inneholder følgende endringer:

  • Betydelig akselerasjon av kodeken;
    Utgivelse av rav1e 0.5, AV1-koderen
  • Rettet en feil som førte til at koderen krasjet ved visse videostørrelser;
  • Bruk av AVX2-instruksjoner for å øke hastigheten på Wiener-estimeringen betydelig for 13 bits per kanal (opptil 16 ganger). Tilsvarende ble bruk av SIMD-instruksjoner lagt til, som gjorde det mulig å fremskynde beregningene med opptil 7 ganger under lignende forhold;
  • Mange mindre reparasjoner og optimaliseringer for x86, arm32 og arm64 plattformer.

Kilde: opennet.ru

Legg til en kommentar