VideoLAN ΠΈ FFmpeg Π·Π°Π΅Π΄Π½ΠΈΡΠΈ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΎ ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d 0.6.0 ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ Π±Π΅ΡΠΏΠ»Π°ΡΠ΅Π½ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ ΡΠΎ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ AV1. ΠΠΎΠ΄ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊ C (C99) ΡΠΎ Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠΈ (NASM/GAS) ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ° BSD. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ x86, x86_64, ARMv7 ΠΈ ARMv8 ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Linux, Windows, macOS, Android ΠΈ iOS.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d Π³ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ AV1, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·ΠΈ Π·Π΅ΠΌΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ ΠΈ ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π΄Π»Π°Π±ΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° Π±ΠΎΡΠ°ΡΠ° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° (8, 10 ΠΈ 12 Π±ΠΈΡΠ°). ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ ΡΠ΅ΡΡΠΈΡΠ°Π½Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ AV1. ΠΠ»ΡΡΠ½Π°ΡΠ° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° dav1d Π΅ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΡΠΎΠΊΡΡ Π½Π° ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΡΠ²ΠΈΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ.
ΠΠΎ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°:
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM64 ΠΊΠΎΠΈ ΠΏΠΎΠΊΡΠΈΠ²Π°Π°Ρ ΠΌΠ½ΠΎΠ³Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ 10- ΠΈ 12-Π±ΠΈΡΠ½ΠΈ Π΄Π»Π°Π±ΠΎΡΠΈΠ½ΠΈ Π½Π° Π±ΠΎΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° AVX-512 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° prep_bilin, prep_8tap, cdef_filter ΠΈ mc_avg/w_avg/mask ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° SSSE3 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΏΠΎΡΠΈΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈΠΎΡ ΡΡΠΌ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° AVX2 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° msac_adapt16.
- ΠΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠΎΠ²ΠΏΠ°ΡΠ°ΡΠ° Π²ΠΎ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΠΎΡ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ AV1;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° msac, cdef ΠΈ looprestoration Π·Π° ARM64;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ AVX2 ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° cdef_filter;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ itxfm ΠΈ cdef_filter Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ C.
ΠΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ΄Π΅ΠΊΠΎΡ 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