Windows Media Codecs
The Windows Media Audio and Video codecs are a collection of objects that you can use to compress and decompress digital media data. Each codec consists of two objects, an encoder and a decoder. This part of the documentation describes how to use the features of the Windows Media Audio and Video codecs to produce and consume compressed data streams.
This documentation is primarily for developers who want to use Windows Media codecs in their C++-based media applications. For a technical overview of the features of the Windows Media codecs, see About the Windows Media Codecs.
The term codec is an amalgamation of the terms compressor and decompressor. A codec is usually implemented as a pair of COM objects: one for encoding content, and another for decoding content. In some cases the COM objects occupy the same dynamically linked library (DLL).
Every codec object implements two separate but similar interfaces:
|IMFTransform||Compatible with Microsoft Media Foundation.|
|IMediaObject||Compatible with DirectShow.|
Not only are there different codecs for audio and for video, but also different codecs for different kinds of content that you might want to put into an audio or video file. The algorithms used to compress and decompress data for spoken words differ from the algorithms used to compress and decompress music data.
The following table describes the intended uses of the Windows Media codecs.
|Windows Media Audio||An audio codec that supports three categories of encoded content: Standard, Professional, and Lossless.|
|Windows Media Audio Voice||Audio codec optimized for encoding the human voice at high compression ratios. This is the preferred codec for streams consisting mostly of spoken words. For content that is mixed music and speech, this codec can dynamically change the encoding algorithm used, to get optimal quality.|
|Windows Media Video 9||A video codec that supports four categories of encoded content: Simple Profile, Main Profile, Advanced Profile, and Image..|
|Windows Media Video 9 Screen||Video codec optimized for encoding sequential screen shots from computer monitors. This codec is often used for software training or support by recording monitor images while computer applications are being used.|
The most recent versions of the codec objects also enable access to some legacy codecs, including Windows Media Video 7 and 8, Windows Media Screen 7, the older Microsoft MPEG-4 codecs, and the Microsoft ISO MPEG-4 codecs.
This documentation does not cover these legacy codecs; it covers only the current versions of codecs.
For older codecs, use the same procedures as when using the current codecs; however, remember that not all features are supported in all codecs.
In this section
- About the Windows Media Codecs
- Using the Codec and DSP Objects
- Encoding Methods
- Codec Implementation
- The Leaky Bucket Buffer Model
- Working with Codec DMOs
- Working with Codec MFTs
- Working with Audio
- Working with Video
- Storing Compressed Media in AVI Files
- Using VBR Encoding
- Using Two-Pass Encoding
- Getting Encoding Statistics
- Using Data Unit Extensions
- Codec and DSP IPropertyBag Constants
- Table of Contents Parser
- Windows Media Codec FAQ