		ImageDescriptionHandle		myDesc = NULL;

#if USES_MAKE_IMAGE_DESC_FOR_EFFECT

		OSErr						myErr = noErr;
		
		// create a new sample description for the effect - we use
		// the MakeImageDescriptionForEffect function if we want to
		// create stacked effects, where one effect track acts as a
		// source for another effect
		myErr = MakeImageDescriptionForEffect(myEffectCode, &myDesc);
		if (myErr != noErr)
			BailError(myErr);
#else
		// create a new sample description - in this case, we'll construct
		// the image description ourselves using the NewHandleClear function,
		// since we're not going to create a stacked effect (in which case
		// you'd need to use MakeImageDescriptionForEffect as described above)
		myDesc = (ImageDescriptionHandle)NewHandleClear(sizeof(ImageDescription));
		BailNil(myDesc);
		
		(**myDesc).idSize = sizeof(ImageDescription);
		(**myDesc).cType = myEffectCode;
		(**myDesc).hRes = 72L << 16;
		(**myDesc).vRes = 72L << 16;
		(**myDesc).dataSize = 0L;
		(**myDesc).frameCount = 1;
		(**myDesc).depth = 0;
		(**myDesc).clutID = -1;
#endif
		// fill in the fields of the sample description
		(**myDesc).vendor = kAppleManufacturer;
		(**myDesc).temporalQuality = codecNormalQuality;
		(**myDesc).spatialQuality = codecNormalQuality;
		(**myDesc).width = videoTrackFXWidth >> 16;
		(**myDesc).height = videoTrackFXHeight >> 16;
