DVD and Windows
Home Up Feedback Contents Search

Playing DVDs Under Microsoft Windows

Under the Windows 98 and Windows 2000 operating systems, the following components comprise support for DVD movie playback:

bulletDVD-ROM class driver. DVD-ROM has its own industry-defined command set, referred to during development as the Mt. Fuji command set and currently under review by the Small Form Factor Committee (to be published as SFF 8090). Support for this command set is provided in Windows 98 by an updated CD-ROM class driver. This class driver supports the full Mt. Fuji command set, including commands for copyright protection. In Windows 2000, support is provided in a new Windows Driver Model (WDM) DVD-ROM device driver. Both the Windows 98 and Windows 2000 drivers will provide the ability to read data sectors from a DVD-ROM drive.
bulletUDF file system. Support for Universal Disc Format (UDF) is provided to ensure support for UDF-formatted DVD discs. Both Windows 98 and Windows 2000 will provide UDF installable file systems similar to FAT and FAT32.
bulletWindows Driver Model Streaming Class Driver. This is a single binary fully compatible across both Windows 98 and Windows 2000, written to follow the new WDM support defined by Microsoft. The WDM Streaming class driver supports streaming data types and will support MPEG-2 and AC-3 hardware decoders in Windows 98 and Windows 2000. Because Microsoft is providing this driver with its operating systems, hardware vendors have to write only a small amount of interface code in a minidriver to ensure that the specific features in their hardware are supported natively under Windows. Because of this, most existing DVD decoders should simply work with Windows without any user intervention. For more information, see WDM Streaming Class Driver later in this article.
bulletDirectShow. Microsoft DirectShow (formerly ActiveMovie) filters and related support include a DVD Navigator/Splitter, proxy filters for video and audio streams, a video mixer, video renderer, audio renderer, and more. For more information, see DirectShow and DVD Support later in this article.
bulletDirectDraw HAL with VPE. Decoded video streams are huge -- possibly too big even for the PCI bus on a personal computer. Manufacturers have solved this problem by creating dedicated buses to transfer decoded video streams from an MPEG-2 decoder to the display card. Microsoft provides software support for these interfaces using the Microsoft DirectDraw® hardware abstraction layer (HAL) with Video Port Extensions (VPE). For technical information about DirectDraw, see the Interactive Media and Game Developers web site.
bulletCopyright Protection. Copyright protection for DVD is provided by encrypting key sectors on a disc and then decrypting those sectors prior to decoding them. Microsoft will provide support for both software and hardware decrypters using a software module that will enable authentication between the decoders and the DVD-ROM drives in a PC. For more information, see DVD and Copyright Protection later in this article.
bulletRegionalization. As part of the Copyright Protection scheme used for DVD, six worldwide regions have been set up by the DVD Consortium. Discs are playable on DVD devices in some or all of the regions according to regional codes set by the creators of the content. Microsoft will provide software that responds to the regionalization codes as required by the DVD Consortium and as part of the decryption licenses.

WDM Streaming Class Driver

Computers traditionally have been very good at performing complex operations on data. The PC owes its success as a device to its tremendous abilities to crunch numbers. The PC usually loads an application that is then called upon to load into memory and process a large amount of data, such as a spreadsheet, or a complex newsletter, a database, or even a .WAD file in Doom. After the data file has been loaded, the application interacts with small pieces of the data file.

Multimedia brings new, different problems for the PC to solve, and this is especially apparent in the case of streamed data. The streaming of data involves the loading of an application (as in the previous example), but the application is now responsible for handling large amounts of data in a constant load, or stream, over time. The application never loads the file completely into memory -- it is far too huge and the operations on it are typically sequential in nature. The best example of this for DVD is an MPEG-2 video stream. When a user asks the PC to play an MPEG-2 file, a program loads and begins the complex process of moving -- that is, streaming -- the MPEG-2 data across the PC to be decoded and displayed. The data might enter and exit the host processor and bus of the PC several times during this process. To add to the complexity of the problem, an MPEG-2 stream starts out at a rate of around 5 - 10 megabits per second. After the stream is decoded, it can easily exceed 100 megabits per second. A single data stream this big can saturate and overwhelm a PC's PCI bus, meaning that an alternate path might be required for the raw, decoded video data. A single stream demands a potentially large and constant load on a PC over what could be a long time in PC terms. In the case of DVD, the system must be able to manage and decode at least four separate streams (MPEG-2 video, AC-3 or MPEG-2 audio, subpicture, and navigation) independently, and this must be done so that the streams are totally in synch when they reach their final destinations, with no dropped frames or degraded video. This requires precision in load balancing, synchronization, and processing. The WDM Streaming class driver was designed to deal with all of the issues highlighted above. It is optimized to work with any devices that deal with streamed data. This includes devices that encode data (such as video capture devices) and devices that decode data (such as DVD hardware decoders that decode MPEG-2 streams for playing DVD movies). This class driver uses the standard WDM interface for interconnecting device drivers to optimize data flow within the Windows 98 or Windows 2000 kernels. The WDM Streaming class driver also deals with common operating system tasks such as direct memory access (DMA), scatter/gather memory use, and Plug and Play. The WDM Streaming class driver can function on both hardware cards and external buses such as USB or IEEE 1394. As a class driver, the WDM Streaming class driver is designed to cover an entire category of hardware devices, with each device supported by a minidriver supplied by the manufacturer. This significantly reduces the amount of code required to support a device -- provided, of course, that the device follows standard design specifications and principles. For example, the Streaming class driver does the following:

bulletAbstracts Connection and Streaming Architecture pin implementation from the minidriver.
bulletHandles all low-level buffer management and IOCtl parameter validation.
bulletTimes all requests, using a watchdog timer.
bulletImplements optional routine synchronization and request serialization to allow the minidriver to be multiprocessor safe and non-reentrant.

A key benefit with the WDM Streaming class is that it results in a single driver model for MPEG, video capture, USB audio and video, IEEE 1394 audio and video, and other streaming hardware. This means that developers creating drivers for multifunction devices can build on the Streaming class, working with a single driver model that works for all data types. This is a great improvement over previous cases, where for DVD the developer would have to create drivers using different driver models for MPEG-2, audio, MIDI, and subpicture. It is important to note that the WDM Streaming class driver was designed to work with an array of streaming hardware and software implementations. Because of this, it is designed to take individual, or component, streams. For DVD, this means that DirectShow will split the individual DVD program stream into component streams (AC-3, MPEG-2, subpicture, navigation) and will then feed them separately (in parallel) to the WDM Streaming class driver. This architecture provides flexibility in architecture and design, allowing for any combination of hardware and software decoding of component streams. Designers can dedicate special-purpose hardware where it makes sense, and use host-based software where that makes sense, and know that Windows will manage the streams optimally to allow for the best playback possible. This architecture is opposed to one where the DVD decoding hardware will only accept an original, interleaved DVD program stream. To most effectively utilize the WDM Streaming class driver, all streaming hardware and software should be designed to take and decode component streams, instead of splitting the streams in hardware. For DVD under Windows 98 and Windows 2000 operating systems, audio serves as the master clock for synchronization. The operating system reads the current audio time stamp and adjusts video to this by holding or skipping frames. The adjustment occurs infrequently, because the clocks are the same frequency and there is little drift. For more information about WDM, see the WDM for Windows 98 and Windows 2000 article.

DirectShow and DVD Support

DirectShow provides support for many DVD playback capabilities, including:

bulletA standard DirectShow interface to allow any application to fully control DVD playback, including non-linear video playback and user interactivity.
bulletInterlaced video media types.
bulletAudio media types with more than two channels.

The following DirectShow filters are provided by Microsoft:

bulletDirectShow DVD Navigator/Splitter Filter. This filter provides the intelligence for playing DVD movies. It understands the programming language embedded in DVD movies, parental control, and multiple languages, and it 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 reacts to commands in the stream and handles all user input.
bulletDirectShow 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 this filter to be expanded for new interfaces.
bulletDirectShow Closed-Caption Decoding Filter. This filter converts into text images the closed-caption data that might be included in a DVD video stream.
bulletDirectShow Overlay Mixer Filter. This filter enables playback of video using hardware video ports while overlaying a low-bandwidth video sequence, such as the closed caption decoder output.

Note: Microsoft does not provide MPEG-2 or AC-3 software decode filters with Windows 98. The proxy filters support hardware decoding of those media types. For more technical information about DirectShow, see the web site for the Microsoft DirectShow SDK.

