Uvod


U većini kompleksnijih grafičkih programa prije ili kasnije se ukaže potreba za prikazom video materijala. Tako na primjer, računalne igre često prikazuju logotipove i međusekvence. Video zapisi se često koriste kao teksturni izvor za 3D objekte, na primjer televizijska emisija koja se prikazuje na 3D modelu TV prijamnika u prostoriji.
Najčešći razlozi za prikaz videa u takvim programima su:

1) Prikaz kompleksne animacije koju bi bilo prekomplicirano izvesti programski, bilo zbog zahtjevnog prikaza ili jednostavno radi uštede vremena programerskom timu.
2) Prikaz animiranog segmenta slike, primjerice vode ili oblaka u pozadini statičnog kadra, animacija likova itd.
3) Ulazni podaci za daljnju obradu, npr. Animairana Visinska karta ili podaci za grafički program za sjenčanje (engl. shader) s kojim se postižu razni efekti.

Kakva god potreba bila, uvijek je jedan motiv: potreba za uštedom resursa, kako diskovnog prostora, tako i radne memorije.
Najjednostavnije je prikazati video zapis kao slijed tekstura koje se dinamički učitavaju i uništavaju kako video prikaz napreduje. No to iziskuje previše diskovnog prostora i operacija čitanja po mediju na kojem se zapis nalazi.
Stoga, u praksi se animacije niže rezolucije sa manjim brojem slika animiraju direktno iz jedne ili više tekstura, a kompleksnije ili duže animacije putem video dekodera.
Postoje mnogi načini za prikaz videa u današnjim tehnologijama, tako primjerice DirectX SDK pruža programeru mogućnost prikaza videa preko DirectShow filtra na teksturi ili direktno na spremniku (engl. buffer) ekrana.
Postoje komercijalne alternative za koje se mnogi razvojni timovi odlučuju radi jednostavnosti i dobrih performansi, od kojih bi izdvojio najpopularniji: Bink Video.

Zajednica koja podžava otvoreni kod (eng. open source zajednica) još uvijek nema kvalitetno rješenje za taj problem što je glavni razlog za ovaj projekt.