# VC-1

VC-1 es el nombre informal para el códec de vídeo estándar SMPTE 421M. El 3 de abril de 2006, SMPTE anunció la publicación del estándar VC-1 como SMPTE 421M. Su implementación más popular es Windows Media Video 9.
Es una evolución del diseño del códec de vídeo basado en DCT que también podemos encontrar en H.261, H.263, MPEG-1, MPEG-2 y MPEG-4. Es ampliamente caracterizado como una alternativa a los últimos códecs de vídeo estándar ITU-T y MPEG, conocidos como H.264/MPEG-4 AVC. VC-1 contiene herramientas de codificación tanto para secuencias de vídeo entrelazadas como para codificación progresiva. El objetivo principal del desarrollo y estandarización de VC-1 es dar soporte a la compresión de contenido entrelazado sin tener que convertirlo primero a progresivo, haciéndolo más atractivo para profesionales de la industria de la difusión y el vídeo.
A pesar de que es ampliamente considerado como un producto de Microsoft, actualmente hay 15 compañías en el consorcio de la patente de VC-1 (el 17 de agosto de 2006). Como estándar SMPTE, VC-1 está abierto a implementaciones de otros, aunque se requiere hipotéticamente que los implementadores paguen una cuota por licencias al MPEG LA, al organismo de licencias LLC o directamente a sus miembros, quienes poseen patentes esenciales para el formato (debido a que este es un organismo de licencias no-exclusivo).
Tanto HD DVD como Blu-ray han adoptado VC-1 como estándar de vídeo obligatorio, lo que significa que sus dispositivos de reproducción de vídeo deben ser capaces de decodificar y reproducir contenido de vídeo comprimido con formato VC-1. Windows Vista y Windows xp con sp2 soporta parcialmente reproducción de HD DVD, incluyendo el decodificador VC-1 y componentes relacionados que son necesarios para la reproducción de películas HD DVD codificadas con VC-1.
El proyecto FFmpeg incluye una implementación abierta de este códec.
Microsoft ha designado a VC-1 como el códec de vídeo oficial para la Videoconsola Xbox 360, y los desarrolladores de juegos pueden utilizar VC-1 para las escenas de vídeo incluidas en los juegos. Por medio de una actualización el 31 de octubre de 2006, la gente puede reproducir ahora todos los formatos de Windows Media Video en la Xbox 360 desde un disco, dispositivo de almacenamiento USB, o streaming desde sus PC mediante Windows Media Connect/Windows Media Player 11. Esto permite a cualquiera reproducir ficheros codificados con VC-1 en la consola.

## Implementaciones del códec

La especificación del códec VC-1 ha sido hasta ahora implementada por Microsoft en la forma de 3 códecs, cada uno identificado con un código FourCC único.

### WMV3

WMV3, conocido como códec Windows Media Video 9, sirvió como la base para el desarrollo de la especificación del códec VC-1. Como resultado, los Perfiles Simple y Main de VC-1 han permanecido completamente fieles a la implementación existente WMV3, haciendo a los bitstreams WMV3 totalmente compatibles con VC-1 desde el principio. El códec WMV3 fue diseñado para dar soporte a la codificación progresiva para monitores de PC. Un modo de codificación entrelazada fue implementado, pero rápidamente quedó obsoleto cuando Microsoft inició la implementación del Perfil Advanced de WMV. Mientras que la codificación progresiva WMV3 fue implementada en el espacio de color YUV 4:2:0, el modo entrelazado obsoleto fue implementado en el espacio de color, menos común, YUV 4:1:1.
El codec Windows Media Video 9 (WMV3) implementa los modos Simple y Main del códec estándar VC-1, ofreciendo vídeo de alta calidad para streaming y descargas. "Ofrece soporte para un amplio rango de bit rates, desde contenido de alta definición a un bit rate de, entre la mitad a la tercera parte, del necesario en MPEG-2, hasta vídeo para Internet a bajo bit rate, servido incluso mediante un módem dial-up. Este códec también soporta vídeo descargable de calidad profesional con dos pasadas en la codificación, y bit rate variable (VBR). Windows Media Video 9 ya está soportado por una gran variedad de reproductores y dispositivos."
Un alto número de películas de alta definición y vídeos han sido publicados comercialmente en un formato apodado WMV HD. Estos títulos están codificados con el Perfil Main de WMV3 @ High Level (MP@HL).

