Itusilẹ ti SVT-AV1 2.0 encoder ati dav1d 1.4 decoder fun ọna kika fidio AV1

Itusilẹ ti ile-ikawe SVT-AV1 2.0 (Scalable Video Technology AV1) ti ṣe atẹjade pẹlu awọn imuṣẹ ti kooduopo ati oluyipada ti ọna kika koodu fidio AV1, fun isare eyiti eyiti awọn ọna ṣiṣe iṣiro iru ohun elo ti o wa ni awọn CPUs Intel ode oni ti lo. Ise agbese na ni a ṣẹda nipasẹ Intel ni ajọṣepọ pẹlu Netflix pẹlu ibi-afẹde ti iyọrisi ipele iṣẹ ṣiṣe ti o dara fun transcoding fidio lori-fly ati lilo ninu awọn iṣẹ fidio-lori-eletan (VOD). Lọwọlọwọ, idagbasoke ti wa ni ṣiṣe labẹ abojuto Open Media Alliance (AOMedia), eyiti o nṣe abojuto idagbasoke ti ọna kika fifi koodu fidio AV1. Ni iṣaaju, ise agbese na ni idagbasoke laarin awọn ilana ti OpenVisualCloud ise agbese, ti o tun ndagba SVT-HEVC ati SVT-VP9 encoders. Awọn koodu ti wa ni pin labẹ awọn BSD iwe-ašẹ.

SVT-AV1 le ṣe apejọ fun awọn ọna ṣiṣe ti o da lori eyikeyi faaji fun eyiti o jẹ alakojọ ti o ṣe atilẹyin boṣewa C99, ṣugbọn iṣẹ ṣiṣe ti o dara julọ ni aṣeyọri lori awọn ọna ṣiṣe x86_64, eyiti awọn iṣapeye apejọ ti o da lori awọn ilana SIMD ti lo (o jẹ iwunilori lati ni. Atilẹyin AVX2 ni Sipiyu, ṣugbọn bi o kere julọ ti to ati SS2). Lilo iranti da lori nọmba awọn ohun kohun ero isise ti a lo lakoko fifi koodu, ti ofin nipasẹ aṣayan “-lp”. Nitori idiju ti awọn algoridimu ti a lo ninu AV1, fifi koodu si ọna kika yii nilo awọn orisun pupọ diẹ sii ju awọn ọna kika miiran, eyiti ko gba laaye lilo koodu koodu AV1 boṣewa fun transcoding gidi-akoko. Fun apẹẹrẹ, koodu ifipamọ ọja lati iṣẹ akanṣe AV1 nilo awọn iṣiro 5721, 5869 ati 658 diẹ sii ni akawe si x264 (profaili “akọkọ”), x264 (profaili “giga”) ati awọn koodu koodu libvpx-vp9.

Lara awọn ayipada ninu itusilẹ tuntun ti SVT-AV1:

  • A ti ṣe iyipada si nọmba ẹya tuntun, ni ibamu si eyiti nọmba akọkọ ninu ẹya naa yoo yipada pẹlu iyipada API/ABI kọọkan.
  • Awọn ayipada ti ṣe si API ti o ni ibatan si iyipada si opin itọkasi ṣiṣan (EOS - Ipari ṣiṣan) ni fireemu ti o kẹhin dipo lilo fireemu ti o ṣofo, eyiti o yọkuro idaduro ni idaduro fun fireemu afikun. Iyipada API ti farahan tẹlẹ ninu koodu koodu FFmpeg.
  • Ipo oniyipada oniyipada oniyipada mẹta (3-pass VBR) ti yọkuro, ati pe o ti rọpo nipasẹ ẹrọ VBR olona-kọja. Ipo olona-kọja VBR ti dinku si awọn ọna meji lati rii daju iṣọpọ pẹlu FFmpeg.
  • A ti ṣafikun awọn iṣapeye si koodu koodu, nitori eyiti ṣiṣe funmorawon ti awọn tito tẹlẹ M9-M13 ti pọ si nipasẹ 1-4%, ati agbara iranti ti tito tẹlẹ M5 ti dinku nipasẹ 20-35% ni ipo LP 8 ati nipasẹ 1-5% ni awọn ipo miiran. Lilo iranti ni awọn tito tẹlẹ miiran dinku nipasẹ 1-5%.
  • Imudara didara / awọn adehun iyara ni a ti ṣe fun awọn tito tẹlẹ ti o ṣeto ipele giga ti didara. Didara itọkasi MR tito tẹlẹ ti ni isare nipasẹ 100%.
  • Awọn iṣapeye-kan pato ARM ti ṣafikun si awọn iṣẹ-C-nikan.

Ni afikun, a le ṣe akiyesi itusilẹ ti iṣẹ akanṣe dav1d 1.4.1, laarin eyiti awọn agbegbe VideoLAN ati FFmpeg n ṣe agbekalẹ ile-ikawe kan pẹlu imuse ti oluyipada ọfẹ yiyan fun ọna kika fifi koodu fidio AV1. Ile-ikawe dav1d ṣe atilẹyin gbogbo awọn ẹya ti AV1, pẹlu awọn oriṣi ilọsiwaju ti iṣagbepọ ati gbogbo awọn aye iṣakoso ijinle awọ ti a sọ ni sipesifikesonu (8, 10 ati 12 bits). Ẹya bọtini ti dav1d ni idojukọ rẹ lori iyọrisi iṣẹ ṣiṣe iyipada ti o ga julọ ti o ṣeeṣe ati idaniloju iṣẹ didara ga ni ipo asapo pupọ. Koodu ise agbese ti kọ ni C (C99) pẹlu awọn ifibọ apejọ (NASM/GAS) ati pe o pin kaakiri labẹ iwe-aṣẹ BSD. Atilẹyin fun x86, x86_64, ARMv7 ati ARMv8 faaji, ati awọn ọna ṣiṣe FreeBSD, Linux, Windows, macOS, Android ati iOS ti ni imuse.

Ẹya dav1d 1.4 jẹ ohun akiyesi fun atilẹyin Loongarch tuntun ati awọn ile ayaworan RISC-V, bakanna bi iṣafihan awọn iṣapeye afikun ti o da lori awọn ilana AVX-512, isare iṣẹ ti awọn asẹ 6tap lori awọn eto ARM, jijẹ ṣiṣe ti iṣẹ asapo pupọ ati idinku iwọn data alakomeji lori ARM64, ARM32 ati awọn eto RISC V. Ailagbara ti o wa titi CVE-2024-1580, eyiti o fa kikọ-jade-ti-aala nitori odidi odidi kan nigba ṣiṣe awọn iwọn fireemu nla pupọ.

orisun: opennet.ru

Fi ọrọìwòye kun