Graf filtrů

Z Wikipedie, otevřené encyklopedie
Vizualizace ukázkového grafu filtrů ve frameworku GStreamer.

Graf filtrů je orientovaný graf toku dat uvnitř multimediálního frameworku. Uzly tohoto grafu jsou filtry (např. dekodér videa), hrany reprezentují spoje mezi nimi. Frameworky mohou tento graf fixní. To je případ frameworku Video for Windows. Taková implementace ale použití frameworku velmi omezuje, protože aplikace jej mohou využít jen k předem daným úkonům. Ve většině případů lze však tok dat (graf) uvnitř frameworku alespoň částečně ovlivnit. Třeba DirectShow nebo GStreamer umožňují klientské aplikaci postavit si graf téměř libovolně a poskládat tak jakoukoli aplikaci (přehrávač audia, rekomprese videozáznamu nebo zachytávaní síťového vysílání).

Filtry v grafech lze rozdělit do tří skupin: zdroje datového toku, transformace a cílové filtry. Takové rozdělení lze nalézt u všech frameworků. Jednotlivé filtry jsou propojeny přes vstupy/výstupy, které se v závislosti na frameworku nazývají např. pady nebo piny. Filtr může mít dle jeho určení žádný, jeden nebo více vstupů a výstupů. Aby bylo možné dva filtry propojit, musejí se shodnout na typu datového toku. Nelze např. napojit dekodér videa na vstup zvukové karty. Některé framewoky umějí formát dat v omezené míře konvertovat. Lze tak automaticky provádět změnu vzorkovací frekvence u audia nebo formátu pixelu u videa. Jiné frameworky (Video for Windows) však tohle neumožňují. V takovém případě je nutné, aby se navazující filtry na typu dat shodly, jinak se nespojí.