ื“ืจื™ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ dav1d, ืึทืŸ AV1 ื“ื™ืงืึธื•ื“ืขืจ ืคึฟื•ืŸ ื“ื™ VideoLAN ืื•ืŸ FFmpeg ืคึผืจืึทื“ื–ืฉืขืงืก

VideoLAN ืื•ืŸ FFmpeg ืงื”ื™ืœื•ืช ืืจื•ื™ืก ื“ืจื™ื˜ ืžืขืœื“ื•ื ื’ (0.3) ืคื•ืŸ ื“ื™ dav1d ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืžื™ื˜ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึทืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืคืจื™ื™ ื•ื•ื™ื“ืขื ืงืึธื“ื™ืจื•ื ื’ ืคึฟืึธืจืžืึทื˜ ื“ืขืงืึธื“ืขืจ ืึทื•ื•ืงืกื ื•ืžืงืก. ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ืฉืคึผืจืึทืš (C99) ืžื™ื˜ ืึทืกืขืžื‘ืึทืœ ื™ื ืกืขืจืฅ (NASM / GAS) ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš ืื•ื ื˜ืขืจ BSD ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ. ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืก86, ืงืก86_64, ARMv7 ืื•ืŸ ARMv8 ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื–, ืื•ืŸ ืœื™ื ื•ืงืก, ื•ื•ื™ื ื“ืึธื•ื–, ืžืึทืงืึธืก, ืึทื ื“ืจื•ื™ื“ ืื•ืŸ ื™ืึธืก ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“.

ื“ื™ ื“ืึทื•ื•1ื“ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืฉื˜ื™ืฆื˜ ืึทืœืข AV1 ืคึฟืขื™ึดืงื™ื™ื˜ืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืงื•ืงืŸ ืกื•ื‘ืกืึทืžืคึผืœื™ื ื’ ืื•ืŸ ืึทืœืข ืงืึธืœื™ืจ ื˜ื™ืคืงื™ื™ึทื˜ ืงืึธื ื˜ืจืึธืœ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืกื˜ื™ื™ื˜ื™ื“ ืื™ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ (8, 10 ืื•ืŸ 12 ื‘ื™ื˜ืŸ). ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื˜ืขืกื˜ืขื“ ืื•ื™ืฃ ืึท ื’ืจื•ื™ืก ื–ืึทืžืœื•ื ื’ ืคื•ืŸ ื˜ืขืงืขืก ืื™ืŸ AV1 ืคึฟืึธืจืžืึทื˜. ื“ืขืจ ืฉืœื™ืกืœ ืฉื˜ืจื™ืš ืคื•ืŸ dav1d ืื™ื– ื–ื™ื™ืŸ ืคืึธืงื•ืก ืื•ื™ืฃ ื“ืขืจื’ืจื™ื™ื›ืŸ ื“ื™ ื”ืขื›ืกื˜ืŸ ืžืขื’ืœืขืš ื“ื™ืงืึธื•ื“ื™ื ื’ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ืŸ ื™ื ืฉื•ืจื™ื ื’ ื”ื•ื™ืš-ืงื•ื•ืึทืœื™ื˜ืขื˜ ืึทืจื‘ืขื˜ ืื™ืŸ ืžื•ืœื˜ื™-ื˜ืจืขื“ื™ื“ ืžืึธื“ืข.

ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืžื•ืกื™ืฃ ื ืึธืš ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทื ื– ืฆื• ืคืึทืจื’ื™ื›ืขืจืŸ ื•ื•ื™ื“ืขื ื“ื™ืงืึธื•ื“ื™ื ื’ ื ื™ืฆืŸ SSSE3, SSE4.1 ืื•ืŸ AVX2 ื™ื ืกื˜ืจืึทืงืฉืึทื ื–. ื“ื™ ื“ื™ืงืึธื•ื“ื™ื ื’ ื’ื™ื›ืงื™ื™ึทื˜ ืื•ื™ืฃ ืคึผืจืึทืกืขืกืขืจื– ืžื™ื˜ SSSE3 ื’ืขื•ื•ืืงืกืŸ ืžื™ื˜ 24%, ืื•ืŸ ืื•ื™ืฃ ืกื™ืกื˜ืขืžืขืŸ ืžื™ื˜ AVX2 ืžื™ื˜ 4%. ืฆื•ื’ืขืœื™ื™ื’ื˜ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืงืึธื“ ืคึฟืึทืจ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ื ื™ืฆืŸ SSE4.1 ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื•ื•ืึธืก ื’ืขื•ื•ืืงืกืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืžื™ื˜ 26% ืงืึทืžืคึผืขืจื“ ืฆื• ื“ื™ ื ื™ื˜-ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื•ื•ืขืจืกื™ืข (ืงืึทืžืคึผืขืจื“ ืฆื• ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทื ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ SSSE3 ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ื“ื™ ื’ืขื•ื•ื™ื ืขืŸ ืื™ื– 1.5%).

ื“ืจื™ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ dav1d, ืึทืŸ AV1 ื“ื™ืงืึธื•ื“ืขืจ ืคึฟื•ืŸ ื“ื™ VideoLAN ืื•ืŸ FFmpeg ืคึผืจืึทื“ื–ืฉืขืงืก

