ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ , Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΊΠΎΠ΄Π΅Ρ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΎΡΠΌΠ°Ρ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΎ ΠΎΡ ΠΎΠ±ΡΠ½ΠΎΡΡΠΈΡΠ΅ Xiph ΠΈ Mozilla. ΠΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust ΠΈ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΠΎΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ libaom Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° (Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π°). ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· BSD.
ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° AV1, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π°
Π²ΡΡΡΠ΅ΡΠ½ΠΎ ΠΈ Π²ΡΠ½ΡΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ ΠΊΠ°Π΄ΡΠΈ ( ΠΈ -ΠΊΠ°Π΄ΡΠΈ), ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠΎΠ²Π΅ 64Γ64, ΡΠ²Π΅ΡΠΎΠ²Π° ΡΡΠ±Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ 4:2:0, 4:2:2 ΠΈ 4:4:4, 8-, 10- ΠΈ 12-Π±ΠΈΡΠΎΠ²ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π° Π½Π° ΡΠ²Π΅ΡΠ°, RDO (ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠΎΡΠΎΡΡ ΠΈ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅), ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅Π½ΠΈ.
Π€ΠΎΡΠΌΠ°ΡΡΡ AV1 Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ H.264 ΠΈ VP9 ΠΏΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡΡΠ° Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π³ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ Ρ recruitment Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ (ΠΏΠΎ ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅, libaom ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΎΡ libvpx-vp9 ΡΡΠΎΡΠΈΠ½ΠΈ ΠΏΡΡΠΈ, Π° ΠΎΡ x264 Ρ
ΠΈΠ»ΡΠ΄ΠΈ ΠΏΡΡΠΈ).
ΠΠΎΠ΄Π΅ΡΡΡ rav1e ΠΏΡΠ΅Π΄Π»Π°Π³Π° 11 Π½ΠΈΠ²Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΊΠ°ΡΠΎ Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠΊΠΎΡΠΎΡΡ, Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΠ΄Π΅ΡΡΡ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄, ΡΠ°ΠΊΠ° ΠΈ ΠΊΠ°ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ ΠΏΠΎ-Π±ΡΡΠ· ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ;
- ΠΠ°ΠΌΠ°Π»Π΅Π½ Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ (Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° x86_64/Linux Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π°Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 3MB);
- ΠΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Ρ ΠΎΠΊΠΎΠ»ΠΎ 14%;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ΅Π½ ΡΠΈΠ»ΡΡΡ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ (deblocking);
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64 ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SIMD ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π°ΡΠ° Π²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡ;
- ΠΡΠΎΡΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ Ρ 1/6;
- Π RDO (ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±ΠΈΡΠΎΠ²ΠΎΡΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅) Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΎΠΊΠ°Π΄ΡΠΎΠ²ΠΈΡΠ΅ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½ΠΈΡ;
- ΠΡΠΊΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ° ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ ΠΊΡΠΌ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ;
- ΠΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ Ρ 1-2% Π½Π° Π²ΡΠΎΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΊΠΎΡΠΎΡΡ;
- Π½ΠΎΠ² ΡΠΈΠ»ΡΡΡ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠ°ΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ (Intra edge);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΡΠ° Β«-SΒ» (βswitch-frame-interval) Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π½Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°Π΄ΡΠΈΡΠ΅;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° wasm32-wasi ().
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
