Once I’ve answered the same question in three different emails, I figure it’s time to blog it. By that metric, I should have blogged this about 17 times over by now!
Is VC-1 the same as Windows Media Video 9?
Yes, the big picture: VC-1 is the SMPTE standardized version (SMPTE 421M) of Windows Media Video 9. The output of of a VC-1 encoder is bitstream compatible with a Windows Media Video 9 decoder that supports the profile, level, and features used.
Is VC-1 the same thing as WMV?
Note that the VC-1 spec just defines the video bitstream; it doesn’t cover the ASF (used in .wmv and .wma) file format or any WMA codec. VC-1 Advanced Profile can live in a variety of other file format wrappers, including MPEG-4 (standard or fragmented, the latter being used in Smooth Streaming) and MPEG-2 transport stream (as used on Blu-ray or IPTV). Only VC-1 Advanced Profile has this kind of format independence; VC-1 Simple and Main profiles are always found inside a WMV file.
Can I use Expression Encoder to make files that play in Windows Media Player 9?
Yes, absolutely. VC-1 Main Profile is identical to the old Windows Media Video 9. A Windows Media file you make using VC-1 Simple and Main will work perfectly in WMP 9 out of the box. A stock XP Service Pack 2 machine that hasn’t been updated in years would play it without issue.
Will users have to install a update if I encode with VC-1?
No, everyone with Windows Media Player 9 or higher can play VC-1 Main Profile already. Windows Media Player 11 can play Advanced Profile as well. Users or WMP 9 or 10 will be prompted to install a VC-1 Advanced Profile decoder if they try to play a WMV file using that.
Can I encode for Blu-ray from Windows Media Encoder?
So, Since Windows Media Video 9 Advanced Profile is the same as VC-1 Advanced Profile, and VC-1 AP is supported on Blu-ray, can you encode a Blu-ray compatible stream in Windows Media Encoder?
Nope, sorry. There are further constraints for Blu-ray VC-1 that need to be followed, and WME and the Windows Media Format SDK weren’t designed to support that level of constraint. The VC-1 Encoder SDK was designed with optical discs in mind, and can produce a Blu-ray compatible VC-1 elementary stream with products that expose it. Expression Encoder 2 doesn’t do elementary streams, but Rhozet’s Carbon Coder 3.12 and higher do.
How do Windows Media Video 9 and VC-1 Profiles relate?
Here’s the details.
|VC-1 Profile||Windows Media codec||WME Decoder Complexity||Four Character Code (4CC)||Introduced with…||Downlevel to…|
|VC-1 Simple Profile||Windows Media Video 9||Simple||WMV3||WMP 9||WMP 6.4|
|VC-1 Main Profile||Windows Media Video 9||Main||WMV3||WMP 9||WMP 6.4|
|Windows Media Video 9||Complex||WMV3||WMP 9||WMP 6.4|
|Windows Media Video 9 Advanced Profile||WMVA||WMP 10||WMP 9|
|VC-1 Advanced Profile||Windows Media Video 9 Advanced Profile||WVC1||WMP 11||WMP 9|
Following up on the above, there’s a couple of points I’d like to make clear
- Windows Media Video 9 originally had three profiles: Simple, Main, and Complex. Simple and Main are the same as the VC-1 Simple and Main Profiles. Complex was deprecated, and evolved into Advanced Profile. As Complex isn’t part of the VC-1 spec, it will normally only work on decoders from Microsoft, or based on Microsoft’s porting kit implementations.
- There were two flavors of Windows Media Video 9 Advanced Profile. The first, with a “WMVA” 4CC, was introduced with WMP 10 and used as the basis for VC-1 but some changes were made in the final specification that kept it from being entirely compatible. An updated VC-1 compliant version of Windows Media Video 9 Advanced Profile with a “WVC1” 4CC was introduced with WMP 11, and that is what should be used.
- Anyone wanting to make WMV 9 Advanced Profile needs to either have Format SDK 11 installed (the easiest way is to install WMP 11) or use a VC-1 Encoder SDK based product like Expression Encoder 2.
This is where Simple/Main/Complex profiles are set in Windows Media Encoder:
If it’s the same codec, why are there different Windows Media Video 9 and VC-1 Encoders?
All that said, there is one last practical difference between WMV 9 and VC-1: Encoders that call it VC-1 are normally based on the newer, faster, higher quality, more flexible VC-1 Encoder SDK. This isn’t about a change in the codec standard, just the usual improvement of encoder implementations over time, like we saw with the Format SDK 9, 9,5, and 11 releases, and will be seeing again in future releases.
Here’s a comparison of the gains from the initial release (1st generation) to VC-1 Encoder SDK (4th generation).