ΠΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° rav1e 0.5.0, Π΅Π½ΠΊΠΎΠ΄Π΅Ρ Π·Π° ΡΠΎΡΠΌΠ°Ρ Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ AV1, ΡΠ΅ ΡΡΡΡΠΎΡ. ΠΡΠΎΠ΄ΡΠΊΡΡΡ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ ΠΎΠ±ΡΠ½ΠΎΡΡΠΈΡΠ΅ Mozilla ΠΈ Xiph ΠΈ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° libaom, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C/C++, ΡΡΠ΅Π· ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° (Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π°). ΠΡΠΎΠ΄ΡΠΊΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Rust Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅ΡΠΎ (72.2% - Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ, 27.5% - Rust), ΠΊΠΎΠ΄ΡΡ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· BSD. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π·Π° Windows ΠΈ macOS (ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈΡΠ΅ Π·Π° Linux ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ).
rav1e ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° AV1, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΡΡΠ°- ΠΈ ΠΈΠ½ΡΠ΅Ρ-ΠΊΠ°Π΄ΡΠΈ, 64x64 ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠΎΠ²Π΅, 4:2:0, 4:2:2 ΠΈ 4:4:4 chroma subsampling. , 8-, 10- ΠΈ 12 -Π±ΠΈΡΠΎΠ²ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ²Π΅ΡΠ°, RDO (ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ°) ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°Π΄ΡΠΈΡΠ΅ ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π±ΠΈΡΠΎΠ²Π°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠΊΡΠ°ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅Π½Π°.
Π€ΠΎΡΠΌΠ°ΡΡΡ AV1 Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ΅Π²Π°ΡΠ²Π° H.264 ΠΈ VP9 ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅, Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π³ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Ρ, ΠΈΠ·ΠΈΡΠΊΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ (ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ libaom ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΡΡΠΎΡΠΈΡΠΈ ΠΏΡΡΠΈ ΠΎΡ libvpx- vp9 ΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΡΡΠΈ Π·Π°Π΄ x264). ΠΠΎΠ΄Π΅ΡΡΡ rav1e ΠΏΡΠ΅Π΄Π»Π°Π³Π° 11 Π½ΠΈΠ²Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΏΠΎΡΡΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΠ΄Π΅ΡΡΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΊΠ°ΡΠΎ ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄, ΡΠ°ΠΊΠ° ΠΈ ΠΊΠ°ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π΅ΠΊΠ°;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π³ΡΠ΅ΡΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°ΡΠ΅ ΡΡΠΈΠ² Π½Π° Π΅Π½ΠΊΠΎΠ΄Π΅ΡΠ° ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΎ;
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° AVX2 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΅Π½ΠΊΠ°ΡΠ° Π½Π° Wiener Π·Π° 13 Π±ΠΈΡΠ° Π½Π° ΠΊΠ°Π½Π°Π» (Π΄ΠΎ 16 ΠΏΡΡΠΈ). ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° SIMD ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡΡΠ° Π΄ΠΎ 7 ΠΏΡΡΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ;
- ΠΠ½ΠΎΠ³ΠΎ Π΄ΡΠ΅Π±Π½ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° x86, arm32 ΠΈ arm64 ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru