Image Effect Property Definitions
[Ofx Properties]


Detailed Description

These are the list of properties used by the Image Effects API.


Defines

#define kOfxImageEffectPropSupportedContexts   "OfxImageEffectPropSupportedContexts"
 Indicates to the host the contexts a plugin can be used in.
#define kOfxImageEffectPropPluginHandle   "OfxImageEffectPropPluginHandle"
 The plugin handle passed to the initial 'describe' action.
#define kOfxImageEffectHostPropIsBackground   "OfxImageEffectHostPropIsBackground"
 Indicates if a host is a background render.
#define kOfxImageEffectPluginPropSingleInstance   "OfxImageEffectPluginPropSingleInstance"
 Indicates whether only one instance of a plugin can exist at the same time.
#define kOfxImageEffectPluginRenderThreadSafety   "OfxImageEffectPluginRenderThreadSafety"
 Indicates how many simultaneous renders the plugin can deal with.
#define kOfxImageEffectRenderUnsafe   "OfxImageEffectRenderUnsafe"
 String used to label render threads as un thread safe, see, kOfxImageEffectPluginRenderThreadSafety.
#define kOfxImageEffectRenderInstanceSafe   "OfxImageEffectRenderInstanceSafe"
 String used to label render threads as instance thread safe, kOfxImageEffectPluginRenderThreadSafety.
#define kOfxImageEffectRenderFullySafe   "OfxImageEffectRenderFullySafe"
 String used to label render threads as fully thread safe, kOfxImageEffectPluginRenderThreadSafety.
#define kOfxImageEffectPluginPropHostFrameThreading   "OfxImageEffectPluginPropHostFrameThreading"
 Indicates whether a plugin lets the host perform per frame SMP threading.
#define kOfxImageEffectPropSupportsMultipleClipDepths   "OfxImageEffectPropMultipleClipDepths"
 Indicates whether a host or plugin can support clips of differing component depths going into/out of an effect.
#define kOfxImageEffectPropSupportsMultipleClipPARs   "OfxImageEffectPropSupportsMultipleClipPARs"
 Indicates whether a host or plugin can support clips of differing pixel aspect ratios going into/out of an effect.
#define kOfxImageEffectPropClipPreferencesSlaveParam   "OfxImageEffectPropClipPreferencesSlaveParam"
 Indicates the set of parameters on which a value change will trigger a change to clip preferences.
#define kOfxImageEffectPropSetableFrameRate   "OfxImageEffectPropSetableFrameRate"
 Indicates whether the host will let a plugin set the frame rate of the output clip.
#define kOfxImageEffectPropSetableFielding   "OfxImageEffectPropSetableFielding"
 Indicates whether the host will let a plugin set the fielding of the output clip.
#define kOfxImageEffectInstancePropSequentialRender   "OfxImageEffectInstancePropSequentialRender"
 Says whether an effect needs to be rendered sequentially or not.
#define kOfxImageEffectPluginPropGrouping   "OfxImageEffectPluginPropGrouping"
 Indicates the effect group for this plugin.
#define kOfxImageEffectPropSupportsOverlays   "OfxImageEffectPropSupportsOverlays"
 Indicates whether a host support image effect ImageEffectOverlays.
#define kOfxImageEffectPluginPropOverlayInteractV1   "OfxImageEffectPluginPropOverlayInteractV1"
 Sets the entry for an effect's overlay interaction.
#define kOfxImageEffectPropSupportsMultiResolution   "OfxImageEffectPropSupportsMultiResolution"
 Indicates whether a plugin or host support multiple resolution images.
#define kOfxImageEffectPropSupportsTiles   "OfxImageEffectPropSupportsTiles"
 Indicates whether a clip, plugin or host supports tiled images.
#define kOfxImageEffectPropInAnalysis   "OfxImageEffectPropInAnalysis"
 Indicates whether an effect is performing an analysis pass.
#define kOfxImageEffectPropTemporalClipAccess   "OfxImageEffectPropTemporalClipAccess"
 Indicates support for random temporal access to images in a clip.
#define kOfxImageEffectPropContext   "OfxImageEffectPropContext"
 Indicates the context a plugin instance has been created for.
#define kOfxImageEffectPropPixelDepth   "OfxImageEffectPropPixelDepth"
 Indicates the type of each component in a clip or image (after any mapping).
#define kOfxImageEffectPropComponents   "OfxImageEffectPropComponents"
 Indicates the current component type in a clip or image (after any mapping).
#define kOfxImagePropUniqueIdentifier   "OfxImagePropUniqueIdentifier"
 Uniquely labels an image.
#define kOfxImageClipPropContinuousSamples   "OfxImageClipPropContinuousSamples"
 Clip and action argument property which indicates that the clip can be sampled continously.
#define kOfxImageClipPropUnmappedPixelDepth   "OfxImageClipPropUnmappedPixelDepth"
 Indicates the type of each component in a clip before any mapping by clip preferences.
#define kOfxImageClipPropUnmappedComponents   "OfxImageClipPropUnmappedComponents"
 Indicates the current 'raw' component type on a clip before any mapping by clip preferences.
#define kOfxImageEffectPropPreMultiplication   "OfxImageEffectPropPreMultiplication"
 Indicates the premultiplication state of a clip or image.
#define kOfxImageOpaque   "OfxImageOpaque"
#define kOfxImagePreMultiplied   "OfxImageAlphaPremultiplied"
#define kOfxImageUnPreMultiplied   "OfxImageAlphaUnPremultiplied"
#define kOfxImageEffectPropSupportedPixelDepths   "OfxImageEffectPropSupportedPixelDepths"
 Indicates the bit depths support by a plug-in or host.
#define kOfxImageEffectPropSupportedComponents   "OfxImageEffectPropSupportedComponents"
 Indicates the components supported by a clip or host,.
#define kOfxImageClipPropOptional   "OfxImageClipPropOptional"
 Indicates if a clip is optional.
#define kOfxImageClipPropIsMask   "OfxImageClipPropIsMask"
 Indicates that a clip is intended to be used as a mask input.
#define kOfxImagePropPixelAspectRatio   "OfxImagePropPixelAspectRatio"
 The pixel aspect ratio of a clip or image.
#define kOfxImageEffectPropFrameRate   "OfxImageEffectPropFrameRate"
 The frame rate of a clip or instance's project.
#define kOfxImageEffectPropUnmappedFrameRate   "OfxImageEffectPropUnmappedFrameRate"
 Indicates the original unmapped frame rate (frames/second) of a clip.
#define kOfxImageEffectPropFrameStep   "OfxImageEffectPropFrameStep"
 The frame step used for a sequence of renders.
#define kOfxImageEffectPropFrameRange   "OfxImageEffectPropFrameRange"
 The frame range over which a clip has images.
#define kOfxImageEffectPropUnmappedFrameRange   "OfxImageEffectPropUnmappedFrameRange"
 The unmaped frame range over which an output clip has images.
#define kOfxImageClipPropConnected   "OfxImageClipPropConnected"
 Says whether the clip is actually connected at the moment.
#define kOfxImageEffectFrameVarying   "OfxImageEffectFrameVarying"
 Indicates whether an effect will generate different images from frame to frame.
#define kOfxImageEffectPropRenderScale   "OfxImageEffectPropRenderScale"
 The proxy render scale currently being applied.
#define kOfxImageEffectPropProjectExtent   "OfxImageEffectPropProjectExtent"
 The extent of the current project in canonical coordinates.
#define kOfxImageEffectPropProjectSize   "OfxImageEffectPropProjectSize"
 The size of the current project in canonical coordinates.
#define kOfxImageEffectPropProjectOffset   "OfxImageEffectPropProjectOffset"
 The offset of the current project in canonical coordinates.
#define kOfxImageEffectPropProjectPixelAspectRatio   "OfxImageEffectPropPixelAspectRatio"
 The pixel aspect ratio of the current project.
#define kOfxImageEffectInstancePropEffectDuration   "OfxImageEffectInstancePropEffectDuration"
 The duration of the effect.
#define kOfxImageClipPropFieldOrder   "OfxImageClipPropFieldOrder"
 Which spatial field occurs temporally first in a frame.
#define kOfxImagePropData   "OfxImagePropData"
 The pixel data pointer of an image.
#define kOfxImagePropBounds   "OfxImagePropBounds"
 The bounds of an image's pixels.
#define kOfxImagePropRegionOfDefinition   "OfxImagePropRegionOfDefinition"
 The full region of definition of an image.
#define kOfxImagePropRowBytes   "OfxImagePropRowBytes"
 The number of bytes in a row of an image.
#define kOfxImagePropField   "OfxImagePropField"
 Which fields are present in the image.
#define kOfxImageEffectPluginPropFieldRenderTwiceAlways   "OfxImageEffectPluginPropFieldRenderTwiceAlways"
 Controls how a plugin renders fielded footage.
#define kOfxImageClipPropFieldExtraction   "OfxImageClipPropFieldExtraction"
 Controls how a plugin fetched fielded imagery from a clip.
#define kOfxImageEffectPropFieldToRender   "OfxImageEffectPropFieldToRender"
 Indicates which field is being rendered.
#define kOfxImageEffectPropRegionOfDefinition   "OfxImageEffectPropRegionOfDefinition"
 Used to indicate the region of definition of a plug-in.
#define kOfxImageEffectPropRegionOfInterest   "OfxImageEffectPropRegionOfInterest"
 The value of a region of interest.
#define kOfxImageEffectPropRenderWindow   "OfxImageEffectPropRenderWindow"
 The region to be rendered.
#define kOfxImageFieldNone   "OfxFieldNone"
#define kOfxImageFieldLower   "OfxFieldLower"
#define kOfxImageFieldUpper   "OfxFieldUpper"
#define kOfxImageFieldBoth   "OfxFieldBoth"
#define kOfxImageFieldSingle   "OfxFieldSingle"
#define kOfxImageFieldDoubled   "OfxFieldDoubled"


Define Documentation

#define kOfxImageClipPropConnected   "OfxImageClipPropConnected"

Says whether the clip is actually connected at the moment.

  • Type - int X 1
  • Property Set - clip instance (read only)
  • Valid Values - This must be one of 0 or 1

An instance may have a clip may not be connected to an object that can produce image data. Use this to find out.

Any clip that is not optional will always be connected during a render action. However, during interface actions, even non optional clips may be unconnected.

#define kOfxImageClipPropContinuousSamples   "OfxImageClipPropContinuousSamples"

Clip and action argument property which indicates that the clip can be sampled continously.

  • Type - int X 1
  • Property Set - clip instance (read only), as an out argument to kOfxImageEffectActionGetClipPreferences action (read/write)
  • Default - 0 as an out argument to the kOfxImageEffectActionGetClipPreferences action
  • Valid Values - This must be one of...
    • 0 if the images can only be sampled at discreet times (eg: the clip is a sequence of frames),
    • 1 if the images can only be sampled continuously (eg: the clip is infact an animating roto spline and can be rendered anywhen).

If this is set to true, then the frame rate of a clip is effectively infinite, so to stop arithmetic errors the frame rate should then be set to 0.

#define kOfxImageClipPropFieldExtraction   "OfxImageClipPropFieldExtraction"

Controls how a plugin fetched fielded imagery from a clip.

  • Type - string X 1
  • Property Set - a clip descriptor (read/write)
  • Default - kOfxImageFieldDoubled
  • Valid Values - This must be one of
    • kOfxImageFieldBoth - fetch a full frame interlaced image
    • kOfxImageFieldSingle - fetch a single field, making a half height image
    • kOfxImageFieldDoubled - fetch a single field, but doubling each line and so making a full height image

This controls how a plug-in wishes to fetch images from a fielded clip, so it can tune it behaviour when it renders fielded footage.

Note that if it fetches kOfxImageFieldSingle and the host stores images natively as both fields interlaced, it can return a single image by doubling rowbytes and tweaking the starting address of the image data. This saves on a buffer copy.

#define kOfxImageClipPropFieldOrder   "OfxImageClipPropFieldOrder"

Which spatial field occurs temporally first in a frame.

  • Type - string X 1
  • Property Set - a clip instance (read only)
  • Valid Values - This must be one of

#define kOfxImageClipPropIsMask   "OfxImageClipPropIsMask"

Indicates that a clip is intended to be used as a mask input.

  • Type - int X 1
  • Property Set - clip descriptor (read/write)
  • Default - 0
  • Valid Values - This must be one of 0 or 1

Set this property on any clip which will only ever have single channel alpha images fetched from it. Typically on an optional clip such as a junk matte in a keyer.

This property acts as a hint to hosts indicating that they could feed the effect from a rotoshape (or similar) rather than an 'ordinary' clip.

#define kOfxImageClipPropOptional   "OfxImageClipPropOptional"

Indicates if a clip is optional.

  • Type - int X 1
  • Property Set - clip descriptor (read/write)
  • Default - 0
  • Valid Values - This must be one of 0 or 1

#define kOfxImageClipPropUnmappedComponents   "OfxImageClipPropUnmappedComponents"

Indicates the current 'raw' component type on a clip before any mapping by clip preferences.

  • Type - string X 1
  • Property Set - clip instance (read only),
  • Valid Values - This must be one of
    • kOfxImageComponentNone (implying a clip is unconnected)
    • kOfxImageComponentRGBA
    • kOfxImageComponentAlpha

#define kOfxImageClipPropUnmappedPixelDepth   "OfxImageClipPropUnmappedPixelDepth"

Indicates the type of each component in a clip before any mapping by clip preferences.

  • Type - string X 1
  • Property Set - clip instance (read only)
  • Valid Values - This must be one of
    • kOfxBitDepthNone (implying a clip is unconnected image)
    • kOfxBitDepthByte
    • kOfxBitDepthShort
    • kOfxBitDepthFloat

