Playing DVDs Under Microsoft Windows
Under the Windows 98 and Windows 2000 operating systems, the following components comprise support for DVD movie playback:
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:
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:
The following DirectShow filters are provided by Microsoft:
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:
COPYRIGHT NOTICE. Copyright © 1999 Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052-6399 U.S.A. All rights reserved