Video for Windows fue un framework multimedia que añadió por primera vez a Microsoft Windows el soporte para operar con ficheros de video.

Historia editar

Video for Windows fue lanzado en 1992. En su versión gratuita, era en principio un programa instalable para Windows 3.1 y 3.11 que incluía compatibilidad con ficheros AVI y un conjunto de herramientas para reproducir video, entre otras una actualización de Media Player, y un conjunto de codecs de video, con RLE y Video1 entre otros. Versiones posteriores añadirían Cinepak e Indeo.

Más adelante, con la llegada de Windows 95, Video for Windows se incluyó como parte del sistema operativo, no siendo necesaria ya su instalación por separado. También conocería en 1996 una versión para Windows NT 4.0, fusionada con el sistema operativo al igual que la de Windows 95.

En 1996, se implantó ActiveMovie para sustituir a Video for Windows en gran parte de las tareas de video, salvo la de captura, que seguía requiriendo el uso de Video For Windows. Finalmente, ActiveMovie y Video for Windows serían sustituidos en 1997 por DirectShow 1.0, incluido por primera vez como parte de DirectX 5.0.

Historial de versiones editar

Fecha de publicación Versión Notas
Noviembre de 1992 Video for Windows 1.0 Primer lanzamiento público. Incluye los codecs de Microsoft RLE y Video1.
  Video for Windows 1.1 Añadido codec Cinepak
  Video for Windows 1.1a  
  Video for Windows 1.1b  
  Video for Windows 1.1c  
  Video for Windows 1.1d Incluido Indeo 3.2 (Se alegó que incluía código fuente de QuickTime para Windows, de Apple)
Marzo de 1995 Video for Windows 1.1e Última versión para Windows 3.1x
Agosto de 1995 Video for Windows 95 Fusionado con Windows puro 420
Julio de 1996 Video for Windows NT Versión en 32 bits fusionada con Windows NT 4.0
Julio de 1996 ActiveMovie 1.0 Sucesor de Video for Windows. Añadió soporte para los ficheros en formato MPEG-1 y Quicktime
Marzo de 1997 DirectShow 1.0

Ejemplo editar

Este código de fuente de ejemplo muestra el esqueleto de códec de vídeo en VfW:

#include <vfw.h>

LRESULT WINAPI DriverProc(
	DWORD dwDriverId, 
	HDRVR hdrvr,
	UINT msg,
	LONG lParam1, 
	LONG lParam2)
{
	switch(msg)
	{

		case ICM_COMPRESS:
			// compress frame
			return Compress((ICCOMPRESS*)lParam1, (DWORD)lParam2);

		case ICM_DECOMPRESS:
			// decompress frame
			return Decompress((ICDECOMPRESS*)lParam1, (DWORD)lParam2);

	}
}

Véase también editar