ื“ื™ ื“ื™ืงืึธื•ื“ืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ื™ืฃ ืจื™ืจืขื•ื•ื“ื™ืง ื“ืขื•ื•ื™ืกืขืก ืžื™ื˜ ืคึผืจืึทืกืขืกืขืจื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ARM64 ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื™ื– ืื•ื™ืš ื’ืขื•ื•ืืงืกืŸ. ื“ื•ืจืš ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื ื™ืฆืŸ NEON ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก, ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืžื™ื˜ ื‘ืขืขืจืขืš 12% ืงืึทืžืคึผืขืจื“ ืฆื• ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืžืขืœื“ื•ื ื’.

ื“ืจื™ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ dav1d, ืึทืŸ AV1 ื“ื™ืงืึธื•ื“ืขืจ ืคึฟื•ืŸ ื“ื™ VideoLAN ืื•ืŸ FFmpeg ืคึผืจืึทื“ื–ืฉืขืงืก

ืงืึทืžืคึผืขืจื“ ืฆื• ื“ื™ ืจืขืคึฟืขืจืขื ืฅ ื“ื™ืงืึธื•ื“ืขืจ ืึทืึธืžื“ืขืง (ืœื™ื‘ืึทืึธื), ื“ื™ ืžื™ื™ึทืœืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื•ื•1ื“ ืื™ื– ืžืขืจืกื˜ ืฉื˜ืืจืง ืคึผืขืœืฅ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืื™ืŸ ืžืึทืœื˜ื™-ื˜ืจืขื“ื™ื“ ืžืึธื“ืข (ืื™ืŸ ืขื˜ืœืขื›ืข ื˜ืขืกืฅ ื“ืึทื•ื•1ื“ ืื™ื– 2-4 ืžืืœ ืคืึทืกื˜ืขืจ). ืื™ืŸ ืื™ื™ืŸ-ื˜ืจืขื“ืขื“ ืžืึธื“ืข, ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ื™ืคืขืจื– ืžื™ื˜ 10-20%.

ื“ืจื™ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ dav1d, ืึทืŸ AV1 ื“ื™ืงืึธื•ื“ืขืจ ืคึฟื•ืŸ ื“ื™ VideoLAN ืื•ืŸ FFmpeg ืคึผืจืึทื“ื–ืฉืขืงืก

ื“ืจื™ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ dav1d, ืึทืŸ AV1 ื“ื™ืงืึธื•ื“ืขืจ ืคึฟื•ืŸ ื“ื™ VideoLAN ืื•ืŸ FFmpeg ืคึผืจืึทื“ื–ืฉืขืงืก

ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื”ืฆืœื—ื” ืื™ืŸ ื ื™ืฆืŸ dav1d ืื™ืŸ ืื ื“ืขืจืข ืคึผืจืึทื“ื–ืฉืขืงืก. ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืื™ื– dav1d ืื™ืฆื˜ ื’ืขื•ื•ืขื ื“ื˜ ืื™ืŸ Chromium / Chrome 74 ืื•ืŸ Firefox 67 (ืคืจื™ืขืจ ื“ืึทื•ื•1ื“ ืื™ื– ื’ืขื•ื•ืขืŸ ืกื•ื•ื™ื˜ืฉื˜ ืื•ื™ืฃ ืคึฟืึทืจ Windows, ืึธื‘ืขืจ ืื™ืฆื˜ ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“ ืคึฟืึทืจ ืœื™ื ื•ืงืก ืื•ืŸ ืžืึทืงืึธืก). ืคืืจื‘ืœื™ื‘ืŸ ื ื•ืฆืŸ ืคื•ืŸ dav1d ืื™ืŸ FFmpeg ืื•ืŸ VLC, ืคึผืœืึทื ื ืขื“ ื™ื‘ืขืจื’ืึทื ื’ ืฆื• dav1d ื˜ืจืึทื ืกืงืึธื“ืขืจ Handbrake.

ืฆื•ืจื™ืงืจื•ืคืŸ ืึทื– ื“ื™ ื•ื•ื™ื“ืขื ืงืึธื“ืขืง ืึทื•ื•ืงืกื ื•ืžืงืก ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื‘ื•ื ื“ ืขืคึฟืŸ ืžืขื“ื™ืข (AOMedia), ื•ื•ืึธืก ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืงืึธืžืคึผืึทื ื™ืขืก ืึทื–ืึท ื•ื•ื™ ืžืึธื–ื™ืœืœืึท, Google, ืžื™ื™ืงืจืึธืกืึธืคึฟื˜, ื™ื ื˜ืขืœ, 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. ืื™ืŸ ืคืึทืกืขื‘ืึธืึธืง ื˜ืขืกืฅ, AV1 ืึทื•ื˜ืคึผืขืจืคืึธืจืžื“ ื“ื™ ื”ื•ื™ืคึผื˜ ืคึผืจืึธืคื™ืœ H.264 (x264) ืžื™ื˜ 50.3% ืื™ืŸ ื˜ืขืจืžื™ื ืขืŸ ืคื•ืŸ ืงืึทืžืคึผืจืขืฉืึทืŸ ืžื“ืจื’ื”, ื”ื•ื™ืš ืคึผืจืึธืคื™ืœ H.264 ื“ื•ืจืš 46.2%, ืื•ืŸ VP9 (libvpx-vp9) ืžื™ื˜ 34.0%.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’