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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<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 77<br />
5.7 Aplicación<br />
La aplicación construye <strong>en</strong> primera instancia el gráfico <strong>de</strong> filtros completo <strong>de</strong><br />
manera automática. La configuración obt<strong>en</strong>ida <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong> la fu<strong>en</strong>te seleccionada por el<br />
usuario (tarjeta <strong>de</strong> TV o un archivo multimedia), si la fu<strong>en</strong>te es un archivo, se <strong>de</strong>be crear<br />
una instancia <strong>de</strong>l admiministrador <strong>de</strong>l grafico <strong>de</strong> filtros que cree el gráfico <strong>de</strong> filtros y lo<br />
ponga <strong>en</strong> ejecución.<br />
Por otra parte <strong>de</strong>be proporcionar la v<strong>en</strong>tana <strong>de</strong> vi<strong>de</strong>o al sistema operativo para su<br />
<strong>de</strong>spliegue <strong>en</strong> la v<strong>en</strong>tana <strong>de</strong> la aplicación. También se requiere <strong>de</strong>splegar la pagina<br />
propietaria.<br />
Si el usuario seleccionó la tarjeta <strong>de</strong> captura <strong>de</strong> vi<strong>de</strong>o <strong>en</strong>tonces se requiere la<br />
elaboración automática <strong>de</strong>l gráfico <strong>de</strong> captura, para <strong>de</strong>spués insertar el filtro <strong>de</strong> efectos y<br />
finalm<strong>en</strong>te la reproducción <strong>de</strong>l vi<strong>de</strong>o <strong>en</strong> la v<strong>en</strong>tana <strong>de</strong> la aplicación. Veremos <strong>en</strong> los<br />
sigui<strong>en</strong>tes apartados casa uno <strong>de</strong> los pasos para la elaboración <strong>de</strong> nuestra aplicación.<br />
5.7.1 Ejecución <strong>de</strong> un archivo<br />
Una <strong>de</strong> las funciones <strong>de</strong> la aplicación es ejecutar un archivo multimedia. Esto<br />
incluye cuatro pasos básicos:<br />
1. Crear una instancia <strong>de</strong>l Manejador <strong>de</strong>l Gráfico <strong>de</strong> filtros.<br />
2. Usar el Manejador <strong>de</strong>l gráfico <strong>de</strong> filtros para crear un grafico <strong>de</strong> filtros.<br />
3. Usar el Manejador <strong>de</strong>l gráfico <strong>de</strong> filtros para ejecutar el gráfico <strong>de</strong> filtros<br />
4. Esperar a que la ejecución se complete<br />
Para llevar a cabo estas operaciones se hace uso <strong>de</strong> las sigui<strong>en</strong>tes interfaces COM:<br />
• IGraphBuil<strong>de</strong>r: Construye el grafico <strong>de</strong> filtros.<br />
• IMediaControl: Maneja el flujo <strong>de</strong> datos <strong>en</strong> el gráfico <strong>de</strong> filtros.<br />
• IMediaEv<strong>en</strong>t: Maneja los ev<strong>en</strong>tos <strong>en</strong> el gráfico <strong>de</strong> filtros.<br />
Iniciamos llamando a la función CoInitialize, la cual inicializa la librería COM.<br />
Entonces llamamos a la función CoCreateInstance para crear el Manejador <strong>de</strong>l gráfico <strong>de</strong><br />
filtros.<br />
IGraphBuil<strong>de</strong>r *pGraph;<br />
CoInitialize(NULL);<br />
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,<br />
IID_IGraphBuil<strong>de</strong>r, (void **)&pGB);