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