DVD Decoder Support in Windows

Note

This topic is intended for developers. For general information about DVD decoders for Windows, including a list of software decoders, see Plug-ins and add-ons for Windows Media Player on the Microsoft Support site.

DVD decoders are supported in Windows 98/Me and later as well as Windows 2000 and later.

To write a DVD decoder minidriver, the minidriver must include the ksmedia.h and ntddcdvd.h header files that are provided in the WDK. The minidriver must also link to the stream.lib, ks.lib, ksguid.lib, and dxapi.lib libraries.

Under Windows XP, the following components support DVD decoding and playback:

  • WDM Stream Class Driver

    The WDM stream class driver supports streaming data types and MPEG-2 and AC-3 hardware decoders. For more information, see Streaming Minidrivers.

    Note

    Microsoft does not provide MPEG-2 or AC-3 software/hardware decoder filters with Windows XP. Vendors must supply either a DirectShow-compatible software decoder for each required DVD data stream, or provide a WDM streaming-compatible DVD decoder minidriver to support their DVD hardware decoders.

  • DVD-ROM Class Driver

    Support for the DVD-ROM command set, including commands for copyright protection and regionalization, is provided in Windows XP by an updated CD-ROM class driver. This class driver provides the ability to read data sectors from a DVD-ROM drive.

  • UDF File System

    NT-based operating systems provide a UDF-installable file system, similar to FAT and NTFS. This installable file system supports UDF-formatted DVD discs.

  • Microsoft DirectShow

    DirectShow filters and related support include a DVD navigator/splitter, proxy filters for interfacing with the hardware decoder minidrivers for video, subpicture and audio streams, line21 decoder (closed caption), a video mixer, video renderer, and an audio renderer.

    • DirectShow DVD Navigator/Splitter Filter

      The DVD navigator/splitter filter interprets the programming language embedded in DVD movies, parental control, multiple languages, and processes most DVD-specific data structures. This filter reads the DVD stream directly from a DVD disc and produces individual media type outputs, such as audio, video, and subpicture. The filter responds to commands in the stream and handles all user input.

    • DirectShow Proxy Filter

      This filter converts DirectShow interfaces to WDM connection and streaming architecture properties. It creates (that is, instantiates) a device object for each data type to be decoded in hardware, such as audio and video data types. This filter supports plug-ins that allow expansion for new interfaces.

    • DirectShow Closed-Caption Decoding Filter

      This filter converts closed-caption data in a DVD video stream into text images.

    • DirectShow Video Port Manager and Rendering Filters

      These filters enable playback of video using hardware video ports, and provide support for blending low-bandwidth video streams, such as the closed caption decoder output stream.

  • Microsoft DirectDraw HAL with VPE

Dedicated buses transfer decoded video streams from an MPEG-2 decoder to the display card. Microsoft provides software support for these interfaces by using the DirectDraw hardware abstraction layer (HAL) with video port extensions (VPE) to pass video that was decoded in hardware to the video graphics array (VGA). For software decoders, the accelerated graphics port (AGP) bus can be used to transfer the decoded video to the VGA.

  • Copyright Protection

    Copyright protection for DVD is provided by encrypting sectors on a disc and then decrypting those sectors before decoding them. Microsoft supports both software and hardware decrypters by way of the DVD navigator/splitter, which oversees the authentication sequence between the decoders and the DVD-ROM drives in a computer. The key exchange sequence is implemented through properties sent to the DVD decoder minidriver's input pins.

There are two primary forms of DVD playback:

Hardware-based DVD Decoding

Software-based DVD Decoding

The following topics summarize the DVD decoder related kernel streaming properties and events:

DVD Decoder Related KS Properties

DVD Decoder Related KS Events