---
title: Sprite media
framework: quicktime-file-format
role: article
role_heading: Article
path: quicktime-file-format/sprite_media
---

# Sprite media

Sprite media is used to store character-based animation data in QuickTime movies.

## Overview

Overview important: Sprite media is deprecated in the QuickTime file format. The information that follows documents existing content containing sprite media and should not be used for new development. It has a media type of 'sprt'. Sprite Sample Description The sprite sample description uses the standard sample description header, as described in Sample description atom ('stsd'). The data format field in the sample description is always set to 'sprt'. The sprite media handler adds no additional fields to the sample description. Sprite Sample Data All sprite samples are stored in QT atom structures. The sprite media uses both key frames and differenced frames. The key frames contain all of the sprite’s image data, and the initial settings for each of the sprite’s properties. A key frame always contains a shared data atom of type 'dflt'. This atom contains data to be shared between the sprites, consisting mainly of image data and sample descriptions. The shared data atom contains a single sprite image container atom, with an atom type value of 'imct' and an ID value of 1. The sprite image container atom stores one or more sprite image atoms of type 'imag'. Each sprite image atom contains an image sample description immediately followed by the sprite’s compressed image data. The sprite image atoms should have ID numbers starting at 1 and counting consecutively upward. The key frame also must contain definitions for each sprite in atoms of type 'sprt'. Sprite atoms should have ID numbers start at 1 and count consecutively upward. Each sprite atom contains a list of properties. The following table shows all currently defined sprite properties.  |  |   |  |   |  |   |  |   |  |   |  |   |  |  The override sample differs from the key frame sample in two ways. First, the override sample does not contain a shared data atom. All shared data must appear in the key frame. Second, only those sprite properties that change need to be specified. If none of a sprite’s properties change in a given frame, then the sprite does not need an atom in the differenced frame. The override sample can be used in one of two ways: combined, as with video key frames, to construct the current frame; or the current frame can be derived by combining only the key frame and the current override sample. Refer to the section Sprite track media format for information on how override samples are indicated in the file, using kSpriteTrackPropertySampleFormat and the default behavior of the kKeyFrameAndSingleOverride format.

## See Also

### Media data atom types

- [Sprite track properties](quicktime-file-format/sprite_track_properties.md)
- [Sprite track media format](quicktime-file-format/sprite_track_media_format.md)
- [Sprite media atom and data types](quicktime-file-format/sprite_media_atom_and_data_types.md)
- [Sprite button behaviors](quicktime-file-format/sprite_button_behaviors.md)
- [QT atom container description key](quicktime-file-format/qt_atom_container_description_key.md)
- [Sprite media handler track properties QT atom container format](quicktime-file-format/sprite_media_handler_track_properties_qt_atom_container_format.md)
- [Sprite media handler sample QT atom container formats](quicktime-file-format/sprite_media_handler_sample_qt_atom_container_formats.md)
- [Wired action grammar](quicktime-file-format/wired_action_grammar.md)
- [Tween media](quicktime-file-format/tween_media.md)
- [3D media](quicktime-file-format/3d_media.md)
- [VR media](quicktime-file-format/vr_media.md)
- [Node parent atom](quicktime-file-format/node_parent_atom.md)
- [Node location atom structure ('nloc')](quicktime-file-format/node_location_atom_structure.md)
- [Custom cursor atom](quicktime-file-format/custom_cursor_atom.md)
- [Node information atom container](quicktime-file-format/node_information_atom_container.md)
