Media_Dev
The Evolution of DirectShow
jaster
2008. 11. 4. 11:47
반응형
The first support in Microsoft Windows for video capture was provided through Video for Windows (VfW) for Windows 3.1. VfW was pretty good for its time, but it had certain limitations. Chief among these was the fact that the Video Compression Manager (VCM) was not designed to handle codecs that put video frames into a different order during the compression process. This meant that it would be difficult to write VCM-based MPEG codecs.
Windows also provided simple audio-video playback support through the Media Control Interface (MCI) command set, which used the mciavi driver. Although the MCI infrastructure allowed for MPEG decoders, it was never fully ported to the 32-bit world, and it was not based on COM. To address these limitations, Microsoft began a project known as Quartz whose initial charter was to provide MPEG-1 file playback support for Windows.
Put yourself in the shoes of the Quartz team for a moment. You see on the horizon a multitude of new devices, such as digital video camcorders, new media formats such as MPEG-2 and DVD, and new technologies such as video conferencing. You see that what is really needed is a framework in which all these new technologies can work together seamlessly, with maximum efficiency, not only with each other but also with legacy technologies. Furthermore, this framework should be extensible so that third parties can provide support for special hardware capabilities, nonstandard formats, and software processing operations. The framework should simplify application development as much as possible, while still providing the ability to control low-level streaming operations and modify audio-video data when necessary.
To address these broader requirements, the Quartz team started with an existing project called Clockwork. Clockwork was a modular framework in which semi-independent components worked together, following a prescribed set of rules, to process digital media streams in whatever way was required by an application. The Quartz team adapted this model to work with Windows and continually evolving third-party devices. The result was a COM-based streaming architecture that over the past six years has served as the basis for hundreds of Windows digital media applications.
The architecture was initially named ActiveMovie®, and it first shipped in 1995 with the DirectX® Media SDK, around the same time that Microsoft Internet Explorer 3.0 was released. In 1996, ActiveMovie was renamed DirectShow. In 1998, with DirectX Media 6.1, support was added for DVD and analog television applications. In 2000, DirectShow became part of the DirectX SDK with DirectX 8.0, and support was added for Windows Media Format and DirectShow Editing Services, a video editing API. The current version of DirectX is 8.1, with version 9.0 available in beta.
반응형