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