This is the actual value of the component depth, before any mapping by clip preferences.

#define kOfxImageEffectFrameVarying   "OfxImageEffectFrameVarying"

Indicates whether an effect will generate different images from frame to frame.

This property indicates whether a plugin will generate a different image from frame to frame, even if no parameters or input image changes. For example a generater that creates random noise pixel at each frame.

#define kOfxImageEffectHostPropIsBackground   "OfxImageEffectHostPropIsBackground"

Indicates if a host is a background render.

  • Type - int X 1
  • Property Set - host descriptor (read only)
  • Valid Values - This must be one of
    • 0 if the host is a foreground host, it may open the effect in an interactive session (or not)
    • 1 if the host is a background 'processing only' host, and the effect will never be opened in an interactive session.

#define kOfxImageEffectInstancePropEffectDuration   "OfxImageEffectInstancePropEffectDuration"

The duration of the effect.

  • Type - double X 1
  • Property Set - a plugin instance (read only)

This contains the duration of the plug-in effect, in frames.

#define kOfxImageEffectInstancePropSequentialRender   "OfxImageEffectInstancePropSequentialRender"

Says whether an effect needs to be rendered sequentially or not.

  • Type - int X 1
  • Property Set - plugin descriptor (read/write) or plugin instance (read/write)
  • Default - 0
  • Valid Values - This must be one of
    • 0 - which means the host can render arbitrary frames of an instance in any order with any number of cloned instances
    • 1 - which means the host should render all frames in an output clip on a single instance from first to last

Some effects have temporal dependancies, some information from from the rendering of frame N-1 is needed to render frame N correctly. This property is set by an effect to indicate such a situation.

During an interactive session a host may attempt to render a frame out of sequence (for example when the user scrubs the current time), and the effect needs to deal with such a situation as best it can to provide feedback to the user.

However if a host caches output, any frame frame generated in random temporal order needs to be considered invalid and needs to be re-rendered when the host finally performs a first to last render of the output sequence.

#define kOfxImageEffectPluginPropFieldRenderTwiceAlways   "OfxImageEffectPluginPropFieldRenderTwiceAlways"

Controls how a plugin renders fielded footage.

  • Type - integer X 1
  • Property Set - a plugin descriptor (read/write)
  • Default - 1
  • Valid Values - This must be one of
    • 0 - the plugin is to have it's render function called twice, only if there is animation in any of it's parameters
    • 1 - the plugin is to have it's render function called twice always

#define kOfxImageEffectPluginPropGrouping   "OfxImageEffectPluginPropGrouping"

Indicates the effect group for this plugin.

  • Type - UTF8 string X 1
  • Property Set - plugin descriptor (read/write)
  • Default - ""

This is purely a user interface hint for the host so it can group related effects on any menus it may have.

#define kOfxImageEffectPluginPropHostFrameThreading   "OfxImageEffectPluginPropHostFrameThreading"

Indicates whether a plugin lets the host perform per frame SMP threading.

  • Type - int X 1
  • Property Set - plugin descriptor (read/write)
  • Default - 1
  • Valid Values - This must be one of
    • 0 - which means that the plugin will perform any per frame SMP threading
    • 1 - which means the host can call an instance's render function simultaneously at the same frame, but with different windows to render.

#define kOfxImageEffectPluginPropOverlayInteractV1   "OfxImageEffectPluginPropOverlayInteractV1"

Sets the entry for an effect's overlay interaction.

  • Type - pointer X 1
  • Property Set - plugin descriptor (read/write)
  • Default - NULL
  • Valid Values - must point to an OfxPluginEntryPoint

The entry point pointed to must be one that handles custom interaction actions.

#define kOfxImageEffectPluginPropSingleInstance   "OfxImageEffectPluginPropSingleInstance"

Indicates whether only one instance of a plugin can exist at the same time.

  • Type - int X 1
  • Property Set - plugin descriptor (read/write)
  • Default - 0
  • Valid Values - This must be one of
    • 0 - which means multiple instances can exist simultaneously,
    • 1 - which means only one instance can exist at any one time.

Some plugins, for whatever reason, may only be able to have a single instance in existance at any one time. This plugin property is used to indicate that.

#define kOfxImageEffectPluginRenderThreadSafety   "OfxImageEffectPluginRenderThreadSafety"

Indicates how many simultaneous renders the plugin can deal with.

#define kOfxImageEffectPropClipPreferencesSlaveParam   "OfxImageEffectPropClipPreferencesSlaveParam"

Indicates the set of parameters on which a value change will trigger a change to clip preferences.

  • Type - string X N
  • Property Set - plugin descriptor (read/write)
  • Default - none set
  • Valid Values - the name of any described parameter

The plugin uses this to inform the host of the subset of parameters that affect the effect's clip preferences. A value change in any one of these will trigger a call to the clip preferences action.

The plugin can be slaved to multiple parameters (setting index 0, then index 1 etc...)

#define kOfxImageEffectPropComponents   "OfxImageEffectPropComponents"

Indicates the current component type in a clip or image (after any mapping).

  • Type - string X 1
  • Property Set - clip instance (read only), image instance (read only)
  • Valid Values - This must be one of
    • kOfxImageComponentNone (implying a clip is unconnected, not valid for an image)
    • kOfxImageComponentRGBA
    • kOfxImageComponentAlpha

Note that for a clip, this is the value set by the clip preferences action, not the raw 'actual' value of the clip.

#define kOfxImageEffectPropContext   "OfxImageEffectPropContext"

Indicates the context a plugin instance has been created for.

#define kOfxImageEffectPropFieldToRender   "OfxImageEffectPropFieldToRender"

Indicates which field is being rendered.

  • Type - string X 1
  • Property Set - a read only in argument property to kOfxImageEffectActionRender and kOfxImageEffectActionIsIdentity
  • Valid Values - this must be one of
    • kOfxImageFieldNone - there are no fields to deal with, all images are full frame
    • kOfxImageFieldBoth - the imagery is fielded and both scan lines should be renderred
    • kOfxImageFieldLower - the lower field is being rendered (lines 0,2,4...)
    • kOfxImageFieldUpper - the upper field is being rendered (lines 1,3,5...)

#define kOfxImageEffectPropFrameRange   "OfxImageEffectPropFrameRange"

The frame range over which a clip has images.

  • Type - double X 2
  • Property Set - clip instance (read only)

Dimension 0 is the first frame for which the clip can produce valid data.

Dimension 1 is the last frame for which the clip can produce valid data.

#define kOfxImageEffectPropFrameRate   "OfxImageEffectPropFrameRate"

The frame rate of a clip or instance's project.

For an input clip this is the frame rate of the clip.

For an output clip, the frame rate mapped via pixel preferences.

For an instance, this is the frame rate of the project the effect is in.

For the outargs property in the kOfxImageEffectActionGetClipPreferences action, it is used to change the frame rate of the ouput clip.

#define kOfxImageEffectPropFrameStep   "OfxImageEffectPropFrameStep"

The frame step used for a sequence of renders.

  • Type - double X 1
  • Property Set - an in argument for the kOfxImageEffectActionBeginSequenceRender action (read only)
  • Valid Values - can be any positive value, but typically
    • 1 for frame based material
    • 0.5 for field based material

#define kOfxImageEffectPropInAnalysis   "OfxImageEffectPropInAnalysis"

Indicates whether an effect is performing an analysis pass.

  • Type - int X 1
  • Property Set - plugin instance (read/write)
  • Default - to 0
  • Valid Values - This must be one of 0 or 1

This feature is likely to be deprecated in future releases.

#define kOfxImageEffectPropPixelDepth   "OfxImageEffectPropPixelDepth"

Indicates the type of each component in a clip or image (after any mapping).

  • Type - string X 1
  • Property Set - clip instance (read only), image instance (read only)
  • Valid Values - This must be one of
    • kOfxBitDepthNone (implying a clip is unconnected, not valid for an image)
    • kOfxBitDepthByte
    • kOfxBitDepthShort
    • kOfxBitDepthFloat

Note that for a clip, this is the value set by the clip preferences action, not the raw 'actual' value of the clip.

#define kOfxImageEffectPropPluginHandle   "OfxImageEffectPropPluginHandle"

The plugin handle passed to the initial 'describe' action.

  • Type - pointer X 1
  • Property Set - plugin instance, (read only)

This value will be the same for all instances of a plugin.

#define kOfxImageEffectPropPreMultiplication   "OfxImageEffectPropPreMultiplication"

Indicates the premultiplication state of a clip or image.

  • Type - string X 1
  • Property Set - clip instance (read only), image instance (read only), out args property in the kOfxImageEffectActionGetClipPreferences action (read/write)
  • Valid Values - This must be one of
    • kOfxImageOpaque - the image is opaque and so has no premultiplication state
    • kOfxImagePreMultiplied - the image is premultiplied by it's alpha
    • kOfxImageUnPreMultiplied - the image is unpremultiplied

See the documentation on clip preferences for more details on how this is used with the kOfxImageEffectActionGetClipPreferences action.

#define kOfxImageEffectPropProjectExtent   "OfxImageEffectPropProjectExtent"

The extent of the current project in canonical coordinates.

  • Type - double X 2
  • Property Set - a plugin instance (read only)

