AV2 video pro všechny. Dekodér Dav2d ho přehraje i na starých PC

Problém s novými formáty videa bývá, že potřebují mnohem víc výkonu než staré a počítá se, že se budou přehrávat speciálním hardwarovým blokem. Jenže obvykle trvá roky, než se takové dekodéry objeví v grafikách a procesorech a všechna zařízení koupená do té doby zůstanou bez nich. Naštěstí to vypadá, že nový formát AV2 by mohl být pořád přístupný i pro starší počítače díky práci open source projektu od vývojářů přehrávače VLC.

Formát AV2 zřejmě ještě stále není definitivně uzavřený, přestože loni bylo avizováno jeho dokončení do konce roku. Nicméně už asi zbývá dořešit jen menší nejasnosti, jelikož začaly práce na optimalizovaném výkonném dekodéru tohoto formátu, který by měl umožnit přehrávání videa v tomto novém formátu na co největším množství procesorů, které nemají nebo nebudou mít hardwarový blok pro přehrávání AV2.

Tento projekt se jmenuje Dav2d a navazuje na dekodér Dav1d, který vznikl se stejným záměrem pro formát AV1. Dav1d byl velmi dobře optimalizovaný pomocí SIMD optimalizací ručně napsaných v assembleru a díky tomu dosáhl velmi vysokého výkonu, takže AV1 s ním lze přehrávat na relativně starých CPU.

Dav2d má stejný cíl – být nejrychlejším řešením pro přehrávání AV2 a překlenout roky, kdy hardwarové dekodéry nebudou k dispozici nebo nebudou v počítačích běžné. Dekodér má současně být optimalizovaný pro vysoký výkon na nejnovějších procesorech, ale i na těch starších. Prioritou při vývoji bude nejprve výkon na současných procesorech x86 podporujících AVX2 jako jsou všechny Ryzeny a Intel Core 4. generace a novější (což zahrnuje využití těchto instrukcí, ale i starších podporovaných na dotyčných CPU) a na novějších Arm procesorech s architekturou ARMv8 (nebo ARMv9), čili na telefonech.

Kromě toho budou v druhém sledu přidány verze kódu optimalizované pro starší procesory – ty budou mít jako „cíl“ jádra podporující instrukce SSSE3, což znamená procesory Intel Core 2 a novější až po Sandy Bridge a Ivy Bridge (a různé SoC založené na jádrech linie Atom až po architekturu Tremont). U AMD půjde o procesory s jádry Bulldozer, Piledriver a Steamroller a Jaguar. Technicky by měla mít podporu i malá jádra Bobcat.

S nižší prioritou Dav2d plánuje vyzkoušet i optimalizace pro 32bitová jádra ARM (ARMv7) a eventuálně v případě, že zbudou síly, i pro IBM Power/PowerPC, architekturu RISC-V a velmi staré procesory x86 bez podpory SSSE3 – což v praxi budou hlavně různé Phenomy a Athlony II od AMD s architekturou K10. Ta končí na SSE3, ale nepodporuje SSSE3, neboli „Supplemental SSE3“ přidané v procesorech Core 2 (které na potvoru obsahují některé instrukce velmi důležité pro multimediální SIMD kód, například PSHUFB).

Tyto už málo používané, zastaralé či exotické procesory ale jsou až na jedné z posledních pozic žebříčku priority. Paradoxně na podobném místě (ne)zájmu jsou i optimalizace využívající instrukcí AVX-512. To ale bude spíš kombinace toho, že neměly dlouho tak široké zastoupení na trhu s tím, že u procesoru podporujícího AVX-512 se nejspíš lze spolehnout, že bude mít nadbytek výkonu, i když bude využívat pouze AVX2.

Jak náročné přehrávání AV2 bude, ještě není jasné

U takto starých procesorů s menším počtem jader ale už může být problémem nedostatečný hrubý výkon. Dav2d se vedle ručně optimalizovaného SIMD kódu bude opírat také o využití co nejvíce vláken k dekódování. Staré architektury procesorů tedy mohou být použitelné jen tehdy, pokud CPU má současně hodně jader.

Zatím nemáme nějaké odhady toho, jak silné procesory budou obecně potřeba pro dekódování AV2 videa v konkrétních rozlišeních a snímkových frekvencích, to teprv uvidíme v budoucnu. Předpokládáme ale, že většina novějších procesorů podporujících AVX2 se čtyřmi a více jádry nebude mít problém s 1080p videem a doufejme i 4K rozlišení bude relativně přístupné. Je ale třeba počítat s tím, že přehrávání přímo ve webových prohlížečích bude výrazně náročnější, než jen přehrávání staženého videa v přehrávači jako VLC či MPV.

