Retired Document
Important: Apple recommends that developers explore QTKit and Core Video for new development in this technology area. See QTKit Framework Reference and Core Video Programming Guide for more information.
Built-in QuickTime Video Effects
QuickTime includes a set of built-in video effects. There are two classes of effects provided for your use, discussed in this chapter:
The SMTPE effects, which are implementations of over 100 standard effects defined by the Society of Motion Picture & Television Engineers.
A set of effects implemented by Apple Computer, which you can use for a variety of purposes.
The following video effects are built into QuickTime, including the standard SMPTE effects and several effects from Apple Computer:
What Each Effect Does
The next sections describe what each effect does. They also define the effect name and the parameter atoms you need in order to create an effect description atom container to implement each effect. For details on how to insert an effect into your movie or application, see Adding Video Effects to a QuickTime Movie and Using Video Effects Outside a QuickTime Movie.
Push
kPushTransitionType
('push')
In a push effect, one source image replaces another with both images moving at the same time. For example, source A would typically occupy the entire frame, then source B would push in from the right while source A slides out to the left, as if source B were pushing source A out of the frame. Unlike the slide effect, both sources are moving. The push effect executes from one of four fixed directions: top, right, bottom, or left.
The push effect takes a maximum of two sources and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
From direction |
|
|
Contains one of four directions from which source B will replace source A: top, right, bottom, or left. |
The 'from'
direction parameter can contain the following values:
Top
Right
Bottom
Left
The SMPTE Video Effects
The SMPTE effects are available in four separate effect components, divided by the type of effect they implement.
There are Wipe effects, Iris effects, Radial effects, and Matrix effects.
SMPTE Wipe Effects
kWipeTransitionType
('smpt')
This effect is an implementation of the 34 wipes from ANSI/SMPTE 258M-1993, plus two Apple-defined wipes that choose a random effect. These are a series of masking or “reveal” type wipes that take place between two sources. For full definitions of these 34 wipes and what they look like, refer to the SMPTE documentation.
The SMPTE wipe effects take two sources and seven parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Wipe ID |
|
|
The SMPTE ID for the effect. By setting this parameter, you control which of the 47 available wipes is used. See the enumeration list below. |
Soft border |
|
|
If this parameter contains |
Border width |
|
|
The width, in pixels, of a border that is drawn around the second source. |
Border color |
|
|
The RGB color of the border around the second source. |
Horizontal repeat |
|
|
The number of horizontal repeats of the effect that are executed in a single source. |
Vertical repeat |
|
|
The number of vertical repeats of the effect that are executed in a single source. |
The Wipe ID parameter can take the following values:
Value |
Description |
---|---|
1 |
Slide horizontal |
2 |
Slide vertical |
3 |
Top left |
4 |
Top right |
5 |
Bottom right |
6 |
Bottom left |
7 |
Four corner |
8 |
Four box |
21 |
Barn vertical |
22 |
Barn horizontal |
23 |
Top center |
24 |
Right center |
25 |
Bottom center |
26 |
Left center |
41 |
Diagonal left down |
42 |
Diagonal right down |
43 |
Vertical bow tie |
44 |
Horizontal bow tie |
45 |
Diagonal left out |
46 |
Diagonal right out |
47 |
Diagonal cross |
48 |
Diagonal box |
61 |
Filled V |
62 |
Filled V right |
63 |
Filled V bottom |
64 |
Filled V left |
65 |
Hollow V |
66 |
Hollow V right |
67 |
Hollow V bottom |
68 |
Hollow V left |
71 |
Vertical zig zag |
72 |
Horizontal zig zag |
73 |
Vertical barn zig zag |
74 |
Horizontal barn zig zag |
409 |
Random effect (One of the 133 SMPTE effects is chosen at random) |
501 |
Random wipe (One of the 34 SMPTE wipe effects is chosen at random) |
SMPTE Iris Effects
kIrisTransitionType
('smp2')
This effect is an implementation of the 26 iris effects from ANSI/SMPTE 258M-1993, plus two Apple-defined wipes that choose a random effect. These are a series of “reveal” type effects that take place between two sources. For full definitions of these 26 iris effects and what they look like, refer to the SMPTE documentation.
The SMPTE iris effects take two sources and seven parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Wipe ID |
|
|
The SMPTE ID for the effect. By setting this parameter, you control which of the 26 available iris effects is used. See the enumeration list below. |
Soft border |
|
|
If this parameter contains |
Border width |
|
|
The width, in pixels, of a border that is drawn around the second source. |
Border color |
|
|
The RGB color of the border around the second source. |
Horizontal repeat |
|
|
The number of horizontal repeats of the effect that are executed in a single source. |
Vertical repeat |
|
|
The number of vertical repeats of the effect that are executed in a single source. |
The Wipe ID parameter can take the following values:
Value |
Description |
---|---|
101 |
Rectangle |
102 |
Diamond |
103 |
Triangle |
104 |
Triangle right |
105 |
Triangle upside down |
106 |
Triangle left |
107 |
Arrowhead |
108 |
Arrowhead right |
109 |
Arrowhead upside down |
110 |
Arrowhead left |
111 |
Pentagon |
112 |
Pentagon upside down |
113 |
Hexagon |
114 |
Hexagon side |
119 |
Circle |
120 |
Oval |
121 |
Oval side |
122 |
Cat eye |
123 |
Cat eye side |
124 |
Round rect |
125 |
Round rect side |
127 |
4 point star |
128 |
5 point star |
129 |
6 point star |
130 |
Heart |
131 |
Keyhole |
409 |
Random effect (One of the 133 SMPTE effects is chosen at random) |
502 |
Random iris (One of the 26 SMPTE iris effects is chosen at random) |
SMPTE Radial Effects
kRadialTransitionType
('smp3')
This effect is an implementation of the 39 radial effects from ANSI/SMPTE 258M-1993, plus two Apple-defined wipes that choose a random effect. These are a series of radial “reveal” type effects that take place between two sources. For full definitions of these 39 radial effects and what they look like, refer to the SMPTE documentation.
The SMPTE radial effects take two sources and seven parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Wipe ID |
|
|
Contains the SMPTE ID for the effect. By setting this parameter, you control which of the 39 available radial effects is used. See the enumeration list below. |
Soft border |
|
|
If this parameter contains |
Border width |
|
|
The width, in pixels, of a border that is drawn around the second source. |
Border color |
|
|
The RGB color of the border around the second source. |
Horizontal repeat |
|
|
The number of horizontal repeats of the effect that are executed in a single source. |
Vertical repeat |
|
|
The number of vertical repeats of the effect that are executed in a single source. |
The Wipe ID parameter can take the following values:
Value |
Description |
---|---|
201 |
Rotating top |
202 |
Rotating right |
203 |
Rotating bottom |
204 |
Rotating left |
205 |
Rotating top bottom |
206 |
Rotating left right |
207 |
Rotating quadrant |
211 |
Top to bottom 180 degrees |
212 |
Right to left 180 degrees |
213 |
Top to bottom 90 degrees |
214 |
Right to left 90 degrees |
221 |
Top 180 degrees |
222 |
Right 180 degrees |
223 |
Bottom 180 degrees |
224 |
Left 180 degrees |
225 |
Counter rotating top bottom |
226 |
Counter rotating left right |
227 |
Double rotating top bottom |
228 |
Double rotating left right |
231 |
V Open top |
232 |
V Open right |
233 |
V Open bottom |
234 |
V Open left |
235 |
V Open top bottom |
236 |
V Open left right |
241 |
Rotating top left |
242 |
Rotating bottom left |
243 |
Rotating bottom right |
244 |
Rotating top right |
245 |
Rotating top left bottom right |
246 |
Rotating bottom left top right |
251 |
Rotating top left right |
252 |
Rotating left top bottom |
253 |
Rotating bottom left right |
254 |
Rotating right top bottom |
261 |
Rotating double center right |
262 |
Rotating double center top |
263 |
Rotating double center top bottom |
264 |
Rotating double center left right |
409 |
Random effect (One of the 133 SMPTE effects is chosen at random) |
503 |
Random radial (One of the 39 SMPTE radial effects is chosen at random) |
SMPTE Matrix Effects
kMatrixTransitionType
('smp4')
This effect is an implementation of the 34 matrix effects from ANSI/SMPTE 258M-1993, plus two Apple-defined wipes that choose a random effect. These are a series of matrix “reveal” type effects that take place between two sources. For full definitions of these 34 matrix effects and what they look like, refer to the SMPTE documentation.
The SMPTE matrix effects take two sources and seven parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Wipe ID |
|
|
Contains the SMPTE ID for the effect. By setting this parameter, you control which of the 34 available matrix effects is used. See the enumeration list below. |
Soft border |
|
|
If this parameter contains |
Border width |
|
|
The width, in pixels, of a border that is drawn around the second source. |
Border color |
|
|
The RGB color of the border around the second source. |
Horizontal repeat |
|
|
The number of horizontal repeats of the effect that are executed in a single source. |
Vertical repeat |
|
|
The number of vertical repeats of the effect that are executed in a single source. |
The Wipe ID parameter can take the following values:
Value |
Description |
---|---|
301 |
Horizontal matrix |
302 |
Vertical matrix |
303 |
Top left diagonal matrix |
304 |
Top right diagonal matrix |
305 |
Bottom right diagonal matrix |
306 |
Bottom left diagonal matrix |
310 |
Clockwise top left matrix |
311 |
Clockwise top right matrix |
312 |
Clockwise bottom right matrix |
313 |
Clockwise bottom left matrix |
314 |
Counter clockwise top left matrix |
315 |
Counter clockwise top right matrix |
316 |
Counter clockwise bottom right matrix |
317 |
Counter clockwise bottom left matrix |
320 |
Vertical start top matrix |
321 |
Vertical start bottom matrix |
322 |
Vertical start top opposite matrix |
323 |
Vertical start bottom opposite matrix |
324 |
Horizontal start left matrix |
325 |
Horizontal start right matrix |
326 |
Horizontal start left opposite matrix |
327 |
Horizontal start right opposite matrix |
328 |
Double diagonal top right matrix |
329 |
Double diagonal bottom right matrix |
340 |
Double spiral Top matrix |
341 |
Double spiral bottom matrix |
342 |
Double spiral left matrix |
343 |
Double spiral right matrix |
344 |
Quad spiral vertical matrix |
345 |
Quad spiral horizontal matrix |
350 |
Vertical waterfall left matrix |
351 |
Vertical waterfall right matrix |
352 |
Horizontal waterfall left matrix |
353 |
Horizontal waterfall right matrix |
409 |
Random effect (One of the 133 SMPTE effects is chosen at random) |
504 |
Random matrix (One of the 34 SMPTE matrix effects is chosen at random) |
Video Effects from Apple
The following video effects are supplied by Apple Computer and are built into QuickTime.
Alpha Compositor
kAlphaCompositorTransitionType
('blnd')
This effect is used to combine two images using the alpha channels of the images to control the blending. It provides for the standard alpha blending options, and can handle pre-multiplying by any color, although white and black are most common and often run faster.
The alpha compositor effect takes a maximum of two sources and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Blend mode |
|
|
Contains the blend mode for the effect. See the enumeration list below. |
Pre-multiply color |
|
|
If the blend mode is "pre-multiply alpha," this parameter contains the color used in the pre-multiply blend, otherwise it is ignored. |
Blend Mode Enum
The blend mode parameter can contain one of the following values:
Straight alpha: perform a standard alpha blend. The alpha channel value of the first source defines the amount of the first source that is included in the composited image, and one minus the alpha channel value of the first source defines the amount of the second source that is included in the composited image.
Pre-multiply alpha: calculates the destination pixel according to the following formulae:
DestinationRed = PreMultiplyRed * (1-alphaC) + temp1 * alphaC |
DestinationGreen = PreMultiplyGreen * (1-alphaC) + temp2 * alphaC |
DestinationBlue = PreMultiplyBlue * (1-alphaC) + temp3 * alphaC |
where:
alphaC = alphaB + (1-alphaB) * alphaA |
temp1 = (alphaA * SourceARed + alphaB * sourceBRed)/alphaC |
temp2 = (alphaA * SourceAGreen + alphaB * sourceBGreen)/alphaC |
temp3 = (alphaA * SourceABlue + alphaB * sourceBBlue)/alphaC |
Reverse alpha: perform a reverse alpha blend. The one minus the alpha channel value of the first source defines the amount of the first source that is included in the composited image, and the alpha channel value of the first source defines the amount of the second source that is included in the composited image.
Alpha Gain filter
kAlphaGainImageFilterType
('gain')
The alpha gain filter is used to alter the alpha channel of a single source. This operation is commonly applied before passing the source to the alpha compositor effect described above. The following equation describes the alteration that is made to the source’s alpha channel:
newAlpha = bottomPin <= (gain*oldAlpha + offset) <= topPin |
This means that to increase the alpha channel by a set amount, you set the gain parameter to 1.0, and the offset to the desired increase. Similarly, to increase the alpha channel by a fixed percentage, set the offset to 0.0 and the gain to the percentage increase desired. The topPin
and bottomPin
parameters allow you to set upper and lower bounds on the value of the alpha channel, respectively.
The alpha gain filter effect takes a maximum of one source and has four parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Gain value |
|
|
This value is multiplied by the original alpha channel value. |
Offset value |
|
|
This value is added to the old alpha channel, after it has been multiplied by the gain parameter. |
Top alpha pin |
|
|
The maximum value that the alpha channel can take after the gain and offset parameters have been applied. |
Bottom alpha pin |
|
|
The minimum value that the alpha channel can take after the gain and offset parameters have been applied. |
Blur Filter
kBlurImageFilterType
('blur')
This effect applies a convolution blur effect to a single source. The actual blur that is applied is determined by the convolution kernel. This is a matrix of values that are applied to each pixels of the source to produce the destination.
The Blur effect takes a maximum of one source and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Amount of blurring |
|
|
The size of the blur kernel to apply. This value must be one of 3, 5, 7, 9, 11, 13 or 15. The larger the kernel, the longer the effect will take to run and the greater the degree of blurring. |
Brightness |
|
|
This is the total value of the elements of the blur kernel. Normally this value will be 1.0, which blurs the source but doesn't change its brightness. If the value is between 0.0 and 1.0, the brightness is decreased, if the value is greater than 1.0, the brightness is increased. |
Chroma Key
kChromaKeyTransitionType
('ckey')
The chroma key effect combines two sources by replacing all the pixels of the first source that are the specified color with the corresponding pixels of the second source. This allows the second source to “show through” the first in those places where the first source is the given color.
This has the effect of putting the second source “behind” the first source, and making the selected color “transparent”.
The chroma key effect takes a maximum of two sources and has one parameter.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Key color |
|
|
Pixels of this color in the first source will be replaced by pixels from the second source. |
Cloud
kCloudCodecType
('clou')
The cloud effect uses a fractal noise generator to simulate a cloud formation. This can be transparently overlaid on an image. The cloud formation’s colors can be controlled, and the cloud randomly changes shape over time.
The cloud effect takes no sources and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Cloud color |
|
|
The foreground color of the cloud. |
Background color |
|
|
The background color of the cloud. |
Rotation |
|
|
The vertical rotation of the cloud around its axis. Legal range is 0 to 360. |
Color Style
kSolarizeImageFilterType
('solr')
The color style effect allows you to apply two color stylizations to a single source. They are:
Solarization: adjusts the color balance of the source by constructing a table of replacement color values from two parameters. These parameters are the maximum color intensity and the peak point of the color spread. The table starts at zero intensity and increases to the maximum intensity at the peak point. After that it falls back to zero. For example, if the color values range from 0 to 255, the maximum intensity is 5 and the peak point is at 150, the resulting table’s profile will look like Figure 3-1.
Posterization: reduces the number of colors in an image by replacing all pixels whose color is in a consecutive range with the middle color from that range. This produces a “color banding” effect.
Both these effects work on a per-channel basis, which means that the red, green and blue components of each pixel are independently passed through the respective algorithm.
For solarization, a maximum intensity of 1 and a peak point of 128 are the most commonly used values.
The color style effect takes a maximum of one source and has three parameters.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Solarize amount |
|
|
The maximum intensity of the solarization table. |
Solarize point |
|
|
The peak point of the solarization table. |
Posterize amount |
|
|
The number of colors that are grouped and replaced with the mid-range color. |
ColorSync filter
kColorSyncImageFilterType
('sync')
The color sync filter adjusts the color balance of an image to match a specified color sync profile. Typically, you would use this to adjust the color profile of an image to match the current display device. This allows you to maintain accurate color representations across devices. You specify both the color sync profile of the source image and the color sync profile of the destination device the image will be rendered to.
The color sync filter takes a maximum of one source and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Source profile |
|
|
The color sync profile of the source image. |
Destination profile |
|
|
The color sync profile of the target device. |
Color Tint filter
kColorTintImageFilterType
('tint')
The color tint filter converts its source into greyscale, then applies a light and a dark color to the image. The light color replaces the white in the greyscale image, and the dark color replaces the black. This filter also includes brightness and contrast controls. The end result is a tinted duochrome version of the source image.
You can use this filter, for example, to apply a sepia tone to a source.
The color tint filter takes a maximum of one source and has four parameters
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Tint |
|
|
1 = Black and White; 2 = X-Ray; 3 = Sepia; 4 = Cobalt; 0 = dividing line for pop up; 100 = custom, in which case the other parameters take effect. |
Dark color |
|
|
The color to use to replace the black of the greyscale image. |
Light color |
|
|
The color to use to replace the white of the greyscale image. |
Brightness |
|
|
The amount to adjust the brightness of the source by, ranging from -255 (all colors are replaced with black) to 255 (all colors are replaced with white). A value of 0 will leave the brightness unchanged. |
Contrast |
|
|
The amount to adjust the contrast of the source by, ranging from -255 (minimum contrast) to 255 (maximum contrast). A value of 0 will leave the contrast unchanged. |
Edge Detection Filter
kEdgeDetectImageFilterType
('edge')
This effect applies an edge detection convolution to a single source. The performance of the edge detection is determined by the convolution kernel. This is a matrix of values applied to each pixel of the source to produce the resulting image.
This effect takes a maximum of one source, and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Edge thickness |
|
|
The size of the kernel to apply. This value must be one of 3, 5, 7, 9, 11, 13 or 15. Larger kernels will produce thicker edges in the resulting image. |
Colorize |
|
|
If this parameter is set to |
Emboss Filter
kEmbossImageFilterType
('embs')
This effect applies an emboss convolution to a single source. The performance of the embossing operation is determined by the convolution kernel. This is a matrix of values applied to each pixel of the source to produce the resulting image.
This effect takes a maximum of one source, and has one parameter, amount of embossing.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Amount of embossing |
|
|
The size of the kernel to apply. This value must be one of 3, 5, 7, 9, 11, 13 or 15. Larger kernels will produce a more heavily embossed result. |
Explode
kExplodeTransitionType
('xplo')
In an explode effect, source B grows from a single point, expanding out until it entirely covers source A. The center point of the explosion is defined in the effect parameters.
This effect takes a maximum of two sources, and has three parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Explode centre X |
|
|
The x-coordinate of the explosion centre. |
Explode centre Y |
|
|
The y-coordinate of the explosion centre. |
Film Noise Filter
kFilmNoiseImageFilterType
('fmns')
The film noise filter alters a single source, simulating some of the effects that are seen on aged film stock. This effect can be used to transform a video source into one that looks like it was shot on film that has suffered the effects of age and mishandling.
The specific features, which can be controlled independently, are:
Hairs. These are a simulation of hairs lying on the surface of the film. Each hair is randomly generated, and is colored in a randomly chosen shade of light grey.
Scratches. These are vertical or near-vertical one-pixel lines drawn onto the destination image that simulate scratches in the film. Each scratch lasts for a pre-calculated length of time. During its lifespan the scratch’s position is randomly perturbed. Shortly before the scratch is removed, it will begin to shorten. The color of the scratches is a randomly chosen shade of light grey.
Dust. These simulate dust particles on the surface of the film. Dust particles are drawn using the same algorithm that generates the hairs, but the particles are more tightly curled, and drawn in a darker shade of grey.
Film fade. This simulates an overall change in the color of the film stock. Every pixel of the source image is passed through the film fade algorithm, so this can be processor-intensive.
The film noise effect takes a single source and has eight parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Hair density |
|
|
This parameter controls the number of hairs that are drawn on each frame and the frequency with which hairs appear. The maximum number of hairs per frame is a randomly generated number between 1 and the value of this parameter. The chance of each hair appearing on a single frame is 1 in (the value of this parameter). |
Hair length |
|
|
The maximum length (in pixels) of the hairs being drawn. |
Scratch density |
|
|
This parameter controls the number of scratches that are drawn on each frame and the frequency with which scratches appear. The maximum number of scratches per frame is a randomly generated number between 1 and the value of this parameter. The chance of each scratch appearing on a single frame is 1 in (the value of this parameter). |
Scratch duration |
|
|
The maximum number of frames that each scratch appears for. The actual number of frames for each scratch is a randomly chosen value between 1 and this value plus 20. |
Scratch width |
|
|
The maximum width, in pixels, of a scratch. The actual width is a randomly chosen number between 1 and this value. |
Dust density |
|
|
This parameter controls the number of dust particles that are drawn on each frame and the frequency with which dust particles appear. The maximum number of dust particles per frame is a randomly generated number between 1 and the value of this parameter. The chance of each dust particle appearing on a single frame is 1 in (the value of this parameter). |
Dust size |
|
|
For each dust particle, the length in pixels is a random number between 1 and 5, plus the value of the Dust Size parameter. |
Film fade |
|
|
The type of film fade effect (if any) to apply. See list below. |
The Film Fade Enum
The film fade parameter can take one of the following values:
Value |
String |
Description |
---|---|---|
1 |
None |
The destination image is a copy of the source. |
2 |
Sepia tone |
The destination is a slightly saturated, monochromatic version of the source, colorized into shades of light red-brown. |
3 |
Black and white |
The destination is a greyscale version of the source. |
4 |
Faded color film |
The destination is a color desaturated version of the source. |
5 |
1930's color film |
The destination is a color supersaturated version of the source. |
Fire
kFireCodecType
('Fire')
The fire effect simulates a fire by generating a number of individual flames of randomized appearance. You can control various parameters that define how the flames are generated and how they change over time.
The fire effect takes no sources and has four parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Spread rate |
|
|
How quickly the fire expands to its highest level from its starting point. The higher the value, the more quickly the fire starts up and reaches its maximum burn rate. |
Sputter rate |
|
|
How quickly the flames die down as they move up the screen. Low numbers result in very tall flames, high numbers in very low flames. |
Water rate |
|
|
How often "water" is tossed on the base of the fire, instantly putting out the fire at that point. High numbers result in a fire that's very broken up (i.e. many areas of burning and non-burning) while lower numbers result in a wider, smoother fire. |
Restart rate |
|
|
How often entire fire is put out, then allowed to restart. |
General Convolution Filter
kConvolveImageFilterType
('genk')
This effect applies a general purpose convolution effect to a single source. The effect that results is completely determined by the values entered into the kernel parameters of the effect. The kernel for this convolution is always a 3-by-3 matrix of values.
The values of the cells of the convolution kernel determine the value that is assigned to each pixel of the destination frame. The convolution algorithm examines every pixel of the source, and the eight pixels surrounding it. These values are multiplied by the appropriate values in the cells and summed. This sum is then used as the value of the corresponding destination pixel.
Many computer graphics textbooks offer a more complete and rigorous explanation of convolution, and you are encouraged to consult these for useful values that the kernel can take. A great introduction to convolution for programmers can be found in High Performance Computer Imaging, Chapter 6, by Ihtisham Kabir, Manning Publications, 1996. ISBN 1-884777-26-0. A somewhat more classical reference is Computer Graphics: Principles and Practice, 2nd. Edition, pp. 629-636, Foley J.D., van Dam A., Feiner S.K. and Hughes J.F., Addison-Wesley, 1990. ISBN 0-201-12110-7.
As an example of a kernel that produces a useful result, the kernel values shown in Figure 3-2 will shift an image left by one pixel.
The General Convolution Filter effect takes a maximum of one sources and has nine parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Cell one |
|
|
The value to be placed into the first cell of the kernel. |
Cell two |
|
|
The value to be placed into the second cell of the kernel. |
Cell three |
|
|
The value to be placed into the third cell of the kernel. |
Cell four |
|
|
The value to be placed into the fourth cell of the kernel. |
Cell five |
|
|
The value to be placed into the fifth cell of the kernel. |
Cell six |
|
|
The value to be placed into the sixth cell of the kernel. |
Cell seven |
|
|
The value to be placed into the seventh cell of the kernel. |
Cell eight |
|
|
The value to be placed into the eighth cell of the kernel. |
Cell nine |
|
|
The value to be placed into the ninth cell of the kernel. |
The nine cells in the kernel are laid out as shown in Figure 3-3.
Gradient Wipe
kGradientTransitionType
('matt')
The gradient wipe effect uses a matte image to create a transition between two source images. The transition from source 'A' to source 'B' will occur first where the matte image is darkest, last where the matte image is brightest.
During the effect, if the luminance value of the matte image at a given point is greater than the alpha threshold for the effect, the pixel from source 'A' is displayed. If the matte image’s luminance value at that point is less than the alpha threshold, the pixel from source 'B' is displayed.
The alpha threshold increases as the effect progresses, eventually causing it to be higher than the luminance value of the matte image at all points, so that only the pixels from source 'B' are displayed.
The equation for the change in the alpha threshold as the effect progresses is:
alphaTheshold = (percent_complete / 100) * 255 |
so the alpha threshold goes from 0 to 255 over the course of the effect.
The algorithm used to animate the transition is:
for (y=0; y<height; y++) { |
for (x=0; x<width; x++) { |
if (matte_image_luminiance(x,y) > alphaThreshold) { |
output pixel source_A(x,y); |
else |
output pixel source_B(x,y); |
} |
} |
} |
The gradient wipe effect takes two sources and has two parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Matte image |
|
|
The matte image. The transition from source 'A' to source 'B' will occur first where the matte image is darkest, last where the matte image is brightest. A greyscale matte image is recommended. |
HSL Balance Filter
kHSLColorBalanceImageFilterType
('hsvb')
This filter effect allows you to independently adjust the hue, saturation and lightness (also known as value or brightness) channels of a single source. The effect adjusts every pixel in the source, multiplying the hue component of the pixel by the value of the hue multiplier parameter, the saturation component by the value of the saturation multiplier parameter, and so on.
The HSL balance filter effect takes one source and has three parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Hue multiplier |
|
|
The amount by which to adjust the hue channel value of each pixel. |
Saturation multiplier |
|
|
The amount by which to adjust the saturation channel value of each pixel. |
Lightness multiplier |
|
|
The amount by which to adjust the lightness channel value of each pixel. |
Implode
kImplodeTransitionType
('mplo')
In an implode effect, source A shrinks down to a single point, revealing source B. The center point of the implosion is defined in the effect parameters.
The implode effect takes a maximum of two sources and has three parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Percentage |
|
|
This parameter contains a tween. As the effect progresses, QuickTime renders the frame of the effect indicated by the tween's current value, as a percentage of the whole effect. For example, if the tween goes from 0 to 100, the effect renders completely; if the tween goes from 25 to 75, rendering begins 25% into the effect and terminates 75% through the effect. |
Implode centre X |
|
|
The x-coordinate of the implosion centre. |
Implode centre Y |
|
|
The y-coordinate of the implosion centre. |
Lens Flare
kLensFlareImageFilterType
('lens')
The lens flare effect simulates the effect of light reflecting from a camera lens. You can select the shape of the flare from a list, set the size and brightness of the flare effect, and set x and y values that will cause the flare to move accross the lens during the effect. You can also set several parameters that affect specific aspects of the flare, such as the number of sides for a polygon flare or the flare color.
The lens flare effect takes one source and has fifteen parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Size |
|
|
Size of the effect Range 1-20. Default 1. |
Brightness |
|
|
Brightness of the effect Range 0-1. Default 1. |
X |
|
|
X-coordinate of the effect center Range -2 to 2. Default 0. |
Y |
' |
|
Y-coordinate of the effect center Range -2 to 2. Default 0. |
Type |
|
|
Type of flare See enumeration list below. |
Color |
' |
|
Flare color Black or white. Default white. |
Brightness |
'fbri' |
|
Flare brightness Range 0-2. Default 1. |
Size |
'fsiz' |
|
Flare size Range 0-1. Default 0.5. |
Position |
'fylc' |
|
Position of flare element along centerline Range -2 to 2. Default 0. |
Offset |
'fxlc' |
|
Offset of flare element's center (creates a hole if nonzero) Range -2 to 2. Default 0. |
Solid |
'fsz1' |
|
Portion of flare that doesn't fade Range -2 to 2. Default 0. |
Anamorphic |
'fana' |
|
Flare is round if false, oval if true. Default false. |
Number |
'fnum' |
|
The number of spikes (for a starburst) or sides (for a polygon) Range 1-20. Default 1. |
Count |
'fcnt' |
|
The number of flare elements. If Count = N > 1, there are a random number of flare elements (1 to N). Range 1-50. Default 1. |
Seed |
'fsed' |
|
Seed for the random number generator if Count > 1. Range 0-1000. Default 500. |
The following table list spot values.
Value |
String |
Description |
---|---|---|
1 |
Spot |
A linear spot |
2 |
Round Spot |
A squared-distance spot |
3 |
Reverse Spot |
A linear spot, center dark rather than light |
4 |
Reverse Round Spot |
A squared-distance spot, center dark rather than light |
5 |
Star Burst |
A spikey ball with 'Number' spikes |
6 |
Polygon |
A polygon with 'Number' sides |
RGB Balance Filter
kRGBColorBalanceImageFilterType
('rgbb')
The RGB balance filter allows you to independently adjust the red, green, blue, and alpha channels of a single source. The effect adjusts every pixel in the source, multiplying the red component of the pixel by the value of the red multiplier parameter, the green component by the value of the green multiplier parameter, and so on.
The RGB balance filter takes a maximum of one source and has three parameters.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Red multiplier |
|
|
The amount to adjust the red channel value of each pixel by. |
Green multiplier |
|
|
The amount to adjust the green channel value of each pixel by. |
Blue multiplier |
|
|
The amount to adjust the blue channel value of each pixel by. |
Ripple
kWaterRippleCodecType
('ripl')
The ripple effect simulates a pool of water that overlays an image. The area within the ripple mask will undulate, giving the appearance of water. If the user clicks within the ripple area, concentric waves are sent across the water, simulating a stone dropped into the pool.
The ripple effect takes no sources and has one parameter, ripple mask.
Use the descriptions below to help you understand what the parameters do. To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Ripple mask |
|
|
A 1-bit image that acts as a mask; the ripple effect is seen at every pixel corresponding to a pixel in the mask that is set. |
Sharpen Filter
kSharpenImageFilterType
('shrp')
This effect applies a convolution sharpen effect to a single source. The sharpening that is applied is determined by the convolution kernel. This is a matrix of values that are applied to each pixel of the source to produce the destination.
The sharpen filter effect takes one source and has two parameters.
Use the descriptions below to help you understand what the parameters do.
Name |
Code |
QTAtom Type |
Description |
---|---|---|---|
Amount of sharpening |
|
|
The size of the sharpen kernel to apply. This value must be one of 3, 5, 7, 9, 11, 13 or 15. The smaller the kernel, the faster the effect will run and the greater the degree of sharpening. |
Brightness |
|
|
This is the total value of the elements of the sharpen kernel. Normally this value will be 1.0, which sharpens the source but doesn't change its brightness. If the value is between 0.0 and 1.0, the brightness is decreased, if the value is greater than 1.0, the brightness is increased. |
To learn how to use parameter atoms, see Adding Video Effects to a QuickTime Movie.
Copyright © 2005, 2009 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2009-06-01