In computer graphics, traditionally colors are represented using a combination of primary colors. For example, in the RGB color space, the colors Red, Green and Blue are blended together to get a range of colors. In order to manipulate images in the RGB color space, scripting languages are designed to allow the users to create scripts that describe image-processing operations at a high level. For example, a script can be written to handle transition between two video clips or between one video clip and one still video. The scripts do not necessarily work only with transitions. They may also be written to work with single source clips. For example, a script that takes an existing clip of video and drop colors on it. The scripts may also be “generators” which have no inputs but create an output.
Final Cut Pro (FCP) is a movie editing and creating software produced by Apple Computer, Inc. of Cupertino, Calif. (“Apple”). It includes a scripting engine. The FCP scripting engine allows users to write scripts which perform various image manipulations, ranging from basic operations such as “blend” “channelfill” and “multiplyChannels” to more complex operations such as “levelmap” and “colorkey.” Of course, most scripts combine more than one of these operations to build interesting effects or transitions.
These functions operate on one or more images. Consider these examples. “Channelfill” fills in one or more color channels of a destination buffer with the color values passed to it. “Levelmap” applies a lookup-table to one or more channels of “source” and puts the results of the lookup into “destination”. “Blend” blends “source 1” and “source 2” together into “destination”, based on a ratio passed in. These scripting engine commands, or sometimes referred to as image processing calls or functions, were shipped with many other commands in version 1.0 of FCP from Apple. In addition, there are many scripts written by the users of FCP.
In the past, it was assumed that the scripts were written to operate in the RGB color space, 8 bits per color component, and the scripting engine only performed the image processing in the RGB color space.