Digital graphic design, image editing, audio editing, and video editing applications (hereafter collectively referred to as media content editing applications or media-editing applications) provide graphical designers, media artists, and other users with the necessary tools to create a variety of media content. Examples of such applications include Final Cut Pro® and iMovie®, both sold by Apple Inc. These applications give users the ability to edit, combine, transition, overlay, and piece together different media content in a variety of manners to create a resulting media project. The resulting media project specifies a particular sequenced composition of any number of text, audio, image, and/or video content elements that is used to create a media presentation.
Typically, a user previews portions of a media presentation while creating the presentation in order to see if the media content of the media presentation would be presented as the user desires. However, some portions of the media presentation require a lot of processing capability for a media-editing application to playback in real-time for previewing.
When the required processing capability exceeds that of a system on which the media-editing application is executed, the media-editing application must playback the portions of the presentation in low quality or the application may not playback the portions in real-time. In such cases, the media-editing application pre-processes the portions of the media presentation so that they can be played back in real-time when the user desires to preview them.
By pre-processing, the media-editing application pre-generates playable media output data (e.g., processed composite image frames or audio samples) so that the application uses the pre-generated media output data instead of generating the data at the time the corresponding portions of the media presentation is being previewed. Such pre-generation of playable media output data by processing the portions of the media presentation for real-time playback is termed “rendering.”