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 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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'from'

kParameterTypeDataEnum

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:

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'wpID'

kParameterTypeDataEnum

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

'soft'

kParameterTypeDataBitField

If this parameter contains true, the border drawn around the second source is blurred.

Border width

'widt'

kParameterTypeDataFixed; Can be a tween

The width, in pixels, of a border that is drawn around the second source.

Border color

'bclr'

kParameterTypeDataRGBValue; Can be a tween

The RGB color of the border around the second source.

Horizontal repeat

'hori'

kParameterTypeDataLong; Can be a tween

The number of horizontal repeats of the effect that are executed in a single source.

Vertical repeat

'vert'

kParameterTypeDataLong; Can be a tween

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'wpID'

kParameterTypeDataEnum

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

'soft'

kParameterTypeDataBitField; Can be a tween

If this parameter contains true, the border drawn around the second source is blurred.

Border width

'widt'

kParameterTypeDataFixed; Can be a tween

The width, in pixels, of a border that is drawn around the second source.

Border color

'bclr'

kParameterTypeDataRGBValue; Can be a tween

The RGB color of the border around the second source.

Horizontal repeat

'hori'

kParameterTypeDataLong; Can be a tween

The number of horizontal repeats of the effect that are executed in a single source.

Vertical repeat

'vert'

kParameterTypeDataLong; Can be a tween

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'wpID'

kParameterTypeDataEnum

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

'soft'

kParameterTypeDataBitField

If this parameter contains true, the border drawn around the second source is blurred.

Border width

'widt'

kParameterTypeDataFixed; Can be a tween

The width, in pixels, of a border that is drawn around the second source.

Border color

'bclr'

kParameterTypeDataRGBValue; Can be a tween

The RGB color of the border around the second source.

Horizontal repeat

'hori'

kParameterTypeDataLong; Can be a tween

The number of horizontal repeats of the effect that are executed in a single source.

Vertical repeat

'vert'

kParameterTypeDataLong; Can be a tween

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'wpID'

kParameterTypeDataEnum

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

'soft'

kParameterTypeDataBitField

If this parameter contains true, the border drawn around the second source is blurred.

Border width

'widt'

kParameterTypeDataFixed; Can be a tween

The width, in pixels, of a border that is drawn around the second source.

Border color

'bclr'

kParameterTypeDataRGBValue; Can be a tween

The RGB color of the border around the second source.

Horizontal repeat

'hori'

kParameterTypeDataLong; Can be a tween

The number of horizontal repeats of the effect that are executed in a single source.

Vertical repeat

'vert'

kParameterTypeDataLong; Can be a tween

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

'bMod'

kParameterTypeDataEnum

Contains the blend mode for the effect. See the enumeration list below.

Pre-multiply color

'mclr'

kParameterTypeDataRGBValue

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

'gain'

kParameterTypeDataFixed

This value is multiplied by the original alpha channel value.

Offset value

'offs'

kParameterTypeDataFixed

This value is added to the old alpha channel, after it has been multiplied by the gain parameter.

Top alpha pin

'pinT'

kParameterTypeDataFixed

The maximum value that the alpha channel can take after the gain and offset parameters have been applied.

Bottom alpha pin

'pinB'

kParameterTypeDataFixed

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

'ksiz'

kParameterTypeDataEnum

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

'ksum'

kParameterTypeDataFixed

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

'keyc'

kParameterTypeDataRGBValue

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

'fgdc'

kParameterTypeDataRGBValue; Can be a tween

The foreground color of the cloud.

Background color

'bckc'

kParameterTypeDataRGBValue; Can be a tween

The background color of the cloud.

Rotation

'rotc'

kParameterTypeDataDouble; Can be a tween

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:

Example of solarization profile

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

'solr'

kParameterTypeDataLong; Can be a tween

The maximum intensity of the solarization table.

Solarize point

'solp'

kParameterTypeDataLong; Can be a tween

The peak point of the solarization table.

Posterize amount

'post'

kParameterTypeDataLong; Can be a tween

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

'srcP'

kParameterTypeDataEnum

The color sync profile of the source image.

Destination profile

'destP'

kParameterTypeDataEnum

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

'tint'

kParameterTypeDataEnum

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

'back'

kParameterTypeDataRGBValue; Can be a tween

The color to use to replace the black of the greyscale image.

Light color

'fore'

kParameterTypeDataRGBValue; Can be a tween

The color to use to replace the white of the greyscale image.

Brightness

'brig'

kParameterTypeDataLong; Can be a tween

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

'cont'

kParameterTypeDataLong; Can be a tween

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

'ksiz'

kParameterTypeDataEnum

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

'colz'

kParameterTypeDataBitField

If this parameter is set to true, the color of the edges produced by the effect are based on the color of the source pixels around them. Otherwise, edges are rendered as light grey against a dark grey background.

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

