rav1e 0.5, AV1-kooderin julkaisu

rav1e 0.5.0, AV1-videokoodausformaatin kooderi, on julkaistu. Tuote on Mozilla- ja Xiph-yhteisöjen kehittämä, ja se eroaa C/C++-kielellä kirjoitetusta libaom-referenssitoteutuksesta lisäämällä koodausnopeutta ja kiinnittämällä enemmän huomiota turvallisuuteen (pakkaustehokkuus on edelleen jäljessä). Tuote on kirjoitettu Rust-ohjelmointikielellä kokoonpanooptimoinneilla (72.2% - assembler, 27.5% - Rust), koodia jaetaan BSD-lisenssillä. Valmiit koontiversiot valmistellaan Windowsille ja macOS:lle (Linux-versiot ohitetaan väliaikaisesti jatkuvan integrointijärjestelmän ongelmien vuoksi).

rav1e tukee kaikkia AV1:n ydinominaisuuksia, mukaan lukien tuki sisäisille ja inter-frameille, 64x64-superlohkot, 4:2:0, 4:2:2 ja 4:4:4 värin alinäytteenotto. , 8-, 10- ja 12 -bitin värisyvyyskoodaus, RDO (Rate-distortion Optimation) vääristymien optimointi, erilaiset tilat kehysten välisten muutosten ennustamiseen ja muunnosten havaitsemiseen, bittinopeuden ohjaus ja kohtauksen katkaisun tunnistus.

AV1-muoto on huomattavasti edellä H.264:ää ja VP9:ää pakkausominaisuuksien suhteen, mutta ne toteuttavien algoritmien monimutkaisuuden vuoksi se vaatii huomattavasti enemmän aikaa koodaukseen (koodausnopeudessa libaom on satoja kertoja jäljessä libvpx- vp9 ja tuhansia kertoja x264:n takana). rav1e-kooderi tarjoaa 11 suorituskykytasoa, joista korkeimmat tarjoavat lähes reaaliaikaisia ​​koodausnopeuksia. Enkooderi on saatavana sekä komentorivityökaluna että kirjastona.

Uusi versio sisältää seuraavat muutokset:

  • Koodekin merkittävä kiihtyvyys;
    rav1e 0.5, AV1-kooderin julkaisu
  • Korjattu virhe, joka aiheutti enkooderin kaatumisen tietyissä videokokoissa;
  • AVX2-ohjeiden käyttäminen nopeuttaa merkittävästi Wiener-estimointia 13 bitillä kanavaa kohti (jopa 16 kertaa). Samoin lisättiin SIMD-ohjeiden käyttö, mikä mahdollisti laskelmien nopeuttamisen jopa 7 kertaa vastaavissa olosuhteissa;
  • Paljon pieniä korjauksia ja optimointeja x86-, arm32- ja arm64-alustoille.

Lähde: opennet.ru

Lisää kommentti