Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° VideoLAN ΠΈ FFmpeg ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΡΡΠ΅ΡΠΈΠΉ Π²ΡΠΏΡΡΠΊ (0.3) Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ dav1d Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ AV1. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ (C99) Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ (NASM/GAS) ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ x86, x86_64, ARMv7 ΠΈ ARMv8, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Linux, Windows, macOS, Android ΠΈ iOS.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° dav1d ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ AV1, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΠ±Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΠ΅ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΡΠ²Π΅ΡΠ° (8, 10 ΠΈ 12 Π±ΠΈΡ). Π Π°Π±ΠΎΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ AV1. ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ dav1d ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SSSE3, SSE4.1 ΠΈ AVX2. Π‘ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ°Ρ
Ρ SSSE3 Π²ΠΎΠ·ΡΠΎΡΠ»Π° Π½Π° 24%, Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Ρ AVX2 Π½Π° 4%. ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SSE4.1, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π° 26% ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π½Π΅ΠΎΠΏΡΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ (ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ Π½Π° Π±Π°Π·Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SSSE3 Π²ΡΠΈΠ³ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ 1.5%).
Π’Π°ΠΊΠΆΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ARM64. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ NEON, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΠ»ΡΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 12%.
ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΌ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ aomdec (libaom) ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ dav1d Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ΅ΡΡΠ°Ρ
dav1d Π±ΡΡΡΡΠ΅Π΅ Π² 2-4 ΡΠ°Π·Π°). Π ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ 10-20%.
ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠΏΠ΅Ρ
Π² Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ dav1d Π² Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ dav1d ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Chromium/Chrome 74 ΠΈ Firefox 67 (ΡΠ°Π½ΡΡΠ΅ dav1d Π±ΡΠ» Π²ΠΊΠ»ΡΡΠ΅Π½ Π΄Π»Ρ Windows, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Linux ΠΈ macOS). ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ dav1d Π² FFmpeg ΠΈ VLC, Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° dav1d ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Handbrake.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊ AV1 ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π°Π»ΡΡΠ½ΡΠΎΠΌ Open Media (AOMedia), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN ΠΈ Realtek. AV1 ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΠΎΠΏΠ»Π°ΡΡ ΠΎΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ H.264 ΠΈ VP9 ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΆΠ°ΡΠΈΡ. ΠΠ»Ρ Π²ΡΠ΅Π³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ AV1 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠΈ Π±ΠΈΡΡΠ΅ΠΉΡΠ° Π½Π° 13% ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ VP9 ΠΈ Π½Π° 17% ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ HEVC. ΠΠ° Π²ΡΡΠΎΠΊΠΈΡ
Π±ΠΈΡΡΠ΅ΠΉΡΠ°Ρ
Π²ΡΠΈΠ³ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ 22-27% Π΄Π»Ρ VP9 ΠΈ Π΄ΠΎ 30-43% Π΄Π»Ρ HEVC. Π ΡΠ΅ΡΡΠ°Ρ
Facebook AV1 ΠΎΠ±ΠΎΠ³Π½Π°Π» ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΆΠ°ΡΠΈΡ main profile H.264 (x264) Π½Π° 50.3%, high profile H.264 Π½Π° 46.2%, Π° VP9 (libvpx-vp9) Π½Π° 34.0%.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru