Definitivním důkazem, že
grafické čipy nejsou ke kódování videa příliš vhodné budiž to, že všichni výrobci
již nyní přecházejí na specializované obvody – vyhrazené hardwarové bloky,
podobné enkodérům obsažených v čipech pro mobilní telefony. Po úspěšné
technologii Quick Sync od Intelu nyní přichází VCE (v nedávno uvedených
Radeonech), a NVENC v čerstvých kartách GeForce GTX 680.
Nakonec to však vypadá,
že grafiky přece jen upotřebení naleznou. Po letech marných pokusů se totiž
dočkáme podpory OpenCL akcelerace přímo v (dosud čistě softwarovém) enkodéru
x264. To by zároveň mělo zaručit, že odpadne problém se špatnou obrazovou
kvalitou výsledného videa, neboť x264 je ve svém oboru špičkou.
Vzhledem k tomu, že bylo
zvoleno rozhraní OpenCL, již asi mnozí tipují, že vítr vane spíše od firmy AMD
než z tábora konkurenční Nvidie. Ta se totiž většinou snaží prosadit
prostřednictvím exkluzivního frameworku CUDA.
Skutečně je tomu tak,
firma Multicoreware vyvíjí GPGPU řešení určené pro projekt x264 s přímou
podporou AMD. Neznáme sice detaily ohledně finanční stránky věci (vývoj takto
komplikovaného software pro GPU je údajně nákladný), pravděpodobně ale výrobce
procesorů přispěl více než jen prostřednictvím vzorků hardware.
Podle předběžných
informací (pocházejících z čenichání okolo projektu x264) je podporována jak
architektura GCN, tak starší VLIW (AMD chce samozřejmě podpořit i levnější
karty a především APU, které na novější architekturu ještě nepřejdou). Kód však
údajně funguje i na kartách GeForce (nevíme však, zda pouze na DirectX 11
kompatibilních, nebo i na čipech předchozí architektury).
GPGPU pohled na architekturu GCN
Po zprávách příjemných
nyní k těm poněkud horším. Tato akcelerace nebude pokrývat celý program, pro
převod videa budete nadále potřebovat i výkon CPU. Jelikož komplexnost x264 (a
formátu H.264) plnému přepsání do kódu GPGPU nesvědčí, zaměřily se práce na
takzvaný „lookahead“, což je separátní enkodér v malém. Ten pracuje o
několik snímků napřed nezávisle na hlavním enkodéru, kterému tak umožňuje činit
rozhodnutí optimální vzhledem k budoucím snímkům (enkodér tak může například
investovat více bitů do dat, která budou v budoucnu užitečná, či se
správně rozhodnout mezi snímky P, B a I). Tato technika jednak vylepšuje
kvalitu videa relativně k datovému toku, jednak je s ní snazší dostát
požadavkům na omezení variability datového toku například pro účely tvorby disků
Blu-ray nebo streamování v reálném čase.