SVT-AV1 2.0 kodētāja un dav1d 1.4 dekodētāja izlaiÅ”ana AV1 video formātam

Publicēts SVT-AV1 2.0 (Scalable Video Technology AV1) bibliotēkas izlaidums ar AV1 video kodēŔanas formāta kodētāja un dekodētāja implementācijām, kuru paātrināŔanai tiek izmantoti mÅ«sdienu Intel CPU esoÅ”ie aparatÅ«ras paralēlās skaitļoÅ”anas lÄ«dzekļi. Projektu Intel izveidoja sadarbÄ«bā ar Netflix ar mērÄ·i sasniegt tādu veiktspējas lÄ«meni, kas ir piemērots video pārkodēŔanai lidojumā un izmantoÅ”anai video pēc pieprasÄ«juma (VOD) pakalpojumos. PaÅ”laik izstrāde tiek veikta Open Media Alliance (AOMedia) paspārnē, kas pārrauga AV1 video kodēŔanas formāta izstrādi. IepriekÅ” projekts tika izstrādāts OpenVisualCloud projekta ietvaros, kurā tiek izstrādāti arÄ« SVT-HEVC un SVT-VP9 kodētāji. Kods tiek izplatÄ«ts saskaņā ar BSD licenci.

SVT-AV1 var montēt sistēmām, kuru pamatā ir jebkura arhitektÅ«ra, kurai ir kompilators, kas atbalsta C99 standartu, bet vislabākā veiktspēja tiek sasniegta x86_64 sistēmās, kurām tiek izmantotas montāžas optimizācijas, pamatojoties uz SIMD instrukcijām (vēlams, lai bÅ«tu AVX2 atbalsts CPU, bet kā minimums ir pietiekams un SS2). Atmiņas patēriņŔ ir atkarÄ«gs no kodēŔanas laikā izmantoto procesora kodolu skaita, ko regulē opcija ā€œ-lpā€. AV1 izmantoto algoritmu sarežģītÄ«bas dēļ Ŕī formāta kodēŔana prasa ievērojami vairāk resursu nekā citiem formātiem, kas neļauj izmantot standarta AV1 kodētāju reāllaika pārkodēŔanai. Piemēram, krājuma kodētājam no AV1 projekta ir nepiecieÅ”ams 5721, 5869 un 658 reizes vairāk aprēķinu, salÄ«dzinot ar x264 ("galvenais" profils), x264 ("augsts" profils) un libvpx-vp9 kodētājiem.

Starp izmaiņām jaunajā SVT-AV1 laidienā:

  • Ir veikta pāreja uz jaunu versiju numerāciju, saskaņā ar kuru versijā ar katru API/ABI maiņu mainÄ«sies pirmais cipars.
  • API ir veiktas izmaiņas, kas saistÄ«tas ar pāreju uz straumes beigu indikāciju (EOS ā€” End Of Stream) pēdējā kadrā, nevis izmantojot tukÅ”u kadru, kas novērsa kavēŔanos, gaidot papildu kadru. API izmaiņas jau ir atspoguļotas FFmpeg kodu bāzē.
  • TrÄ«s pakāpju mainÄ«gā bitu pārraides ātruma režīms (3 pass VBR) ir noņemts, un tagad tas ir aizstāts ar vairāku pāreju VBR mehānismu. VBR vairākkārtēju režīms ir samazināts lÄ«dz divām pieejām, lai nodroÅ”inātu integrāciju ar FFmpeg.
  • Kodētājam ir pievienotas optimizācijas, kā rezultātā M9-M13 sākotnējo iestatÄ«jumu saspieÅ”anas efektivitāte ir palielinājusies par 1-4%, un M5 preset atmiņas patēriņŔ ir samazinājies par 20-35% LP 8 režīmā un par 1-5% citos režīmos. Atmiņas patēriņŔ citos priekÅ”iestatÄ«jumos samazinājās par 1-5%.
  • Kvalitātes/ātruma kompromisu optimizācija ir veikta priekÅ”iestatÄ«jumiem, kas nosaka augstu kvalitātes lÄ«meni. Atsauces kvalitātes MR iepriekÅ” iestatÄ«tā vērtÄ«ba ir paātrināta par 100%.
  • ARM specifiskas optimizācijas ir pievienotas tikai C funkcijām.

Turklāt mēs varam atzÄ«mēt dav1d 1.4.1 projekta izlaiÅ”anu, kura ietvaros VideoLAN un FFmpeg kopienas izstrādā bibliotēku, ievieÅ”ot alternatÄ«vu bezmaksas dekodētāju AV1 video kodēŔanas formātam. dav1d bibliotēka atbalsta visas AV1 funkcijas, tostarp uzlabotos apakÅ”iztverÅ”anas veidus un visus krāsu dziļuma kontroles parametrus, kas norādÄ«ti specifikācijā (8, 10 un 12 biti). dav1d galvenā iezÄ«me ir tā koncentrēŔanās uz augstākās iespējamās dekodēŔanas veiktspējas sasniegÅ”anu un augstas kvalitātes darba nodroÅ”ināŔanu daudzpavedienu režīmā. Projekta kods ir rakstÄ«ts C (C99) valodā ar montāžas ieliktņiem (NASM/GAS) un tiek izplatÄ«ts saskaņā ar BSD licenci. Ir ieviests atbalsts x86, x86_64, ARMv7 un ARMv8 arhitektÅ«rām un operētājsistēmām FreeBSD, Linux, Windows, macOS, Android un iOS.

Versija dav1d 1.4 ir ievērojama ar to, ka atbalsta jaunās Loongarch un RISC-V arhitektÅ«ras, kā arÄ« ievieÅ” papildu optimizācijas, kuru pamatā ir AVX-512 instrukcijas, paātrina 6tap filtru darbÄ«bu ARM sistēmās, palielina vairāku pavedienu darba efektivitāti un samazina bināro datu lielums ARM64, ARM32 un RISC sistēmās V. Novērsta ievainojamÄ«ba CVE-2024-1580, kas izraisÄ«ja ierakstīŔanu ārpus robežām vesela skaitļa pārpildes dēļ, apstrādājot ļoti lielus kadru izmērus.

Avots: opennet.ru

Pievieno komentāru