เบเบฒเบ™เบ›เปˆเบญเบ rav1e 0.5, เบ•เบปเบงเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” AV1

ะกะพัั‚ะพัะปัั ั€ะตะปะธะท rav1e 0.5.0, ะบะพะดะธั€ะพะฒั‰ะธะบะฐ ั„ะพั€ะผะฐั‚ะฐ ะบะพะดะธั€ะพะฒะฐะฝะธั ะฒะธะดะตะพ AV1. ะŸั€ะพะดัƒะบั‚ ั€ะฐะทะฒะธะฒะฐะตั‚ัั ัะพะพะฑั‰ะตัั‚ะฒะฐะผะธ Mozilla ะธ Xiph ะธ ะพั‚ะปะธั‡ะฐะตั‚ัั ะพั‚ ัั‚ะฐะปะพะฝะฝะพะน ั€ะตะฐะปะธะทะฐั†ะธะธ libaom, ะฝะฐะฟะธัะฐะฝะฝะพะน ะฝะฐ ัะทั‹ะบะฐั… C/C++, ัƒะฒะตะปะธั‡ะตะฝะธะตะผ ัะบะพั€ะพัั‚ะธ ะบะพะดะธั€ะพะฒะฐะฝะธั ะธ ะฟะพะฒั‹ัˆะตะฝะฝั‹ะผ ะฒะฝะธะผะฐะฝะธะตะผ ะบ ะพะฑะตัะฟะตั‡ะตะฝะธัŽ ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ (ัั„ั„ะตะบั‚ะธะฒะฝะพัั‚ัŒ ัะถะฐั‚ะธั ะฟะพะบะฐ ะพั‚ัั‚ะฐั‘ั‚). ะŸั€ะพะดัƒะบั‚ ะฝะฐะฟะธัะฐะฝ ะฝะฐ ัะทั‹ะบะต ะฟั€ะพะณั€ะฐะผะผะธั€ะพะฒะฐะฝะธั Rust ั ะฐััะตะผะฑะปะตั€ะฝั‹ะผะธ ะพะฟั‚ะธะผะธะทะฐั†ะธัะผะธ (72.2% โ€” ะฐััะตะผะฑะปะตั€, 27.5% โ€” Rust), ะบะพะด ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน BSD. ะ“ะพั‚ะพะฒั‹ะต ัะฑะพั€ะบะธ ะฟะพะดะณะพั‚ะพะฒะปะตะฝั‹ ะดะปั Windows ะธ macOS (ัะฑะพั€ะบะธ ะดะปั Linux ะฒั€ะตะผะตะฝะฝะพ ะฟั€ะพะฟัƒั‰ะตะฝั‹ ะธะท-ะทะฐ ะฟั€ะพะฑะปะตะผ ั ัะธัั‚ะตะผะพะน ะฝะตะฟั€ะตั€ั‹ะฒะฝะพะน ะธะฝั‚ะตะณั€ะฐั†ะธะธ).

ะ’ rav1e ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚ัั ะฒัะต ะพัะฝะพะฒะฝั‹ะต ะฒะพะทะผะพะถะฝะพัั‚ะธ AV1, ะฒะบะปัŽั‡ะฐั ะฟะพะดะดะตั€ะถะบัƒ ะฒะฝัƒั‚ั€ะตะฝะฝะต- ะธ ะฒะฝะตัˆะฝะต-ะบะพะดะธั€ะพะฒะฐะฝะฝั‹ั… ะบะฐะดั€ะพะฒ (intra- ะธ inter-ะบะฐะดั€ะพะฒ), ััƒะฟะตั€ะฑะปะพะบะพะฒ 64ร—64, ั†ะฒะตั‚ะพะฒะพะน ััƒะฑะดะธัะบั€ะตั‚ะธะทะฐั†ะธะธ 4:2:0, 4:2:2 ะธ 4:4:4, 8-, 10- ะธ 12-ั€ะฐะทั€ัะดะฝะพะณะพ ะบะพะดะธั€ะพะฒะฐะฝะธั ะณะปัƒะฑะธะฝั‹ ั†ะฒะตั‚ะฐ, RDO (Rate-distortion optimization) ะพะฟั‚ะธะผะธะทะฐั†ะธะธ ะธัะบะฐะถะตะฝะธะน, ั€ะฐะทะปะธั‡ะฝั‹ะต ั€ะตะถะธะผั‹ ะฟั€ะตะดัะบะฐะทะฐะฝะธั ะผะตะถะบะฐะดั€ะพะฒั‹ั… ะธะทะผะตะฝะตะฝะธะน ะธ ะฒั‹ัะฒะปะตะฝะธั ั‚ั€ะฐะฝัั„ะพั€ะผะฐั†ะธะน, ัƒะฟั€ะฐะฒะปะตะฝะธะต ัะบะพั€ะพัั‚ัŒัŽ ะฟะพั‚ะพะบะฐ ะธ ะฒั‹ัะฒะปะตะฝะธะต ัƒัะตั‡ะตะฝะธั ัั†ะตะฝั‹.