Plán vývoje AV2 dekodéru Dav2d
Plán vývoje AV2 dekodéru Dav2d (zdroj: VideoLAN)

Podle zatím střídmých informací na webu projektu aktuálně vývojáři ještě pracují na kompletní implementaci všech funkcí dekodéru potřebných ke kompletnímu pokrytí specifikace AV2, na API a portování pro různé platformy (čímž se asi myslí kompatibilita s operačním systémy a zároveň s různými instrukčními sadami procesorů). Dekodér ještě není připraven k nasazení, nicméně to ani formát AV2 (u obojího jde o práci na něčem, co bude pro běžného uživatele užitečné až v budoucnu).

Kód bude psán v jazyce C, což je možná trošku škoda (Rust by umožnil větší bezpečnost, která by byla plusem pro webové prohlížeče), nicméně C je asi snadnější řešení co se týká integrace optimalizovaného SIMD kódu a umožnilo to převzít část kódu z projektu Dav1d. Závislost na dostupnosti kompilátoru a nástrojů pro Rust by asi také šla proti cíli, aby dekodér byl maximálně multiplatformně použitelný.

Vlastní SIMD optimalizace začnou být psány po dokončení této fáze. Práce na výkonu Dav2du budou nejprve upřednostňovat nové procesory a dekódování videa se standardní bitovou hloubkou. Vyšší bitové hloubky (10 bitů, 12 bitů) a vzorkování 4:2:2 a/nebo 4:4:4 budou mít nižší prioritu, ale jsou také v plánu. Je možné, že časem by dekodér mohl mít i nějakou formu využití výkonu GPU pro některé operace, ale to je také dost nízko na seznamu priorit, primárně bude používat výkon jader CPU.

Opět open-source

Dav2d je už tradičně open-source (přičemž má permisivní licenci, ne GPL či podobnou) a zastřešuje ho stejně jako Dav1d projekt VideoLAN, známý populárním přehrávačem VLC Media Player (původně VideoLAN Client). Ten by měl tudíž Dav2d mít časem automaticky integrovaný, ale lze předpokládat, že dojde i k integraci s projektem FFmpeg a s dalšími přehrávači videa.

Je otázka, zda se Dav2d dostane do webových prohlížečů, případně jak dlouho to bude trvat. Například Google v Chrome dříve preferoval přes horší výkon vlastní referenční kód a například nenasadil dekodér FFVP9, byť tím značně trpěla schopnost přehrávat VP9 video. Dav1d se ale zdá se do Chrome eventuálně dostal, takže Dav2d snad také bude použit. Firefox také pro přehrávání AV1 používá Dav1d, takže by měl být otevřený i směrem k Dav2du.

Zdroj: VideoLAN

Jan Olšan, redaktor Cnews.cz


Contents

Tvoříte v DaVinci Resolve? Tyto GPU vás budou zajímat

NVIDIA GeForce nejsou jenom hardware pro hraní her, ale i nedocenitelný nástroj pro tvorbu a úpravy video obsahu. Jejich výkonná GPU díky technologii CUDA a vedoucím schopnostem v AI zvládají širokou škálu úloh a jejich schopnosti vyniknou i zde. S ovladači NVIDIA Studia dostáváte excelentní podporu v množství profesionálního softwaru. GeForce RTX řady 50 jsou ideální nástroj i pro práci v nástrojích DaVinci Resolve Studio. Celý článok „Tvoříte v DaVinci Resolve? Tyto GPU vás budou zajímat“ »

Nvidia vylepšila RTX Video Super Resolution: Lepší výkon a HDR

Když Nvidia v lednu odhalila grafiky GeForce RTX 5000, prezentovala s nimi různé novinky pro hry (i když ne všechny jsou výhradně vlastností těchto nových GPU), nejvíc asi DLSS 4 a jeho generování více interpolovaných snímků. Architektuře Blackwell a těmto funkcím jsme věnovali samostatný článek, ale teď, když se grafiky začaly prodávat (byť v omezeném množství), firma vydala ještě další novinky, které předtím ušly pozornosti. Celý článok „Nvidia vylepšila RTX Video Super Resolution: Lepší výkon a HDR“ »

RTX Video HDR: AI od Nvidie dělá HDR z běžných webových videí

Loni vydala Nvidia technologii či funkci nazvanou RTX Video Super Resolution, která používá GPU k upscalingu a vylepšení webového videa (ale použít se tento upscaler dá také ve VLC Media Playeru) filtr podobný DLSS 1.0, založený na umělé inteligenci. Nyní tato technologie byla rozšířená do RTX Video HDR, což je opět AI filtr, který ke klasickému videu dopočítává (simuluje) HDR složku, tedy efekt vysokého dynamického kontrastu. Celý článok „RTX Video HDR: AI od Nvidie dělá HDR z běžných webových videí“ »

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *