Microsoft DirectX 9.0

What's New in DirectShow 8.0?

Windows Media Format Support

Two new filters enable DirectShow applications to read and write files in Microsoft® Windows Media™ Format. The ASF Reader filter reads and parses Windows Media Format files. The ASF Writer filter writes Windows Media Format files; it also does the necessary multiplexing and compressing. DirectShow and the Windows Media Software Development Kit offer complementary solutions for writing applications that create and playback Windows Media Format stream.

DirectShow Editing Services

DirectShow Editing Services is an API that supports video editing and sequenced video playback. You can use DES to create a wide range of applications. For example, with just a few method calls, you can sequence together audio and video clips, add an effect, and play back the result. Or, you can create a entire video editing system. DES is built on top of the core DirectShow architecture. It provides a set of interfaces designed specifically for nonlinear video editing.

DES replaces cutlists, which are no longer supported.

New DVD Support

Two new interfaces, IDVDControl2 and IDVDInfo2, greatly expand the functionality of the DVD Navigator. The new MSWebDVD ActiveX® control makes this functionality available to script-based applications. New DVD features include the following, among others:

New MPEG-2 Transport and Program Stream Support

A new filter, the MPEG-2 Demultiplexer, provides support for MPEG-2 transport streams and program streams in push-mode (for receiving data from live sources).

Microsoft® TV Technologies (Broadcast Driver Architecture)

Microsoft® TV Technologies includes support for the new Broadcast Driver Architecture (BDA) and the Microsoft Tuning Model. The Broadcast Driver Architecture defines a framework that supports various component topologies for receiving digital and analog television. It includes software components for network configuration and control, demultiplexing, table parsing and IP Data delivery for the main digital TV standards including DVB and ATSC. The Tuning Model is a set of objects that enables applications to easily tune across various network types in a simple and uniform manner.

DirectX Video Acceleration

For decoder developers: DirectX Video Acceleration is an Application Programming Interface (API) and a corresponding Device Driver Interface (DDI) for hardware acceleration of digital video decoding processing, with support of alpha blending for such purposes as DVD subpicture support. It provides an interface definition focused on support of MPEG-2 "main profile" video (formally ITU-T H.262 | ISO/IEC 13818-2), but is also intended to support other key video codecs (for example ITU-T Recommendations H.263 and H.261, and MPEG-1 and MPEG-4).

New Filters

DirectShow includes several new filters:

New Filter Graph Features

The filter graph manager supports several new features:

Changes to the Build Environment

A new header file, DShow.h, replaces the previous header file, Streams.h

The filter base classes now appear in the \Samples\BaseClasses directory under the SDK root directory. To use them, you must build the base-class library and link to it in your project.

New GraphEdit Features

GraphEdit includes some new features that enhance its use as a testing and debugging tool.

DirectX Media Objects

DirectX Media Objects (DMOs) are a new way to write data-streaming components. Like DirectShow filters, DMOs take input data and use it to produce output data. However, the application programming interfaces (APIs) for DMOs are much simpler than the corresponding APIs for DirectShow. As a result, DMOs are easier to create, test, and use than DirectShow filters.

DMOs are fully compatible with DirectShow. You can use a DMO like a filter when you need the services that DirectShow provides, such as graph synchronization, intelligent connection, automatic handling of data flow, and thread management. However, DMOs do not require a filter graph, so applications can use DMOs without using DirectShow.

Media Parameters

Media parameters are a new set of APIs that support run-time changes to an object's properties. They offer precise control over properties that change rapidly and require both high performance and repeatability. They enable a property to follow an exact curve, such as a sine wave or inverse-square curve, in real time.

Using media parameters, data transform objects can support a standard interface for controlling run-time behavior. They are particularly useful for audio effect DMOs and filters. For example, in an echo effect, the ratio of wet (processed) signal to dry (unprocessed) signal can follow a smooth curve. This type of behavior is critical in audio engineering, to avoid introducing artifacts into the recording.