28.11.2012 Views

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 ...

SHOW MORE
SHOW LESS

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 40<br />

datos que no han sido procesados, <strong>de</strong>bido a que el asignador manti<strong>en</strong>e la lista <strong>de</strong> las<br />

muestras disponibles. Finalm<strong>en</strong>te este provee una manera efici<strong>en</strong>te <strong>de</strong> mover datos a través<br />

<strong>de</strong>l grafico: Cuando un pin salida <strong>en</strong>trega una muestra, este pasa un apuntador a la interfaz<br />

IMediaSample <strong>de</strong> la muestra. Esto provoca que no t<strong>en</strong>ga que copiar ningún dato.<br />

y el filtro.<br />

La figura 3.8 muestra la relación <strong>en</strong>tre el asignador, las muestras multimedia,<br />

Figura 3.8 Función <strong>de</strong>l asignador<br />

Los pins conectados compart<strong>en</strong> un asignador <strong>de</strong> memoria. Un filtro pue<strong>de</strong> usar<br />

difer<strong>en</strong>tes asignadores para sus <strong>en</strong>tradas y salidas. Esto es típico cuando el filtro expan<strong>de</strong><br />

los datos, como <strong>en</strong> el caso <strong>de</strong> un filtro <strong>de</strong>scompresor. Si las salidas no son mayores que las<br />

<strong>en</strong>tradas, el filtro pue<strong>de</strong> procesar los datos <strong>en</strong> el mismo lugar, sin moverlos hacia un nuevo<br />

buffer. En este caso, dos o más conexiones <strong>de</strong> pines pue<strong>de</strong>n compartir el mismo asignador.<br />

3.8.2 Entrega <strong>de</strong> Muestras<br />

Los pins <strong>en</strong>trada que soportan memoria local <strong>de</strong> transporte expon<strong>en</strong> la interfaz<br />

ImemInputPin. El pin salida <strong>en</strong>trega una muestra al llamar el método<br />

ImemInputPin::Receive <strong>en</strong> el pin <strong>en</strong>trada. El pin <strong>en</strong>trada <strong>real</strong>iza una <strong>de</strong> las sigui<strong>en</strong>tes<br />

funciones:<br />

• Rechaza la muestra<br />

• Se bloquea hasta que se finaliza el procesami<strong>en</strong>to <strong>de</strong> una muestra.<br />

• Regresa inmediatam<strong>en</strong>te y procesa la muestra <strong>en</strong> otro hilo(thread).<br />

El método ImemInputPin::ReceiveCanBlock <strong>de</strong>termina si el pin <strong>en</strong>trada pue<strong>de</strong><br />

bloquearse <strong>en</strong> la llamada a Recibe. El pin salida pue<strong>de</strong> llamar a este método para<br />

<strong>de</strong>terminar una estrategia apropiada <strong>de</strong> hilado(threading). Algunos filtros crean un hilo <strong>de</strong><br />

ejecución, así que ellos pue<strong>de</strong>n <strong>en</strong>tregar muestras <strong>en</strong> segundo plano mi<strong>en</strong>tras están<br />

haci<strong>en</strong>do otro trabajo. Otros filtros simplem<strong>en</strong>te se bloquean hasta que el filtro downstream<br />

esta listo para aceptar otra muestra.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!