### WMVA

WMVA fue la implementación original del Perfil Advanced de WMV, previo a la aceptación del borrador de VC-1 del SMPTE. El códec fue distribuido con Windows Media Player 10 y los paquetes de instalación de Windows Media Format SDK 9.5. Hay pequeñas diferencias en el bitstream entre WMVA y WVC1, por lo que consecuentemente WMVA es manejado por un decodificador DirectShow diferente a WVC1. Algunos decodificadores hardware y software de terceras partes sólo decodifican contenido basado en WMVA. En 2006, WMVA era considerado códec obsoleto debido a que no es completamente compatible con VC-1.

### WVC1

WVC1, también conocido como Perfil Avanzado de Windows Media Video 9, implementa el Perfil Avanzado del códec estándar VC-1. Ofrece soporte para contenido entrelazado, y su transporte independientemente. Con la versión previa del códec Windows Media Video 9 Series, los usuarios podrían distribuir contenido progresivo a ratios tan bajos como una tercera parte del códec MPEG-2, obteniendo aun así la misma calidad de MPEG-2. El Perfil Avanzado del códec Windows Media Video también ofrece esa misma mejora en la eficiencia de codificación de contenidos entrelazados.

## Perfiles

| | Simple | Main | Advanced |
| Baseline intra frame compression | Sí | Sí | Sí |
| Variable-sized transform | Sí | Sí | Sí |
| 16-bit transform | Sí | Sí | Sí |
| Overlapped transform | Sí | Sí | Sí |
| 4 motion vector per macroblock | Sí | Sí | Sí |
| ¼ pixel luminance motion compensation | Sí | Sí | Sí |
| ¼ pixel chrominance motion compensation | No | Sí | Sí |
| Start codes | No | Sí | Sí |
| Extended motion vectors | No | Sí | Sí |
| Loop filter | No | Sí | Sí |
| Dynamic resolution change | No | Sí | Sí |
| Adaptive macroblock quantisation | No | Sí | Sí |
| B frames | No | Sí | Sí |
| Intensity compensation | No | Sí | Sí |
| Range adjustment | No | Sí | Sí |
| Field and frame coding modes | No | No | Sí |
| GOP Layer | No | No | Sí |
| Display metadata | No | No | Sí |
| | Simple | Main | Advanced |

## Bit rates y resoluciones

| Perfil | Nivel | Bit Rate Máximo | Resoluciones por Framerate |
| Simple | Low | 96 kbit/s | 176 x 144 / 15 (QCIF) |
| Simple | Medium | 384 kbit/s | 240 x 176 / 30 352 x 288 / 15 (CIF) |
| Main | Low | 2 Mbit/s | 320 x 240 / 24 (QVGA) |
| Main | Medium | 10 Mbit/s | 720 x 480 / 30 (480p) 720 x 576 / 25 (576p) |
| Main | High | 20 Mbit/s | 1920 x 1080 / 30 (1080i) |
| Advanced | L0 | 2 Mbit/s | 352 x 288 / 30 (CIF) |
| Advanced | L1 | 10 Mbit/s | 720 x 480 / 30 (NTSC-SD) 720 x 576 / 25 (PAL-SD) |
| Advanced | L2 | 20 Mbit/s | 720 x 480 / 60 (480p) 1280 x 720 / 30 (720p) |
| Advanced | L3 | 45 Mbit/s | 1920 x 1080 / 24 (1080p) 1920 x 1080 / 30 (1080i) 1280 x 720 / 60 (720p) |
| Advanced | L4 | 135 Mbit/s | 1920 x 1080 / 60 (1080p) 2048 x 1536 / 24 |