'ksiz'

kParameterTypeDataEnum

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'xcnt'

kParameterTypeDataFixed; Can be a tween

The x-coordinate of the explosion centre.

Explode centre Y

'ycnt'

kParameterTypeDataFixed; Can be a tween

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:

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

'hden'

kParameterTypeDataLong

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

'hlen'

kParameterTypeDataLong

The maximum length (in pixels) of the hairs being drawn.

Scratch density

'sden'

kParameterTypeDataLong

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

'sdur'

kParameterTypeDataLong

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

'swid'

kParameterTypeDataLong

The maximum width, in pixels, of a scratch. The actual width is a randomly chosen number between 1 and this value.

Dust density

'dden'

kParameterTypeDataLong

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

'dsiz'

kParameterTypeDataLong

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

'fade'

kParameterTypeDataEnum

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

'sprd'

kParameterTypeDataLong

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

'decy'

kParameterTypeDataLong

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

'watr'

kParameterTypeDataLong

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

'rset'

kParameterTypeDataLong

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.

Example of convolution kernel values

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

'cel1'

kParameterTypeDataFixed

The value to be placed into the first cell of the kernel.

Cell two

'cel2'

kParameterTypeDataFixed

The value to be placed into the second cell of the kernel.

Cell three

'cel3'

kParameterTypeDataFixed

The value to be placed into the third cell of the kernel.

Cell four

'cel4'

kParameterTypeDataFixed

The value to be placed into the fourth cell of the kernel.

Cell five

'cel5'

kParameterTypeDataFixed

The value to be placed into the fifth cell of the kernel.

Cell six

'cel6'

kParameterTypeDataFixed

The value to be placed into the sixth cell of the kernel.

Cell seven

'cel7'

kParameterTypeDataFixed

The value to be placed into the seventh cell of the kernel.

Cell eight

'cel8'

kParameterTypeDataFixed

The value to be placed into the eighth cell of the kernel.

Cell nine

'cel9'

kParameterTypeDataFixed

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.

Example of convolution kernel cells

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'matt'

kParameterTypeDataImage

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

'hmul'

kParameterTypeDataFixed; Can be a tween

The amount by which to adjust the hue channel value of each pixel.

Saturation multiplier

'smul'

kParameterTypeDataFixed; Can be a tween

The amount by which to adjust the saturation channel value of each pixel.

Lightness multiplier

'vmul'

kParameterTypeDataFixed; Can be a tween

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

'pcnt'

kParameterTypeDataFixed; Always a tween

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

'xcnt'

kParameterTypeDataFixed; Can be a tween

The x-coordinate of the implosion centre.

Implode centre Y

'ycnt'

kParameterTypeDataFixed; Can be a tween

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'

kParameterTypeDataFixed; Can be a tween

Size of the effect Range 1-20. Default 1.

Brightness

'gbri'

kParameterTypeDataFixed; Can be a tween

Brightness of the effect Range 0-1. Default 1.

X

'xcnt'

kParameterTypeDataFixed; Always a tween

X-coordinate of the effect center Range -2 to 2. Default 0.

Y

'ycnt'

kParameterTypeDataFixed; Always a tween

Y-coordinate of the effect center Range -2 to 2. Default 0.

Type

'ftyp'

kParameterEnumList

Type of flare See enumeration list below.

Color

'flrc'

kParameterTypeDataRGBValue

Flare color Black or white. Default white.

Brightness

'fbri'

kParameterTypeDataFixed

Flare brightness Range 0-2. Default 1.

Size

'fsiz'

kParameterTypeDataFixed

Flare size Range 0-1. Default 0.5.

Position

'fylc'

kParameterTypeDataFixed

Position of flare element along centerline Range -2 to 2. Default 0.

Offset

'fxlc'

kParameterTypeDataFixed

Offset of flare element's center (creates a hole if nonzero) Range -2 to 2. Default 0.

Solid

'fsz1'

kParameterTypeDataFixed

Portion of flare that doesn't fade Range -2 to 2. Default 0.

Anamorphic

'fana'

kParameterTypeDataBitField

Flare is round if false, oval if true. Default false.

Number

'fnum'

kParameterTypeDataLong

The number of spikes (for a starburst) or sides (for a polygon) Range 1-20. Default 1.

Count

'fcnt'

kParameterTypeDataLong

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'

kParameterTypeDataLong

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

'rmul'

kParameterTypeDataFixed; Can be a tween

The amount to adjust the red channel value of each pixel by.

Green multiplier

'gmul'

kParameterTypeDataFixed; Can be a tween

The amount to adjust the green channel value of each pixel by.

Blue multiplier

'bmul'

kParameterTypeDataFixed; Can be a tween

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

'mask'

kParameterTypeDataImage

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

'ksiz'

kParameterTypeDataEnum

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

'ksum'

kParameterTypeDataFixed

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.