The extent is the size of the 'output' for the current project. See ProjectCoordinateSystems for more infomation on the project extent.

The extent is in canonical coordinates and only returns the top right position, as the extent is always rooted at 0,0.

For example a PAL SD project would have an extent of 768, 576.

#define kOfxImageEffectPropProjectOffset   "OfxImageEffectPropProjectOffset"

The offset of the current project in canonical coordinates.

  • Type - double X 2
  • Property Set - a plugin instance (read only)

The offset is related to the kOfxImageEffectPropProjectSize and is the offset from the origin of the project 'subwindow'.

For example for a PAL SD project that is in letterbox form, the project offset is the offset to the bottom left hand corner of the letter box.

The project offset is in canonical coordinates.

See ProjectCoordinateSystems for more infomation on the project extent.

#define kOfxImageEffectPropProjectPixelAspectRatio   "OfxImageEffectPropPixelAspectRatio"

The pixel aspect ratio of the current project.

  • Type - double X 1
  • Property Set - a plugin instance (read only)

#define kOfxImageEffectPropProjectSize   "OfxImageEffectPropProjectSize"

The size of the current project in canonical coordinates.

  • Type - double X 2
  • Property Set - a plugin instance (read only)

The size of a project is a sub set of the kOfxImageEffectPropProjectExtent. For example a project may be a PAL SD project, but only be a letter-box within that. The project size is the size of this sub window.

The project size is in canonical coordinates.

See ProjectCoordinateSystems for more infomation on the project extent.

#define kOfxImageEffectPropRegionOfDefinition   "OfxImageEffectPropRegionOfDefinition"

Used to indicate the region of definition of a plug-in.

The order of the values is x1, y1, x2, y2.

This will be in CanonicalCoordinates

#define kOfxImageEffectPropRegionOfInterest   "OfxImageEffectPropRegionOfInterest"

The value of a region of interest.

A host passes this value into the region of interest action to specify the region it is interested in rendering.

The order of the values is x1, y1, x2, y2.

This will be in CanonicalCoordinates.

#define kOfxImageEffectPropRenderScale   "OfxImageEffectPropRenderScale"

The proxy render scale currently being applied.

This should be applied to any spatial parameters to position them correctly. Not that the 'x' value does not include any pixel aspect ratios.

#define kOfxImageEffectPropRenderWindow   "OfxImageEffectPropRenderWindow"

The region to be rendered.

The order of the values is x1, y1, x2, y2.

This will be in PixelCoordinates

#define kOfxImageEffectPropSetableFielding   "OfxImageEffectPropSetableFielding"

Indicates whether the host will let a plugin set the fielding of the output clip.

  • Type - int X 1
  • Property Set - host descriptor (read only)
  • Valid Values - This must be one of
    • 0 - in which case the plugin may not change the fielding of the output clip,
    • 1 - which means a plugin is able to change the output clip's fielding in the kOfxImageEffectActionGetClipPreferences action.

See ImageEffectClipPreferences.

#define kOfxImageEffectPropSetableFrameRate   "OfxImageEffectPropSetableFrameRate"

Indicates whether the host will let a plugin set the frame rate of the output clip.

  • Type - int X 1
  • Property Set - host descriptor (read only)
  • Valid Values - This must be one of
    • 0 - in which case the plugin may not change the frame rate of the output clip,
    • 1 - which means a plugin is able to change the output clip's frame rate in the kOfxImageEffectActionGetClipPreferences action.

See ImageEffectClipPreferences.

If a clip can be continously sampled, the frame rate will be set to 0.

#define kOfxImageEffectPropSupportedComponents   "OfxImageEffectPropSupportedComponents"

Indicates the components supported by a clip or host,.

  • Type - string X N
  • Property Set - host descriptor (read only), clip descriptor (read/write)
  • Valid Values - This must be one of
    • kOfxImageComponentNone (implying a clip is unconnected)
    • kOfxImageComponentRGBA
    • kOfxImageComponentAlpha

This list of strings indicate what component types are supported by a host or are expected as input to a clip.

The default for a clip descriptor is to have none set, the plugin must define at least one in it's define function

#define kOfxImageEffectPropSupportedContexts   "OfxImageEffectPropSupportedContexts"

Indicates to the host the contexts a plugin can be used in.

#define kOfxImageEffectPropSupportedPixelDepths   "OfxImageEffectPropSupportedPixelDepths"

Indicates the bit depths support by a plug-in or host.

  • Type - string X N
  • Property Set - host descriptor (read only), plugin descriptor (read/write)
  • Default - plugin descriptor none set
  • Valid Values - This must be one of
    • kOfxBitDepthNone (implying a clip is unconnected, not valid for an image)
    • kOfxBitDepthByte
    • kOfxBitDepthShort
    • kOfxBitDepthFloat