ะคะพั€ะผะฐั‚ AV1 ะทะฐะผะตั‚ะฝะพ ะพะฟะตั€ะตะถะฐะตั‚ H.264 ะธ VP9 ะฟะพ ะฒะพะทะผะพะถะฝะพัั‚ัะผ ัะถะฐั‚ะธั, ะฝะพ ะธะท-ะทะฐ ัƒัะปะพะถะฝะตะฝะธั ั€ะตะฐะปะธะทัƒัŽั‰ะธั… ะธั… ะฐะปะณะพั€ะธั‚ะผะพะฒ ั‚ั€ะตะฑัƒะตั‚ ััƒั‰ะตัั‚ะฒะตะฝะฝะพ ะฑะพะปัŒัˆะต ะฒั€ะตะผะตะฝะธ ะดะปั ะบะพะดะธั€ะพะฒะฐะฝะธั (ะฟะพ ัะบะพั€ะพัั‚ะธ ะบะพะดะธั€ะพะฒะฐะฝะธั libaom ะพั‚ัั‚ะฐั‘ั‚ ะพั‚ libvpx-vp9 ะฒ ัะพั‚ะฝะธ ั€ะฐะท, ะฐ ะพั‚ x264 ะฒ ั‚ั‹ััั‡ะธ ั€ะฐะท). ะšะพะดะธั€ะพะฒั‰ะธะบ rav1e ะฟั€ะตะดะพัั‚ะฐะฒะปัะตั‚ 11 ัƒั€ะพะฒะฝะตะน ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ, ะฝะฐะธะฒั‹ััˆะธะต ะธะท ะบะพั‚ะพั€ั‹ั… ะฟะพะทะฒะพะปััŽั‚ ะดะพะฑะธั‚ัŒัั ัะบะพั€ะพัั‚ะธ, ะฑะปะธะทะบะพะน ะบ ะบะพะดะธั€ะพะฒะฐะฝะธัŽ ะฒ ั€ะตะถะธะผะต ั€ะตะฐะปัŒะฝะพะณะพ ะฒั€ะตะผะตะฝะธ. ะšะพะดะธั€ะพะฒั‰ะธะบ ะดะพัั‚ัƒะฟะตะฝ ะบะฐะบ ะฒ ั„ะพั€ะผะต ัƒั‚ะธะปะธั‚ั‹ ะบะพะผะฐะฝะดะฝะพะน ัั‚ั€ะพะบะธ, ั‚ะฐะบ ะธ ะฒ ะฒะธะดะต ะฑะธะฑะปะธะพั‚ะตะบะธ.

ะ’ ะฝะพะฒะพะน ะฒะตั€ัะธะธ ะพั‚ะผะตั‡ะฐัŽั‚ัั ัะปะตะดัƒัŽั‰ะธะต ะธะทะผะตะฝะตะฝะธั:

  • ะ—ะฝะฐั‡ะธั‚ะตะปัŒะฝะพะต ัƒัะบะพั€ะตะฝะธะต ั€ะฐะฑะพั‚ั‹ ะบะพะดะตะบะฐ;
    เบเบฒเบ™เบ›เปˆเบญเบ rav1e 0.5, เบ•เบปเบงเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” AV1
  • ะ˜ัะฟั€ะฐะฒะปะตะฝะธะต ะพัˆะธะฑะบะธ, ะฟั€ะธะฒะพะดะธะฒัˆะตะน ะบ ะบั€ะฐั…ัƒ ะบะพะดะธั€ะพะฒั‰ะธะบะฐ ะฟั€ะธ ะพะฟั€ะตะดะตะปั‘ะฝะฝั‹ั… ั€ะฐะทะผะตั€ะฐั… ะฒะธะดะตะพ;
  • ะ˜ัะฟะพะปัŒะทะพะฒะฐะฝะธะต ะธะฝัั‚ั€ัƒะบั†ะธะน AVX2 ะดะปั ะทะฝะฐั‡ะธั‚ะตะปัŒะฝะพะณะพ (ะดะพ 13 ั€ะฐะท) ัƒัะบะพั€ะตะฝะธั ะฒะธะฝะตั€ะพะฒัะบะพะณะพ ะพั†ะตะฝะธะฒะฐะฝะธั ะดะปั 16 ะฑะธั‚ ะฝะฐ ะบะฐะฝะฐะป. ะะฝะฐะปะพะณะธั‡ะฝะพ ะดะพะฑะฐะฒะปะตะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต SIMD-ะธะฝัั‚ั€ัƒะบั†ะธะน, ะฟะพะทะฒะพะปะธะฒัˆะตะต ัƒัะบะพั€ะธั‚ัŒ ะฒั‹ั‡ะธัะปะตะฝะธั ะดะพ 7 ั€ะฐะท ะฒ ะฐะฝะฐะปะพะณะธั‡ะฝั‹ั… ัƒัะปะพะฒะธัั…;
  • ะœะฐััะฐ ะผะตะปะบะธั… ะธัะฟั€ะฐะฒะปะตะฝะธะต ะธ ะพะฟั‚ะธะผะธะทะฐั†ะธะน ะดะปั ะฟะปะฐั‚ั„ะพั€ะผ x86, arm32 ะธ arm64.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

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