Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° VideoLAN ΠΈ FFmpeg ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π²ΡΠΏΡΡΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ dav1d 1.0.0 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ AV1. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ C (C99) Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ (NASM/GAS) ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ x86, x86_64, ARMv7 ΠΈ ARMv8, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ FreeBSD, Linux, Windows, macOS, Android ΠΈ iOS.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° dav1d ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ AV1, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΠ±Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΠ΅ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΡΠ²Π΅ΡΠ° (8, 10 ΠΈ 12 Π±ΠΈΡ). Π Π°Π±ΠΎΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ AV1. ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ dav1d ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ AVX-512. Π£Π»ΡΡΡΠ΅Π½Ρ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SSE2 ΠΈ AVX2.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ API Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ GPU Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ API Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ°Π΄ΡΠ°Ρ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊ AV1 ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π°Π»ΡΡΠ½ΡΠΎΠΌ Open Media (AOMedia), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, Apple, CCN ΠΈ Realtek. AV1 ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΠΎΠΏΠ»Π°ΡΡ ΠΎΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ H.264, H.265 (HEVC) ΠΈ 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%.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru