Procesamiento digital de video en tiempo real y - Maestría en ...
Procesamiento digital de video en tiempo real y - Maestría en ...
Procesamiento digital de video en tiempo real y - Maestría en ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Procesami<strong>en</strong>to</strong> <strong>digital</strong> <strong>de</strong> vi<strong>de</strong>o <strong>en</strong> <strong>tiempo</strong> <strong>real</strong> y “vi<strong>de</strong>o wall” con la PC 45<br />
}<br />
if (WAIT_OBJECT_0 == WaitForSingleObject(hEv<strong>en</strong>t, 100))<br />
{<br />
while (hr = pEv<strong>en</strong>t->GetEv<strong>en</strong>t(&evCo<strong>de</strong>, ¶m1, ¶m2, 0), SUCCEEDED(hr))<br />
{<br />
printf("Ev<strong>en</strong>t co<strong>de</strong>: %#04x\n Params: %d, %d\n", evCo<strong>de</strong>, param1, param2);<br />
hr = pEv<strong>en</strong>t->FreeEv<strong>en</strong>tParams(evCo<strong>de</strong>, param1, param2);<br />
bDone = (EC_COMPLETE == evCo<strong>de</strong>);<br />
}<br />
}<br />
Debido a que el gráfico <strong>de</strong> filtros automáticam<strong>en</strong>te ajusta o reinicialaza el ev<strong>en</strong>to<br />
cuando sea apropiado, la aplicación no <strong>de</strong>bería hacerlo. También, cuando se actualiza el<br />
gráfico <strong>de</strong> filtros, el gráfico <strong>de</strong> filtros cierra el manejador <strong>de</strong> ev<strong>en</strong>tos, así no hace uso <strong>de</strong>l<br />
manejador <strong>de</strong> ev<strong>en</strong>tos <strong>de</strong>spués <strong>de</strong> este punto.<br />
3.9 Hardware <strong>en</strong> el gráfico <strong>de</strong> filtros<br />
3.9.1 Filtros Envoltura (Wrapper)<br />
Todos los filtros DirectShow son compon<strong>en</strong>tes <strong>de</strong> software <strong>en</strong> el modo usuario. Para<br />
que un dispositivo hardware <strong>en</strong> el modo kernel como una tarjeta <strong>de</strong> captura <strong>de</strong> vi<strong>de</strong>o/sonido<br />
se añada al gráfico <strong>de</strong> filtros <strong>de</strong> DirectShow, el dispositivo <strong>de</strong>be ser repres<strong>en</strong>tado como un<br />
filtro <strong>en</strong> el modo usuario <strong>de</strong>ntro <strong>de</strong>l gráfico <strong>de</strong> filtros. Esta función se lleva a cabo para<br />
varios tipos <strong>de</strong> dispositivos por filtros especializados llamados filtros <strong>en</strong>voltura(wrapper<br />
filters), provistos con DirectShow.<br />
Los filtros <strong>en</strong>voltura trabajan soportando las interfaces COM que repres<strong>en</strong>tan las<br />
capacida<strong>de</strong>s esperadas <strong>de</strong>l dispositivo. La aplicación usa estas interfaces para pasar<br />
información hacia y <strong>de</strong>s<strong>de</strong> el filtro, el filtro traduce las llamadas a la interfase <strong>en</strong><br />
información que el controlador <strong>de</strong>l dispositivo pueda compr<strong>en</strong><strong>de</strong>r, y <strong>en</strong>tonces el filtro pasa<br />
esta información hacia y <strong>de</strong>s<strong>de</strong> el controlador <strong>en</strong> el modo kernel.<br />
Para los <strong>de</strong>sarrolladores <strong>de</strong> aplicaciones, el principio <strong>de</strong> <strong>en</strong>volver dispositivos <strong>de</strong><br />
hardware como filtros <strong>en</strong> modo usuario significa que las aplicaciones controlan dispositivos<br />
<strong>de</strong> la misma forma que ellos controlan cualquier otro filtro DirectShow. No se requiere una<br />
programación especial <strong>en</strong> la parte <strong>de</strong> la aplicación; todos los <strong>de</strong>talles involucrados <strong>en</strong> la<br />
comunicación con el dispositivo <strong>en</strong> el modo kernel son <strong>en</strong>capsulados <strong>de</strong>ntro <strong>de</strong>l filtro<br />
mismo.<br />
3.9.2 Vi<strong>de</strong>o para dispositivos Windows<br />
Para soportar las ultimas tarjetas <strong>de</strong> captura Vi<strong>de</strong>o for Windows (VfW), DirectShow<br />
provee el filtro <strong>de</strong> captura VFW. Cuando una tarjeta VfW esta pres<strong>en</strong>te <strong>en</strong> el sistema, esta<br />
pue<strong>de</strong> ser <strong>de</strong>scubierta usando el System Device Enumerator 7 . El Enumerator se utiliza<br />
también para añadir el filtro <strong>de</strong> captura VfW al grafico y asociar este con la tarjeta que fue<br />
7 Aplicación cont<strong>en</strong>ida <strong>en</strong> DirectX 8.0