DVD as Storage Device and Media

Under Windows 98 and Windows 2000, DVD can be viewed as simply a large storage medium, much like CD-ROM today. To enable DVD-ROM as a read-only device, Microsoft is providing DVD-ROM device support in Windows 98 and Windows 2000, as well as support for the Universal Disc Format (UDF) version 1.02 as installable file systems. This support is completely independent from DVD-Video movie playback, copyright protection, and other issues. Using these drivers, a DVD-ROM drive is treated as another peripheral, following industry-defined methods for accessing DVD discs and handling encrypted content.

Microsoft plans to provide support for writable DVD discs at a later date.

DVD and Copyright Protection

Microsoft is in favor of technical and legal methods for protecting copyright holders rights and has been involved in the DVD Copyright Protection meetings since their inception. Microsoft worked with the multi-industry Copyright Protection Technical Working Group (CPTWG), which announced in November 1996 that its DVD technology subcommittee proposed solutions for preventing unauthorized copying of filmed entertainment from prerecorded DVD-Video. The subcommittee proposed controls using a scrambling scheme first proposed by the DVD Consortium for encrypting disc content and licensing the decryption technology.

Microsoft will provide software that facilitates the authentication process required by this scheme, allowing a DVD-ROM drive to authenticate and transfer keys with a DVD decrypter. Microsoft has no current plans to ship a DVD decrypter, and instead is providing operating system code that will act as the agent to allow either hardware or software decrypters to be authenticated.

For more information, contact the DVD Copyright Protection information source, James Riley at Matsushita Electric Corp. of America, (201) 392-6867.

DVD Hardware Design and Windows Operating Systems

Requirements for hardware designed for optimal performance under Windows 98 and Windows 2000 are defined in the current PC System Design Guide guidelines.

The following list summarizes the specific PC 99 requirements defined for DVD hardware:

bulletBus master capabilities. Bus mastering is required for DVD and must meet the related specification for the particular controller. For example, the programming register set for PCI IDE bus master DMA is defined in Small Form Factor (SFF) 8090. Correctly implemented bus master support ensures improved performance and Windows-compatible device driver support.
bulletMinimum required data formats. At a minimum, the DVD device must be compatible with these formats to ensure that earlier media can be read by the DVD device:
bulletLogical formats: CD Red Book, Yellow Book, White Book, Orange Book parts II and III, Blue Book, UDF versions 1.5 and 2.0, and DVD video, if applicable.
bulletPhysical formats: ROM (stamped), Orange Book part II (CD-R) and part III (CD-RW), and ECMA-267 and ECMA-268 (DVD-ROM)
bulletCompliant with command sets for DVD. The device must be compliant with SFF 8090 or higher for ATAPI DVD-ROM drivers. Specifications are yet to be defined for SCSI or IEEE 1394 DVD-ROM drives.
bulletHigh-speed expansion bus. The DVD hardware must use a bus that supports high-speed transfer of multiple data types. If a DVD drive is provided, the minimum transfer rate must be at least 2 B per second for read operations from the disk.
bulletVideo and audio subsystems meet PC 99 DVD playback requirements for DVD Video. Systems that support video discs must be capable of properly decoding and displaying or playing the appropriate data streams. These requirements are defined in the current PC System Design Guide.
bulletFile system accessible from the Windows operating system. The drive will support UDF as defined in the DVD Alliance specification.
bulletPush-to-close design, if motorized capabilities are included. A motorized design is not required, but if it is implemented, the device must be designed so the user has three options to close the device when inserting a disc:
bulletPhysically push on the bay
bulletPhysically push the close button on the bay housing
bulletSelect software-supported option to close the device
bulletDefect management. The drive must support defect management transparent to the operating system according to industry standards, as defined in the DVD specification, Book A: Physical Specifications. Defect management for DVD-RW is defined in ECMA-274.
bulletMedia Status Notification. Media status notification is required. It must comply with ANSI NCITS T10 Multi-Media Command Set-2 (MMC-2) standard for media status event notification.

COPYRIGHT NOTICE. Copyright © 1999 Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052-6399 U.S.A. All rights reserved

Thanks to everyone visiting this site.

Send email to doug@hometheaterinfo.com with questions or comments about this web site.
Copyright © 1999-2021 Home Theater Info