## DVD for Title Vendors

DVD-Video discs typically contain programs such as feature films, interactive games, or video reference materials like encyclopedias. The end user can play back those programs on a DVD-Video player or on a DVD-ROM-equipped computer. Some of the features of DVD-Video include support for multiple languages, parental control, different camera angles, and closed captioning.

This article discusses the unique features of DVD that are not available in pure MPEG-2 (its parent format) and outlines the interfaces and methods DirectShow provides in support of those features.

DVD-unique features include the following:

- Better seeking
- Subpictures
- Multiple language support
- Variable speed play (forward/backward scan)
- Consumer DVD interactivity
- Seamless video angle change
- Parental control

Title vendors can create feature-rich applications by taking advantage of these DVD-Video features.

Note This release of DirectShow supports DVD-Video. It does not support pure MPEG-2.

See Additional DVD Resources on the Web for a list of DVD resources on the Web.

Contents of this article:

- DVD Interfaces
- DVD Control Data Structure
- DVD Features
  - Seeking in DVD
  - Subpicture
  - Multiple Language Support
  - Variable Speed Play
  - Consumer DVD Interactivity
  - Seamless Video Angle Change
  - Parental Control
- Additional DVD Resources on the Web

DVD Interfaces

DirectShow provides the following DVD-related interfaces.

Interface | Purpose
IDvdGraphBuilder | Allows the DVD application writer to easily build a filter graph for DVD-Video playback.
IDvdControl | Controls the playback and search mechanisms of a DVD-Video disc that contains one or more video movies.
IDvdInfo | Allows an application to query for attributes of available DVD-Video titles and the DVD player status. It also allows for control of a DVD player beyond Annex J in the DVD specification.

Later sections of this article group methods from these interfaces into functional categories.

DirectShow also provides a number of events. See DVD Events for more information.

DVD Control Data Structure

DVD-Video contains a nested hierarchy that provides search capabilities at several levels in the DVD data. This nested "control data" points to the real video and audio data. The following table outlines the structure of the control data for a DVD-Video volume. Each DVD volume can contain from one to 99 video title sets, which can contain one or more titles, which can contain one or more program chains. This nested structure continues to the smallest unit, which is the "pack." DirectShow provides seeking capabilities for DVD at three distinct levels, as outlined in Seeking in DVD.

DVD-Video Volume Structure

Control Data | Description
Video Title Set (VTS) | Collection of movies. A single volume can contain one to 99 video title sets.
Title | Individual movie. This may be a simple linear movie, consisting of one program chain, or it might consist of several program chains.
Program Chain (PGC) | A collection of programs (often chapters in a movie).
Chapter/Part of Title (PTT) | Collection of programs. Can delimit scenes or provide optional scenes from which to choose. Possible options include different ratings, camera angles, or a different storyline.
Program (PG) | Collection of cells, which normally make up a scene.
Cell | Collection of Video Object Units. Typically all the video and audio data from a certain number of Video Object Units.
Cell-Part | Stream of data (multi-angle only).
Video Object Unit (VOBU) | Usually half a second of video.
Pack | 2KB of data, consisting of only one media type (such as video or audio).

Pure MPEG-2 supports only the title and pack from the list above.

DVD Features

This section outlines features specific to DVD-Video and lists the DirectShow methods that provide these features.

Seeking in DVD

DirectShow enables you to seek at several different levels within the DVD content. Because pure MPEG-2 supports only title and pack control data, it does not provide the flexibility in seeking that DVD does.

The following table shows the DirectShow DVD methods for seeking at various levels.

Seeking level | Control data | IDvdControl methods
Title Seeks | Video Title Set (VTS), Title, Program Chain (PGC) | TitlePlay
Chapter Seeks | Chapter/Part of Title (PTT), Program (PG), Cell | ChapterPlay (specifying title and chapter number), ChapterSearch (search for a chapter within the same title), PrevPGSearch, TopPGSearch, NextPGSearch
Time Seeks | Cell-Part, Video Object Unit (VOBU), Pack | TimePlay (start playing specified title from specified time), TimeSearch (start playing from specified time within the same title)

Subpicture

Subpicture is an extra media type that is decoded and alpha blended. The data on the alpha channel could be text for closed-captioning, buttons to provide a user interface, menus, subtitles, credits, and so on.

Methods relating to subpicture include the following:

- IDvdControl::SubpictureStreamChange
- IDvdInfo::GetCurrentSubpicture
- IDvdInfo::GetSubpictureLanguage
- IDvdInfo::GetCurrentSubpictureAttributes

Multiple Language Support

DVD-Video provides support of up to eight audio tracks to accommodate various languages. It also supports text in different languages for statistics related to the DVD title such as cast, crew, or title.

Methods relating to language support include the following:

- IDvdControl::MenuLanguageSelect
- IDvdInfo::GetAudioLanguage
- IDvdInfo::GetSubpictureLanguage

Variable Speed Play

DirectShow provides variable speed play through the IDvdControl::ForwardScan and IDvdControl::BackwardScan methods:

Consumer DVD Interactivity

The consumer of a DVD title can interact with the title by selecting and activating buttons, displaying menus, and using the mouse to select and activate buttons.

Methods relating to consumer interactivity include the following:

- IDvdControl::MenuCall
- IDvdControl::UpperButtonSelect
- IDvdControl::LowerButtonSelect
- IDvdControl::LeftButtonSelect
- IDvdControl::RightButtonSelect
- IDvdControl::ButtonActivate
- IDvdControl::ButtonSelectAndActivate
- IDvdControl::MouseActivate
- IDvdControl::MouseSelect
- IDvdInfo::GetCurrentButton

Seamless Video Angle Change

DVD-Video supports up to nine camera angles. These angles can be completely independent video streams, or different camera angles of the same scene. The fast seeking of the DVD disc allows switching angles seamlessly.

Methods relating to video angles include IDvdControl::AngleChange and IDvdInfo::GetCurrentAngle.

Parental Control

Parental control provides security for parents who want to prevent children from viewing certain types of content. Content might be authored at a particular level, or might contain the same scene shot at different rating levels to provide a viewing alternative for children.

Methods relating to parental control include the following:

- IDvdControl::ParentalLevelSelect
- IDvdControl::ParentalCountrySelect
- IDvdInfo::GetPlayerParentalLevel
- IDvdInfo::GetTitleParentalLevels

Additional DVD Resources on the Web

The following list contains links to a few of the Web sites that provide DVD information. Search the Web for other DVD resources. Note that most of these external links point to servers that are not under Microsoft's control. Please read Microsoft's official statement regarding other servers.

- http: //www.microsoft.com/hwdev/devdes/dvdwp.htm contains a whitepaper titled "DVD and Microsoft Operating Systems" which outlines the planned support for DVD under future Windows operating systems.
- http://www.unik.no/~robert/hifi/dvd/ includes links to many other DVD sites, news stories, and other resources.
- http://reality.sgi.com/nemec/dvd.html contains notes from a DVD technical forum.
- http://www.c-cube.com/technology/dvd.html contains a whitepaper on DVD.
- http://www.icdia.org/dvdfaq02.html contains a DVD frequently asked questions list.
- http://www.videodiscovery.com/vdyweb/dvd/dvdfaq.html contains a DVD frequently asked questions list which is also available from alt.video.dvd Usenet newsgroup.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.