The default for a plugin is to have none set, the plugin must define at least one in it's describe action.

#define kOfxImageEffectPropSupportsMultipleClipDepths   "OfxImageEffectPropMultipleClipDepths"

Indicates whether a host or plugin can support clips of differing component depths going into/out of an effect.

  • Type - int X 1
  • Property Set - plugin descriptor (read/write), host descriptor (read only)
  • Default - 0 for a plugin
  • Valid Values - This must be one of
    • 0 - in which case the host or plugin does not support clips of multiple pixel depths,
    • 1 - which means a host or plugin is able to to deal with clips of multiple pixel depths,

If a host indicates that it can support multiple pixels depths, then it will allow the plugin to explicitly set the output clip's pixel depth in the kOfxImageEffectActionGetClipPreferences action. See ImageEffectClipPreferences.

#define kOfxImageEffectPropSupportsMultipleClipPARs   "OfxImageEffectPropSupportsMultipleClipPARs"

Indicates whether a host or plugin can support clips of differing pixel aspect ratios going into/out of an effect.

  • Type - int X 1
  • Property Set - plugin descriptor (read/write), host descriptor (read only)
  • Default - 0 for a plugin
  • Valid Values - This must be one of
    • 0 - in which case the host or plugin does not support clips of multiple pixel aspect ratios
    • 1 - which means a host or plugin is able to to deal with clips of multiple pixel aspect ratios

If a host indicates that it can support multiple pixel aspect ratios, then it will allow the plugin to explicitly set the output clip's aspect ratio in the kOfxImageEffectActionGetClipPreferences action. See ImageEffectClipPreferences.

#define kOfxImageEffectPropSupportsMultiResolution   "OfxImageEffectPropSupportsMultiResolution"

Indicates whether a plugin or host support multiple resolution images.

  • Type - int X 1
  • Property Set - host descriptor (read only), plugin descriptor (read/write)
  • Default - 1 for plugins
  • Valid Values - This must be one of
    • 0 - the plugin or host does not support multiple resolutions
    • 1 - the plugin or host does support multiple resolutions

Multiple resolution images mean...

  • input and output images can be of any size
  • input and output images can be offset from the origin

#define kOfxImageEffectPropSupportsOverlays   "OfxImageEffectPropSupportsOverlays"

Indicates whether a host support image effect ImageEffectOverlays.

  • Type - int X 1
  • Property Set - host descriptor (read only)
  • Valid Values - This must be one of
    • 0 - the host won't allow a plugin to draw a GUI over the output image,
    • 1 - the host will allow a plugin to draw a GUI over the output image.

#define kOfxImageEffectPropSupportsTiles   "OfxImageEffectPropSupportsTiles"

Indicates whether a clip, plugin or host supports tiled images.

  • Type - int X 1
  • Property Set - host descriptor (read only), plugin descriptor (read/write), clip descriptor (read/write)
  • Default - to 1 for a plugin and clip
  • Valid Values - This must be one of 0 or 1

Tiled images mean that input or output images can contain pixel data that is only a subset of their full RoD.

If a clip or plugin does not support tiled images, then the host should supply full RoD images to the effect whenever it fetches one.

#define kOfxImageEffectPropTemporalClipAccess   "OfxImageEffectPropTemporalClipAccess"

Indicates support for random temporal access to images in a clip.

  • Type - int X 1
  • Property Set - host descriptor (read only), plugin descriptor (read/write), clip descriptor (read/write)
  • Default - to 0 for a plugin and clip
  • Valid Values - This must be one of 0 or 1

On a host, it indicates whether the host supports temporal access to images.

On a plugin, indicates if the plugin needs temporal access to images.

On a clip, it indicates that the clip needs temporal access to images.

#define kOfxImageEffectPropUnmappedFrameRange   "OfxImageEffectPropUnmappedFrameRange"

The unmaped frame range over which an output clip has images.

  • Type - double X 2
  • Property Set - clip instance (read only)

Dimension 0 is the first frame for which the clip can produce valid data.

Dimension 1 is the last frame for which the clip can produce valid data.

If a plugin changes the output frame rate in the pixel preferences action, it will affect the frame range of the output clip, this property allows a plugin to get to the original value.

#define kOfxImageEffectPropUnmappedFrameRate   "OfxImageEffectPropUnmappedFrameRate"

Indicates the original unmapped frame rate (frames/second) of a clip.

  • Type - double X 1
  • Property Set - clip instance (read only),

If a plugin changes the output frame rate in the pixel preferences action, this property allows a plugin to get to the original value.

