เบ›เปˆเบญเบ dav1d 0.7, เบ•เบปเบงเบ–เบญเบ”เบฅเบฐเบซเบฑเบ” AV1 เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ VideoLAN เปเบฅเบฐ FFmpeg

เบŠเบธเบกเบŠเบปเบ™ 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 bits). เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบšเปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบ™เบฎเบนเบšเปเบšเบš AV1. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡ dav1d เปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบšเบฑเบ™เบฅเบธเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบชเบนเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบซเบผเบฒเบ threaded.

ะ’ เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ:

  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” refmv (Dynamic Reference Motion Vector Prediction) เปเบกเปˆเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ›เบฐเบกเบฒเบ™ 12% เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ›เบฐเบกเบฒเบ™ 25%;
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ ARM64 เปเบกเปˆเบ™เป€เบเบทเบญเบšเบชเบปเบกเบšเบนเบ™, เบเบงเบกเป€เบญเบปเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบซเบผเบฒเบเป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ„เบงเบฒเบกเป€เบฅเบดเบเบ‚เบญเบ‡เบชเบตเบ‚เบญเบ‡ 8, 10 เปเบฅเบฐ 12 bits;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ CDEF เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ AVX-512;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบซเบกเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ AVX2 เปเบฅเบฐ SSSE3;
  • เบ›เบฐเป‚เบซเบเบ” dav1dpla เป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ„เบงเบฒเบกเป€เบฅเบดเบเบ‚เบญเบ‡เบชเบต 10-bit, เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ 4:2:0 pixels เปเบฅเบฐเบเบฒเบ™เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เบชเบดเปˆเบ‡เบฅเบปเบšเบเบงเบ™เบ”เบดเบˆเบดเบ•เบญเบ™เปƒเบ™ GPU.

เบˆเบทเปˆเป„เบ”เป‰เบงเปˆเบฒเบ•เบปเบงเปเบ›เบ‡เบชเบฑเบ™เบเบฒเบ™เบงเบดเบ”เบตเป‚เบญ AV1 เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบžเบฑเบ™เบ—เบฐเบกเบดเบ” เป€เบ›เบตเบ”เบชเบทเปˆ (AOMedia), เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบšเปเบฅเบดเบชเบฑเบ”เบ•เปˆเบฒเบ‡เป†เป€เบŠเบฑเปˆเบ™ Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, Apple, CCN เปเบฅเบฐ Realtek. AV1 เปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบงเบดเบ”เบตเป‚เบญเปเบšเบšเบšเปเปˆเบกเบตเบ„เปˆเบฒเบžเบฒเบเบซเบผเบงเบ‡, เบ—เบตเปˆเบกเบตเปƒเบซเป‰เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบปเปˆเบงเป„เบ›, เป€เบŠเบดเปˆเบ‡เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบเปˆเบญเบ™เปœเป‰เบฒเบ‚เบญเบ‡ H.264 เปเบฅเบฐ VP9 เปƒเบ™เบ”เป‰เบฒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”. เปƒเบ™เบ—เบปเปˆเบงเบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบฐเบญเบฝเบ”เบ—เบตเปˆเบ—เบปเบ”เบชเบญเบš, เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบ AV1 เบชเบฐเบซเบ™เบญเบ‡เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ”เบฝเบงเบเบฑเบ™เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบซเบผเบธเบ”เบฅเบปเบ‡ bitrates 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™