SMPTE 421M, informally known as VC-1, is a video coding format. It was initially developed as the proprietary video format Windows Media Video 9 by Microsoft in 2003 and officially approved as a SMPTE video codec standard on April 3, 2006.
VC-1 is an evolution of the conventional DCT-based video codec design also found in H.261, MPEG-1 Part 2, H.262/MPEG-2 Part 2, H.263, and MPEG-4 Part 2. It is widely characterized as an alternative to the ITU-T and MPEG video codec standard known as H.264/MPEG-4 AVC. VC-1 contains coding tools for interlaced video sequences as well as progressive encoding. The main goal of VC-1 Advanced Profile development and standardization was to support the compression of interlaced content without first converting it to progressive, making it more attractive to broadcast and video industry professionals.
Both HD DVD and Blu-ray Disc have adopted VC-1 as a video standard, meaning their video playback devices will be capable of decoding and playing video-content compressed using VC-1. Windows Vista partially supports HD DVD playback by including the VC-1 decoder and some related components needed for playback of VC-1 encoded HD DVD movies.
Microsoft has designated VC-1 as the Xbox 360 video game console's official video format, and game developers may use VC-1 for full motion video included with games. By means of an October 31, 2006 update, all formats of Windows Media Video could be played on the Xbox 360 from a disc, USB storage device, or streaming from a PC via Windows Media Connect/Windows Media Player 11.
Microsoft codec implementations
Simple and Main Profiles of VC-1 remained completely faithful to the existing WMV3 implementation, making WMV3 bitstreams fully VC-1 compliant. The WMV3 codec was designed to primarily support progressive encoding for computer displays. An interlaced encoding mode was implemented, but quickly became deprecated when Microsoft started implementing WMV Advanced Profile. Whereas WMV3 progressive encoding was implemented in the YUV 4:2:0 color space, the deprecated interlaced mode was implemented in the less common YUV 4:1:1 color space.
The Windows Media Video 9 (WMV3) codec implements the Simple and Main modes of the VC-1 codec standard, providing high-quality video for streaming and downloading. "It provides support for a wide range of bit rates, from high-definition content at one-half to one-third the bit rate of MPEG-2, to low-bit-rate Internet video delivered over a dial-up modem. This codec also supports professional-quality downloadable video with two-pass and variable bit rate (VBR) encoding."
A number of high definition movies and videos have been released commercially in a format dubbed WMV HD. These titles are encoded with WMV3 Main Profile @ High Level (MP@HL).
WMVA was the original implementation of WMV Advanced Profile prior to the acceptance of the VC-1 draft by SMPTE. The codec was distributed with Windows Media Player 10 and Windows Media Format SDK 9.5 install packages. There are slight bitstream differences between WMVA and WVC1, so consequently WMVA is handled by a different DirectShow decoder than WVC1. Some 3rd party hardware and software decoders only decode WMVA based content. As of 2006, WMVA is considered a deprecated codec because it is not fully VC-1 compliant.
WVC1, also known as Windows Media Video 9 Advanced Profile, implements a more recent and fully compliant Advanced Profile of the VC-1 codec standard. It offers support for interlaced content and is transport independent. With the previous version of the Windows Media Video 9 Series codec, users could deliver progressive content at data rates as low as one-third that of the MPEG-2 codec and still get equivalent or comparable quality to MPEG-2. The Windows Media Video 9 Advanced Profile codec also offers this same improvement in encoding efficiency with interlaced contents. A decoder for WVC1 is included in Windows Media Player 11, which is bundled with Windows Vista and is available as a download for Windows XP. This implementation is supported in Microsoft Silverlight.
|Baseline intra frame compression||Yes||Yes||Yes|
|4 motion vector per macroblock||Yes||Yes||Yes|
|¼ pixel luminance motion compensation||Yes||Yes||Yes|
|¼ pixel chrominance motion compensation||No||Yes||Yes|
|Extended motion vectors||No||Yes||Yes|
|Dynamic resolution change||No||Yes||Yes|
|Adaptive macroblock quantisation||No||Yes||Yes|
|Field and frame coding modes||No||No||Yes|
Bit rates and resolutions
|Profile||Level||Maximum Bit Rate||Resolution / Framerate|
|Simple||Low||96 kbit/s||176 × 144 / 15 (QCIF)|
|Medium||384 kbit/s||240 × 176 / 30
352 × 288 / 15 (CIF)
|Main||Low||2 Mbit/s||320 × 240 / 24 (QVGA)|
|Medium||10 Mbit/s||720 × 480 / 30 (480p)
720 × 576 / 25 (576p)
|High||20 Mbit/s||1920 × 1080 / 30 (1080p)|
|Advanced||L0||2 Mbit/s||352 × 288 / 30 (CIF)|
|L1||10 Mbit/s||720 × 480 / 30 (NTSC-SD)
720 × 576 / 25 (PAL-SD)
|L2||20 Mbit/s||720 × 480 / 60 (480p)
1280 × 720 / 30 (720p)
|L3||45 Mbit/s||1920 × 1080 / 24 (1080p)
1920 × 1080 / 30 (1080i)
1280 × 720 / 60 (720p)
|L4||135 Mbit/s||1920 × 1080 / 60 (1080p)
2048 × 1536 / 24
Due to its origins in Microsoft's WMV9 codec, the most popular implementations of VC-1 encoders have so far been done by Microsoft, though third-party implementations exist as well. Sonic Cinevision PSE, a professional VC-1 encoding tool used predominantly in HD DVD and Blu-ray encoding, is a commercial version of Microsoft's PEP (Parallel Encoder) encoding tool and VC-1 Analyzer tool. Microsoft owns the code development whereas Sonic Solutions owns the sales and distribution. Microsoft also provides a separate VC-1 Encoder SDK which allows any company or software developer to integrate VC-1 encoding into their applications. Non-Microsoft VC-1 implementations (based entirely on the SMPTE specifications) have been done by Tandberg Television and MainConcept. The FFmpeg project includes a free VC-1 decoder.
Windows Media Encoder 9 Series encodes VC-1 compliant video files, including WVC1 FourCC media. Windows Media Format 11 Runtime or Windows Media Player 11 must be installed on the computer to ensure full VC-1 compliance across all three profiles (Simple, Main and Advanced). If either of these are installed, Windows Movie Maker can also save VC-1 compliant videos, as can any other application built on the Windows Media Format SDK or Windows Media Codec DMOs. A Windows Media Encoder Studio Edition was initially announced for professional encoding but later cancelled by Microsoft. Microsoft Expression Encoder which is part of Expression Studio supports encoding VC-1 video to the Windows Media (ASF) file format and the IIS Smooth Streaming format.
Video encoder products made by Inlet, Digital Rapids, Harmonic, Envivio, Elemental Technologies, Anystream, Telestream and Rhozet support VC-1 encoding (based on the Microsoft VC-1 Encoder SDK) for IPTV and Web streaming.
Hardware-based encoding and decoding
Because VC-1 encoding and decoding requires significant computing power, software implementation that run on a general-purpose CPU are typically slow, especially when dealing with HD video content. To reduce CPU usage or to do real-time encoding, special-purpose hardware may be employed, either for the complete encoding or decoding process, or for acceleration assistance within a CPU-controlled environment. A hardware VC-1 encoder can be an ASIC or an FPGA.
Hardware-accelerated (also known as hardware-assisted) video decoding can either be done on dedicated, special-purpose hardware or on generic, multi-purpose hardware such as GPUs. The former is typically found in consumer electronics devices such as Blu-ray Disc players and 3G/4G mobile phones, while the latter is typically found in PCs. Nearly all video cards manufactured since 2006 support some level of GPU-accelerated VC-1 decoding on the Windows platform via DirectX Video Acceleration APIs. The native Windows WMV9/VC-1 decoder (wmvdecod.dll) only supports DXVA profiles A, B and C, while 3rd party VC-1 decoders such as CyberLink's support the full DXVA Profile D decode acceleration. There is no support for GPU-accelerated VC-1 decode on the MacOS platform.
Although widely considered to be Microsoft's product, there are 18 member companies within the VC-1 patent pool. As an SMPTE standard, VC-1 is open to implementation by anyone, although implementers may be required to pay licensing fees to the MPEG LA, the LLC licensing body or directly to its members, who claim to hold essential patents on the format (since it is a non-exclusive licensing body).
- "VC-1 Technical Overview". Windows Media. Microsoft. 2006. Retrieved October 5, 2006.
- "VC-1". Summer of Code. Google. Archived from the original on 2007-09-13. Retrieved 2007-03-21.
- "Raspberry Pi VC-1 Hardware Decoding". Raspberry Pi Foundation. 2012. Retrieved August 24, 2012.
- Sullivan, Gary J. (August 2010) [December 2007]. "DirectX Video Acceleration Specification for Windows Media Video v8, v9 and vA Decoding (Including SMPTE 421M "VC-1")" (PDF). Microsoft Developer Network (MSDN) Library, Windows Development Kit, Windows Driver Kit, Device and Driver Technologies, Display Devices (Adapters and Monitors), Design Guide, Windows 2000 Display Driver Model Design Guide. Microsoft. Retrieved 29 October 2010.
- "About the Windows Media Codecs". Microsoft Developer Network. Microsoft. Retrieved 28 April 2014.
- "MainConcept VC-1 Codec Package". MainConcept. Retrieved September 24, 2010.
- "FFmpeg Home/News". FFmpeg. March 9, 2007. Retrieved 29 October 2010.
Nine months without news but with heavy development. A few select highlights are decoders for VC-1/WMV3/WMV9, VMware, VP5, VP6 video and WavPack, IMC, DCA audio and a WMA encoder.
- "New video features! MPEG-2 and VC-1 decode, H.264 encode, CEC support". Raspberry Pi. Retrieved 2015-11-29.
- "VC-1 Licensors". MPEG-LA. Retrieved 2013-05-19.
- "MPEG LA, LLC. Press Release" (PDF). Archived from the original (PDF) on November 13, 2006. Retrieved August 17, 2006.
- "VC-1 Profiles and Levels". VC-1. Retrieved December 12, 2005.
- "Microsoft WMV Codec Implementations". VC-1. Retrieved February 28, 2006.
- VC-1 reference software analysis at the MultimediaWiki
- RFC 4425 – IETF RTP Payload Format for Video Codec 1
- "VC-1 Decode License Announcement". VC-1. Retrieved August 24, 2012. for the Raspberry Pi