Editor’s note: The information in this FAQ reflects the state of Microsoft video compression technology around 2007-2011. Though its content is likely no longer relevant I have decided to keep the page alive for archival purposes.

At the International Broadcasting Conference (IBC) 2007 in Amsterdam, Microsoft officially announced its VC-1 Encoder SDK, a solution for 3rd party ISVs that wish to incorporate VC-1 encoding into their products.

This is the VC-1 Encoder SDK page:

Here is the official press release:

To help clarify things for the Windows Media and Silverlight audiences, I put together this brief Q&A that I hope will answer the more common questions:

Q: Is this a new encoder application? Where can I get it?

A: No. This is only an SDK that’s being sold directly to ISVs (Enterprise version) and made available as a free download to independent developers (Professional version). It allows companies and groups making video software (i.e. Sonic, Memory-Tech, Inlet, etc.) to support VC-1 encoding in their products without having to develop codec technology from scratch or rely on Windows Media system components.

Q: Is this encoder SDK being deployed as a codec DMO update?

A: No. This is a brand new encoder SDK model that’s incompatible with any existing DMO, MFT or DirectShow encoder implementations. It is deployed to ISVs as a static library which means that it must be incorporated into their application at build time. It can’t be automatically plugged into just any encoder application built on WM Format SDK or DirectShow. However, it might be possible to develop a new DirectShow filter or DMO/MFT based on this SDK.

Q: What about Windows Media Video? Are you not supporting encoding to WMV9 anymore?

A: VC-1 is the official name of the SMPTE 421M video compression standard that was proposed by Microsoft and based on WMV9 codec technology. Today’s WMV9 codec (with its Simple, Main and Advanced profiles) is therefore an implementation of the VC-1 specification. Technically they are one and the same, but semantically we tend to differentiate between them by using the name “WMV9” when VC-1 is used in the context of Windows Media technologies (ASF file format, WMS streaming, etc.). So this VC-1 Encoder SDK can still be used to encode for Windows Media as long as you store the output in an ASF (WMV) file. The difference is mostly semantic, not technical. VC-1 video in an ASF file is effectively WMV9 and can be decoded and played in both Silverlight and WMP.

Q: If I buy Anystream, Envivio, Inlet or Rhozet encoding software that uses the VC-1 Encoder SDK technology, will I be able to use it for producing Silverlight-compatible content?

A: Yes. Any encoding software built on the VC-1 SDK that offers the option of outputting to ASF (WMV) will produce Silverlight-compatible video content. There are some exceptions to the rule (i.e. Silverlight 1.0 doesn’t support interlaced video playback), but those are inherent to the Silverlight client and you could theoretically run into the same limitations with WME9 or Expression Encoder today.

Q: Does this SDK replace the Windows Media Format SDK or Media Foundation SDK?

A: No. While its functionality certainly overlaps with a lot of the video encoding functionality offered by the WM Format SDK, this SDK is still only a video encoder SDK. In other words, it lacks support for audio encoding, muxing, plugin extensibility, streaming, etc. So even though we are strongly urging ISVs to license our VC-1 Encoder SDK to fill their video encoding needs, we understand that they might still depend on the WMF SDK or WM Porting Kits to do WMA encoding or ASF muxing.

Q: Why offer a new VC-1 Encoder SDK when the WM Format SDK is already capable of encoding to VC-1/WMV9?

A: CMPT (Core Media Processing Technology) group is dedicated to providing quality and performance improvements to the VC-1 encoder technology through the VC-1 Encoder SDK development. WM Format SDK is a Windows SDK that’s highly dependent on Windows release schedules. By offering a standalone video encoder SDK, CMPT and Microsoft will be able to provide the latest bugfixes and improvements directly to the ISVs without having to rely on Windows release vehicles for codec deployment. The benefit to the end-user is that they can always count on having the latest VC-1 codec technology available in the latest version of their encoder product, rather than having to figure out which version of WMF runtime is installed or even available for their OS.

Q: What are the benefits of the VC-1 Encoder SDK over the WM Format 11 SDK?

A: From a developer’s point of view, the VC-1 Encoder SDK is easier to set up and configure for encoding to VC-1 Elementary Streams which can then be muxed to a plethora of output formats (ASF, MP4, AVI, MPEG-2 TS, etc.). All controls that have previously been exposed through cumbersome registry keys are now fully configurable via the API. Compared to the WMF11 codec, the VC-1 Encoder SDK also offers faster performance (optimized for SSE3, SSSE3 and SSE4), improved quality, and a variety of new features such as new CBR ratecontrol, dynamic complexity balancing, native hardware acceleration (i.e. Tarari) API support, etc. The “Enterprise” SKU of the SDK offers segment re-encoding and workstation grid support that has so far only been available to professional studios.

Q: Are there plans to make this VC-1 Encoder SDK freely available for download or through MSDN subscriptions?

A: After an initial commercial-only offering of the SDK, Microsoft has decided to make the Professional SKU of the VC-1 Encoder SDK available as a free download to everyone. If you are an independent developer interested in building VC-1 encoding solutions, you can download the free SDK version here:

Please refer to the End-User License Agreement for rules and licensing obligations related to using the Professional SDK.

One Response to VC-1 SDK FAQ

  1. Pingback: High Definition Television - XAML Blog