ΠΠ±ΡΠ½ΠΎΡΡΠΈ VideoLAN ΠΈ FFmpeg ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d 0.7.0 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ Π·Π° ΡΠΎΡΠΌΠ°Ρ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ . ΠΡΠΎΠ΅ΠΊΡΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊ C (C99) Ρ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ (NASM/GAS) ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ x86, x86_64, ARMv7 ΠΈ ARMv8, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Linux, Windows, macOS, Android ΠΈ iOS.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° AV1, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²Π΅Π½ΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ²Π΅ΡΠ° (8, 10 ΠΈ 12 Π±ΠΈΡΠ°). Π Π°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ ΡΠ΅ΡΡΠ²Π°Π½Π° Π½Π° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ AV1. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° dav1d Π΅ Π½Π°ΡΠΎΡΠ΅Π½ΠΎΡΡΡΠ° ΠΊΡΠΌ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
Π :
- ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° refmv (Dynamic Reference Motion Vector Prediction) Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° Ρ ΠΎΠΊΠΎΠ»ΠΎ 12% ΠΏΡΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΎΠΊΠΎΠ»ΠΎ 25%;
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π²ΡΡΡΠ΅Π½Π° Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ARM64, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π΄ΡΠ»Π±ΠΎΡΠΈΠ½ΠΈ Π½Π° ΡΠ²Π΅ΡΠ° 8, 10 ΠΈ 12 Π±ΠΈΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠ»ΡΡΡ CDEF, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ AVX-512;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ AVX2 ΠΈ SSSE3;
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° dav1dpla Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π° Π½Π° ΡΠ²Π΅ΡΠ° 10 Π±ΠΈΡΠ°, Ρ ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ 4:2:0, ΠΈ ΠΏΠΎΠ΄Π°Π²ΡΠ½Π΅ Π½Π° ΡΠΈΡΡΠΎΠ² ΡΡΠΌ Π½Π° GPU.
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊΡΡ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Π°Π»ΠΈΠ°Π½ΡΠ° (AOMedia), Π² ΠΊΠΎΡΡΠΎ ΡΡΠ°ΡΡΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, Apple, CCN ΠΈ Realtek. AV1 Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΠΉΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ΅Π²Π°ΡΠ²Π° H.264 ΠΈ VP9 ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ°. ΠΠ° ΡΠ΅Π»ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ ΡΠ΅ΡΡΠ²Π°Π½ΠΈ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΈ, AV1 Π² ΡΡΠ΅Π΄Π½ΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΡΡΠ΅ΠΉΡΠ° Ρ 13% Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ VP9 ΠΈ Ρ 17% Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ HEVC. ΠΡΠΈ Π²ΠΈΡΠΎΠΊΠΈ Π±ΠΈΡΡΠ΅ΠΉΡΠΎΠ²Π΅ ΠΏΠ΅ΡΠ°Π»Π±Π°ΡΠ° Π΄ΠΎΡΡΠΈΠ³Π° Π΄ΠΎ 22-27% Π·Π° VP9 ΠΈ Π΄ΠΎ 30-43% Π·Π° HEVC. Π ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Facebook, AV1 ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ» H.264 (x264) Ρ 50.3% ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ°, Π²ΠΈΡΠΎΠΊΠΈΡ ΠΏΡΠΎΡΠΈΠ» H.264 Ρ 46.2%, Π° VP9 (libvpx-vp9) Ρ 34.0%.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
