Introduction | How DirectDraw Improves Video Playback
Introduction
Indeo® video is Intel's digital video software
technology for compressing and playing video on personal desktop
computers. The most important factor for smooth playback, even
of video files with high frame rates and large windows, is processor
speed. Many other variables play a role, however, and another
key variable is your graphics card. A graphics card that supports
some or all of the features of Microsoft's DirectDraw*
architecture can go far towards improving video playback on your
PC.
This document explains how DirectDraw architecture
helps improve video playback performance.
How DirectDraw Improves Video
Playback
When you view a video file on a PC without DirectDraw
support, the application playing the video (for example, Media
Player) sends the data to the operating system's video
playback environment, Video for Windows.* Video for Windows in
turn sends the data to the Graphics Device Interface, the same
interface that draws pixels on the display for nonmultimedia applications
such as word processors or spreadsheets. Such applications, however,
do not have the same need for speed as a video player does. This
is illustrated in Figure 1.
Figure 1. Graphics Applications Without DirectDraw Support
When you view a video file on a PC that has DirectDraw
support, the application playing the video (for example, Media
Player) sends the data to the operating system's video
playback environment, Video for Windows. Video for Windows sends
the data to DirectVideo*, which in turn sends it to DirectDraw
for manipulation, bypassing the relatively slow Graphics Device
Interface. DirectDraw communicates with your graphics card by
means of its device drivers, and the graphics card writes the
video image to your display. This is illustrated in Figure 2.
Figure 2. Graphics Applications With DirectDraw Support
DirectVideo
As you can see from Figure 2, when you run Video
for Windows under Windows 95, DirectVideo is required to
connect to DirectDraw. Ordinarily, this connection is made without
any action necessary on your part. However, if you are manipulating
the drivers for your graphics card (for example, downloading updated
ones), you must ensure that the manufacturer also provides the
DirectVideo driver dvideo.dll if that graphics card supports
DirectDraw.
ActiveMovie*
When Microsoft ships ActiveMovie, it will replace both Video for Windows and DirectVideo, as illustrated in Figure 3.
Figure 3. Graphics Applications With ActiveMovie
How Your Operating System Plays Video Files
PCs that use operating system software only to play
video do so as follows:
- The application sends one frame of the video
file to the Indeo video codec.
- The video frame is held in system memory, where
the Indeo video codec uses the Pentium® processor to decompress
it. The amount of data grows.
- The processor next converts the color information
from the compact form used by the codec to the RGB form required
by the PC monitor. The amount of data grows again.
- If you ask the application to double the window
size, the processor performs the calculations necessary to do
so. The amount of data grows yet larger.
- The resulting large amount of data is sent over
the bus to the graphics hardware responsible for writing to the
display.
This process is illustrated in Figure 4.
Figure 4. Software-only Video Playback
If your graphics card can take advantage of some
or all of the capabilities afforded by DirectDraw, however, the
process is instead as follows:
- The application sends one frame of the video
file to the Indeo video codec.
- The codec decompresses the frame in system memory.
- This relatively small amount of decompressed
data is sent over the bus to the memory on the graphics card,
transparently to the application.
- Special, optimized code running on the graphics
card converts the color information.
- If you ask the application to double the window
size, special, optimized code running on the graphics card does
so.
- The data is written to the display.
This process is faster in three ways:
- Much less data is sent over the bus, decreasing
the time needed to transfer it.
- Color conversion runs faster because the code
on the graphics card is especially optimized for the operation.
- Enlarging the window is also faster for the same
reason.
Depending on the details of color conversion and
video content, the image quality may also improve.
The hardware-assisted process is illustrated in Figure 5.
Figure 5. Video Playback Assisted by DirectDraw Software and Graphics
Hardware
Where to Get DirectVideo and DirectDraw
Support for DirectVideo and DirectDraw are provided
in graphics card drivers. Contact your graphics card manufacturer
for more information and the latest software support.
|