VideoLAN ΠΈ FFmpeg Π·Π°Π΅Π΄Π½ΠΈΡΠΈ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΎ ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d 0.7.0 ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ Π±Π΅ΡΠΏΠ»Π°ΡΠ΅Π½ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ ΡΠΎ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ AV1. ΠΠΎΠ΄ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C (C99) ΡΠΎ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΠΈ Π²Π»ΠΎΡΠΊΠΈ (NASM/GAS) ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ° BSD. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ x86, x86_64, ARMv7 ΠΈ ARMv8 ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Linux, Windows, macOS, Android ΠΈ iOS.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d Π³ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ AV1, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·ΠΈ Π·Π΅ΠΌΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ ΠΈ ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π΄Π»Π°Π±ΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° Π±ΠΎΡΠ°ΡΠ° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° (8, 10 ΠΈ 12 Π±ΠΈΡΠ°). ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ ΡΠ΅ΡΡΠΈΡΠ°Π½Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ AV1. ΠΠ»ΡΡΠ½Π°ΡΠ° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° dav1d Π΅ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΡΠΎΠΊΡΡ Π½Π° ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΡΠ²ΠΈΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ.
Π Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ°:
- ΠΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° refmv (ΠΡΠ΅Π΄Π²ΠΈΠ΄ΡΠ²Π°ΡΠ΅ Π½Π° Π²Π΅ΠΊΡΠΎΡ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΎ Π΄Π²ΠΈΠΆΠ΅ΡΠ΅) ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 12% Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 25%;
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM64 Π΅ ΡΠ΅ΡΠΈΡΠΈ Π·Π°Π²ΡΡΠ΅Π½Π°, ΠΏΠΎΠΊΡΠΈΠ²Π°ΡΡΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π΄Π»Π°Π±ΠΎΡΠΈΠ½ΠΈ Π½Π° Π±ΠΎΠΈ ΠΎΠ΄ 8, 10 ΠΈ 12 Π±ΠΈΡΠ°;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ CDEF ΡΠΈΠ»ΡΠ΅Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ AVX-512;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ AVX2 ΠΈ SSSE3;
- Π£ΡΠ»ΡΠΆΠ½Π°ΡΠ° Π°Π»Π°ΡΠΊΠ° dav1dpla ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ 10-Π±ΠΈΡΠ½Π° Π΄Π»Π°Π±ΠΎΡΠΈΠ½Π° Π½Π° Π±ΠΎΠΈ, ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Π½Π΅-4:2:0 ΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎ ΠΏΠΎΡΠΈΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠΌΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ.
ΠΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ΄Π΅ΠΊΠΎΡ AV1 ΡΠ°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ ΡΠΎΡΡΠ·ΠΎΡ ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΠΌΠ΅Π΄ΠΈΡΠΌΠΈ (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