#define kOfxImageEffectRenderFullySafe   "OfxImageEffectRenderFullySafe"

String used to label render threads as fully thread safe, kOfxImageEffectPluginRenderThreadSafety.

#define kOfxImageEffectRenderInstanceSafe   "OfxImageEffectRenderInstanceSafe"

String used to label render threads as instance thread safe, kOfxImageEffectPluginRenderThreadSafety.

#define kOfxImageEffectRenderUnsafe   "OfxImageEffectRenderUnsafe"

String used to label render threads as un thread safe, see, kOfxImageEffectPluginRenderThreadSafety.

#define kOfxImageFieldBoth   "OfxFieldBoth"

String used to label both fields of fielded imagery, indicating interlaced footage

#define kOfxImageFieldDoubled   "OfxFieldDoubled"

String used to label an image that consists of a single field, but each scan line is double, and so is full height

#define kOfxImageFieldLower   "OfxFieldLower"

String used to label the lower field (scan lines 0,2,4...) of fielded imagery

#define kOfxImageFieldNone   "OfxFieldNone"

String used to label imagery as having no fields

#define kOfxImageFieldSingle   "OfxFieldSingle"

String used to label an image that consists of a single field, and so is half height

#define kOfxImageFieldUpper   "OfxFieldUpper"

String used to label the upper field (scan lines 1,3,5...) of fielded imagery

#define kOfxImageOpaque   "OfxImageOpaque"

Used to flag the alpha of an image as opaque

#define kOfxImagePreMultiplied   "OfxImageAlphaPremultiplied"

Used to flag an image as premultiplied

#define kOfxImagePropBounds   "OfxImagePropBounds"

The bounds of an image's pixels.

  • Type - integer X 4
  • Property Set - an image instance (read only)

The bounds, in PixelCoordinates, are of the addressable pixels in an image's data pointer.

The order of the values is x1, y1, x2, y2.

X values are x1 <= X < x2 Y values are y1 <= Y < y2

For less than full frame images, the pixel bounds will be contained by the kOfxImagePropRegionOfDefinition bounds.

#define kOfxImagePropData   "OfxImagePropData"

The pixel data pointer of an image.

  • Type - pointer X 1
  • Property Set - an image instance (read only)

This property contains a pointer to memory that is the lower left hand corner of an image.

#define kOfxImagePropField   "OfxImagePropField"

Which fields are present in the image.

  • Type - string X 1
  • Property Set - an image instance (read only)
  • Valid Values - This must be one of

#define kOfxImagePropPixelAspectRatio   "OfxImagePropPixelAspectRatio"

The pixel aspect ratio of a clip or image.

#define kOfxImagePropRegionOfDefinition   "OfxImagePropRegionOfDefinition"

The full region of definition of an image.

  • Type - integer X 4
  • Property Set - an image instance (read only)

An image's region of definition, in PixelCoordinates, is the full frame area of the image plane that the image covers.

The order of the values is x1, y1, x2, y2.

X values are x1 <= X < x2 Y values are y1 <= Y < y2

The kOfxImagePropBounds property contains the actuall addressable pixels in an image, which may be less than it's full region of definition.

#define kOfxImagePropRowBytes   "OfxImagePropRowBytes"

The number of bytes in a row of an image.

  • Type - integer X 1
  • Property Set - an image instance (read only)

For various alignment reasons, a row of pixels may need to be padded at the end with several bytes before the next row starts in memory.

This property indicates the number of bytes in a row of pixels. This will be at least sizeof(PIXEL) * (bounds.x2-bounds.x1). Where bounds is fetched from the kOfxImagePropBounds property.

Note that row bytes can be negative, which allows hosts with a native top down row order to pass image into OFX without having to repack pixels.

#define kOfxImagePropUniqueIdentifier   "OfxImagePropUniqueIdentifier"

Uniquely labels an image.

  • Type - ASCII string X 1
  • Property Set - image instance (read only)

This is host set and allows a plug-in to differentiate between images. This is especially useful if a plugin caches analysed information about the image (for example motion vectors). The plugin can label the cached information with this identifier. If a user connects a different clip to the analysed input, or the image has changed in some way then the plugin can detect this via an identifier change and re-evaluate the cached information.

#define kOfxImageUnPreMultiplied   "OfxImageAlphaUnPremultiplied"

Used to flag an image as unpremultiplied


Copyright 2003-2004 The Foundry Visonmongers Ltd. All rights reserved.
Copying and redistribution with or without modification, is permitted provided that the following conditions are met:
  1. Redistributions of the document must retain the above copyright notice and this list of conditions.
  2. Neither the name of The Foundry Visonmongers Ltd nor names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
Automatic documentation generated by DOxygen.