ĂshtĂ« publikuar versioni 2.0 i bibliotekĂ«s SVT-AV1 (Scalable Video Technology AV1) me implementime tĂ« koduesit dhe dekoduesit pĂ«r formatin e kodimit tĂ« videos AV1, pĂ«r shpejtimin e tĂ« cilit janĂ« angazhuar mjetet e disponueshme tĂ« paralelizimit tĂ« harduerit nĂ« CPU-tĂ« moderne Intel. Projekti Ă«shtĂ« krijuar nga kompania Intel nĂ« partneritet me Netflix me qĂ«llim qĂ« tĂ« arrijĂ« njĂ« nivel performance tĂ« pĂ«rshtatshĂ«m pĂ«r kodimin e videos nĂ« kohĂ« reale dhe pĂ«r aplikim nĂ« shĂ«rbimet qĂ« ofrojnĂ« video sipas kĂ«rkesĂ«s (VOD). Aktualisht, zhvillimi po bĂ«het nĂ«n udhĂ«heqjen e aleancĂ«s Open Media (AOMedia), e cila mbikĂ«qyr zhvillimin e formatit tĂ« kodimit tĂ« videos AV1. MĂ« parĂ«, projekti Ă«shtĂ« zhvilluar nĂ« kuadĂ«r tĂ« projektit OpenVisualCloud, i cili gjithashtu zhvillon koduesit SVT-HEVC dhe SVT-VP9. Kodi shpĂ«rndahet nĂ«n licencĂ«n BSD.
SVT-AV1 mund tĂ« ndĂ«rtohet pĂ«r sisteme tĂ« bazuara nĂ« çdo arkitekturĂ« pĂ«r tĂ« cilat ekziston njĂ« kompiler qĂ« mbĂ«shtet standardin C99, por performanca mĂ« e mirĂ« arrihet nĂ« sistemet x86_64, pĂ«r tĂ« cilat pĂ«rdoren optimizime assemblore duke u bazuar nĂ« instruktionet SIMD (preferohet qĂ« CPU tĂ« mbĂ«shtesĂ« AVX2, por si minimum Ă«shtĂ« e mjaftueshme edhe SS2). Konsumi i kujtesĂ«s varet nga numri i bĂ«rthamave tĂ« procesorit tĂ« angazhuara gjatĂ« kodimit, tĂ« rregulluara nga opsioni "âlp". PĂ«r shkak tĂ« kompleksitetit tĂ« algoritmeve tĂ« pĂ«rdorura nĂ« AV1, kodimi i kĂ«tij formati kĂ«rkon ndjeshĂ«m mĂ« shumĂ« burime se formatet e tjera, gjĂ« qĂ« nuk lejon pĂ«rdorimin e koduesit standard AV1 pĂ«r rikodimin nĂ« kohĂ« reale. PĂ«r shembull, koduesi standard nga projekti AV1 kĂ«rkon 5721, 5869 dhe 658 herĂ« mĂ« shumĂ« llogaritje nĂ« krahasim me koduesit x264 (profilin "main"), x264 (profilin "high") dhe libvpx-vp9.
Ndër shëmbujt e ndryshimeve në versionin e ri të SVT-AV1:
- ĂshtĂ« realizuar kalimi nĂ« njĂ« sistem tĂ« ri numĂ«rimi tĂ« versioneve, sipas tĂ« cilit numri i parĂ« nĂ« version do tĂ« ndryshojĂ« me çdo ndryshim tĂ« API/ABI.
- JanĂ« bĂ«rĂ« ndryshime nĂ« API, tĂ« lidhura me kalimin nĂ« indikimin e pĂ«rfundimit tĂ« rrjedhĂ«s (EOS â End Of Stream) nĂ« kuadrin e fundit nĂ« vend tĂ« pĂ«rdorimit tĂ« njĂ« kuadri tĂ« zbrazĂ«t, e cila ka lejuar eliminimin e vonesĂ«s pĂ«r pritjen e njĂ« kuadri tĂ« tepĂ«rt. Ndryshimi i API tashmĂ« Ă«shtĂ« reflektuar nĂ« bazĂ«n e kodit FFmpeg.
- ReĆŸimi me tre kalime tĂ« normĂ«s sĂ« ndryshueshme tĂ« bitĂ«ve (3-pass VBR) Ă«shtĂ« hequr, nĂ« vend tĂ« tij tani pĂ«rdoret mekanizmi i VBR me shumĂ« kalime. ReĆŸimi i VBR me shumĂ« kalime Ă«shtĂ« reduktuar nĂ« kryerjen e dy kalimeve pĂ«r tĂ« siguruar integrimin me FFmpeg.
- Shtesat në kode kanë sjellë optimizime, duke rritur efikasitetin e kompresionit të preset-eve M9-M13 me 1-4%, ndërsa konsumimi i memories në preset-in M5 u ul me 20-35% në modalitetin LP 8 dhe me 1-5% në modalitete të tjera. Konsumi i memories në preset-et e tjera u ul me 1-5%.
- U optimizua kompromisi cilësi/shpejtësi për preset-et që ofrojnë një nivel të lartë cilësie. Funksionimi i preset-it MR, që siguron cilësi referenciale, u përshpejtua me 100%.
- Në funksionet e shkruara vetëm në gjuhën C, u shtuan optimizime specifike për arkitekturën ARM.
Gjithashtu, vlen të përmendet publikimi i projektit dav1d 1.4.1, në kuadër të të cilit komunitetet VideoLAN dhe FFmpeg po zhvillojnë bibliotekën me implementimin e një dekoduesi alternativ të lirë për formatin e kodimit të videove AV1. Biblioteka dav1d mbështet të gjitha funksionalitetet e AV1, duke përfshirë llojet e zgjeruara të subdiscretizimit dhe të gjitha parametrat e kontrollit të thellësisë së ngjyrave të shpallura në specifikim (8, 10 dhe 12 bit). Veçoria kryesore e dav1d është orientimi drejt arritjes së performancës maksimale të dekodimit dhe sigurimi i funksionimit të mirë në modin shumë-frymor. Kodi i projektit është shkruar në gjuhën C (C99) me injeksione assemblere (NASM/GAS) dhe shpërndahet nën licencën BSD. Ekipi mbështet arkitekturat x86, x86_64, ARMv7 dhe ARMv8, dhe sistemet operative FreeBSD, Linux, Windows, macOS, Android dhe iOS.
Versioni dav1d 1.4 është i rëndësishëm për mbështetje të arkitekturave të reja Loongarch dhe RISC-V, si dhe përfshirjen e optimizimeve të tjera mbi bazën e instrukcioneve AVX-512, përshpejtimin e filtrave 6tap në sistemet ARM, rritjen e efikasitetit të punës shumë-frymore dhe reduktimin e madhësisë së të dhënave binare në sistemet ARM64, ARM32 dhe RISC-V. U eliminua vulnerabiliteti CVE-2024-1580, që çonte në shkruarjen jashtë kufijve të buferit për shkak të mbivendosjes së numrave gjatë përpunimit të kadrove shumë të mëdha.
Burimi: opennet.ru
