QuickTime movies are stored on disk, using two basic structures for storing information: atoms (also known
as simple atoms or classic atoms), and QT atoms. To understand how QuickTime movies are stored, you need
to understand the basic atom structures described in this chapter. Most atoms you encounter in the QuickTime
File Format are simple or classic atoms. Both simple atoms and QT atoms, however, allow you to construct
arbitrarily complex hierarchical data structures. Both also allow your application to ignore data they don’t
understand.
Media Description
A QuickTime file stores the description of its media separately from the media data. The description is called
the movie resource, movie atom, or simply the movie, and contains information such as the number of tracks,
the video compression format, and timing information. The movie resource also contains an index describing
where all the media data is stored.
The media data is the actual sample data, such as video frames and audio samples, used in the movie. The
media data may be stored in the same file as the QuickTime movie, in a separate file, in multiple files, in
alternate sources such as databases or real-time streams, or in some combination of these.
Atoms
The basic data unit in a QuickTime file is the atom. Each atom contains size and type fields that precede any
other data. The size field indicates the total number of bytes in the atom, including the size and type fields.
The type field specifies the type of data stored in the atom and, by implication, the format of that data. In
some cases, the size and type fields are followed by a version field and a flags field. An atom with these
version and flags fields is sometimes called a full atom.
Note: An atom, as described in this document, is functionally identical to a box, as described in the ISO
specifications for MPEG-4 and JPEG-2000. An atom that includes version and flags fields is functionally identical
to a full box as defined in those specifications.
Atom types are specified by a 32-bit unsigned integer, typically interpreted as a four-character ASCII code.
Apple, Inc. reserves all four-character codes consisting entirely of lowercase letters. Unless otherwise stated,
all data in a QuickTime movie is stored in big-endian byte ordering, also known as network byte ordering,
in which the most significant bytes are stored and transmitted first.
Atoms are hierarchical in nature. That is, one atom can contain other atoms, which can contain still others,
and so on. This hierarchy is sometimes described in terms of a parent, children, siblings, grandchildren, and
so on. An atom that contains other atoms is called a container atom. The parent atom is the container atom
exactly one level above a given atom in the hierarchy.
Media Description 19
2010-08-03 | © 2004, 2010 Apple Inc. All Rights Reserved.
CHAPTER 1
Overview of QTFF