Die vrystelling van die SVT-AV1 2.0 (Scalable Video Technology AV1) biblioteek is gepubliseer met implementering van die enkodeerder en dekodeerder van die AV1 video enkodering formaat, vir versnelling waarvan die middele van hardeware parallelle rekenaars wat in moderne Intel SVE's teenwoordig is, gebruik word. Die projek is geskep deur Intel in vennootskap met Netflix met die doel om 'n vlak van werkverrigting te bereik wat geskik is vir on-the-fly video transkodering en gebruik in video-op-aanvraag (VOD) dienste. Tans word ontwikkeling uitgevoer onder die vaandel van die Open Media Alliance (AOMedia), wat toesig hou oor die ontwikkeling van die AV1-video-enkoderingsformaat. Voorheen is die projek ontwikkel binne die raamwerk van die OpenVisualCloud-projek, wat ook die SVT-HEVC- en SVT-VP9-enkodeerders ontwikkel. Die kode word onder die BSD-lisensie versprei.
SVT-AV1 kan saamgestel word vir stelsels gebaseer op enige argitektuur waarvoor daar 'n samesteller is wat die C99-standaard ondersteun, maar die beste werkverrigting word behaal op x86_64-stelsels, waarvoor samestellingsoptimalisasies gebaseer op SIMD-instruksies gebruik word (dit is wenslik om te hê AVX2 ondersteuning in die SVE, maar as die minimum is voldoende en SS2). Geheueverbruik hang af van die aantal verwerkerkerne wat tydens enkodering gebruik word, gereguleer deur die "-lp" opsie. As gevolg van die kompleksiteit van die algoritmes wat in AV1 gebruik word, vereis enkodering van hierdie formaat aansienlik meer hulpbronne as ander formate, wat nie die gebruik van die standaard AV1-enkodeerder vir intydse transkodering toelaat nie. Byvoorbeeld, die voorraadenkodeerder van die AV1-projek vereis 5721, 5869 en 658 keer meer berekeninge in vergelyking met die x264 ("hoof" profiel), x264 ("hoë" profiel) en libvpx-vp9 enkodeerders.
Onder die veranderinge in die nuwe weergawe van SVT-AV1:
- 'n Oorgang is gemaak na 'n nuwe weergawenommering, waarvolgens die eerste syfer in die weergawe sal verander met elke API/ABI verandering.
- Veranderinge is aan die API gemaak wat verband hou met die oorgang na die einde van stroom-aanduiding (EOS - End Of Stream) in die laaste raam in plaas van om 'n leë raam te gebruik, wat die vertraging in die wag vir 'n ekstra raam uitgeskakel het. Die API-verandering word reeds in die FFmpeg-kodebasis weerspieël.
- Die drie-pass veranderlike bitrate-modus (3-pass VBR) is verwyder, en word nou vervang deur 'n multi-pass VBR meganisme. VBR multi-pass mode is verminder tot twee passe om integrasie met FFmpeg te verseker.
- Optimalisasies is by die enkodeerder gevoeg, waardeur die kompressiedoeltreffendheid van die M9-M13-voorinstellings met 1-4% toegeneem het, en die geheueverbruik van die M5-voorinstelling met 20-35% afgeneem het in LP 8-modus en met 1-5% in ander modusse. Geheueverbruik in ander voorafinstellings het met 1-5% afgeneem.
- Kwaliteit/spoed kompromieë is geoptimaliseer vir voorafinstellings wat 'n hoë vlak van kwaliteit stel. Die verwysingskwaliteit MR-voorafinstelling is met 100% versnel.
- ARM-spesifieke optimaliserings is by C-slegs funksies gevoeg.
Daarbenewens kan ons kennis neem van die vrystelling van die dav1d 1.4.1-projek, waarbinne die VideoLAN- en FFmpeg-gemeenskappe 'n biblioteek ontwikkel met die implementering van 'n alternatiewe gratis dekodeerder vir die AV1-video-enkoderingsformaat. Die dav1d-biblioteek ondersteun al die kenmerke van AV1, insluitend gevorderde tipes substeekproefneming en alle kleurdieptebeheerparameters wat in die spesifikasie vermeld word (8, 10 en 12 bisse). Die sleutelkenmerk van dav1d is die fokus daarvan op die bereiking van die hoogste moontlike dekoderingswerkverrigting en om werk van hoë gehalte in multi-draadmodus te verseker. Die projekkode is geskryf in C (C99) met samestelling-insetsels (NASM/GAS) en word onder die BSD-lisensie versprei. Ondersteuning vir x86, x86_64, ARMv7 en ARMv8 argitekture, en bedryfstelsels FreeBSD, Linux, Windows, macOS, Android en iOS is geïmplementeer.
Weergawe dav1d 1.4 is opvallend vir die ondersteuning van die nuwe Loongarch- en RISC-V-argitekture, sowel as die bekendstelling van bykomende optimalisering gebaseer op AVX-512-instruksies, die versnelling van die werking van 6tap-filters op ARM-stelsels, die verhoging van die doeltreffendheid van multi-threaded werk en die vermindering van die grootte van binêre data op ARM64, ARM32 en RISC-stelsels V. Vaste kwesbaarheid CVE-2024-1580, wat 'n buite-grens skryf veroorsaak het as gevolg van 'n heelgetal oorloop tydens die verwerking van baie groot raamgroottes.
Bron: opennet.ru
