, the VM Command Editor 2.75
and the pages of the unofficial DVD specifications guide 2.2
were developed based upon the
following public Internet resources:
This archive is dated but it contains sufficient information to enable the
development of any commercial grade applications which require low-level access
to the proprietary DVD data structures. I found a fair number of errors in the
archive source codes (especially in the header data structures) so proceed with
caution if you decide to use it. However, these errors can be identified easily
with the verification tools mentioned on this page.
2. Ogle DVD Player
The documentation of the DVD virtual-machine commands was developed based upon the
source code of the library libdvdread. The functions and behaviors of these DVD
instructions were tested and verified with various commercial DVD players and
verification tools mentioned below.
3. MplayerHQ - The movie player for Linux
The source codes provide great resource for DVD commands and data structures.
4. Microsoft DirectX 9.0 SDK Update (April 2005) C++
For more information, see the documentation on the IDvdControl2
interface. Microsoft abstracts the low-level access to
DVD data structures and uses symbolic names to access the DVD data structures
required for commands and navigation. This is a must-read resource for (C++)
developers writing DVD applications.
5. Patent applications
by Shinichi Kikuchi, Hideo Ando, Kazuhiko Taira, Yuji Ito,
and Hideki Mimura. The invention relates to a digital video system (apparatus and
method) capable of real-time recording, and an information recording medium
(recordable optical disc) used in this system. In recent years, systems for playing
back the contents of optical discs such as video CDs that record video data, audio
data, and the like have been developed, and have prevailed for the purpose o
playing back movie software titles, karaoke data, and the like. The disclosure of
invention includes a DVD (Digital Versatile Disc) standard that uses MPEG2 (Moving
Picture Experts Group 2) international standards has been proposed. This standard
supports MPEG2 as a moving picture compression scheme, and AC-3 audio, MPEG audio,
and the like as audio schemes. The standard is appended with sub-picture data for
superimposed dialogs and menus obtained by compressing bitmap data, and control data
(navigation data) for special playback control. Furthermore, this standard supports
the UDF (Universal Disc Format) Bridge (a hybrid of UDF and ISO9660) to allow a
computer to read data.
This freeware tool can be used as a low-level hex editor for all DVD virtual commands
mentioned in the unofficial DVD specifications. This tool is also useful to validate
the integrity of required DVD data structures in any domain. IFOEdit can also perform
DVD reauthoring but its user interface is unfriendly and fairly steep to learn.
This freeware tool is useful to verify button commands and subpicture streams since they
are embedded in the VOB packets. VOBEdit has many built-in functions to extract (demux)
video, audio, and subpicture streams.
8. PowerDVD 5
This is a commercial desktop software DVD player which provides various error
codes when encountering an invalid or unknown DVD navigation instruction.
This tool is useful to verify the functions of DVD virtual machine instructions.
9. Stand-alone DVD players
Virtual machine commands which reference the SPRM registers and have player-specific
features are verified with the following stand-alone DVD player models.